Expand the ide toolbar to include the user and a back button
This commit is contained in:
@@ -43,6 +43,11 @@ const IdeCascadeStudio = ({ part, saveCode, loading, error }) => {
|
|||||||
})
|
})
|
||||||
}}
|
}}
|
||||||
onExport={(type) => threejsViewport[`saveShape${type}`]()}
|
onExport={(type) => threejsViewport[`saveShape${type}`]()}
|
||||||
|
userNamePart={{
|
||||||
|
userName: part.user.userName,
|
||||||
|
partTitle: part.title,
|
||||||
|
image: part?.user?.image,
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ export const QUERY = gql`
|
|||||||
createdAt
|
createdAt
|
||||||
user {
|
user {
|
||||||
id
|
id
|
||||||
|
userName
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
import { useState } from 'react'
|
import { useState } from 'react'
|
||||||
import Popover from '@material-ui/core/Popover'
|
import Popover from '@material-ui/core/Popover'
|
||||||
|
import { Link, routes, navigate } from '@redwoodjs/router'
|
||||||
|
|
||||||
import Button from 'src/components/Button'
|
import Button from 'src/components/Button'
|
||||||
|
import ImageUploader from 'src/components/ImageUploader'
|
||||||
|
|
||||||
const IdeToolbar = ({ canEdit, isChanges, onSave, onExport }) => {
|
const IdeToolbar = ({ canEdit, isChanges, onSave, onExport, userNamePart }) => {
|
||||||
const [anchorEl, setAnchorEl] = useState(null)
|
const [anchorEl, setAnchorEl] = useState(null)
|
||||||
|
|
||||||
const handleClick = (event) => {
|
const handleClick = (event) => {
|
||||||
@@ -22,6 +24,32 @@ const IdeToolbar = ({ canEdit, isChanges, onSave, onExport }) => {
|
|||||||
id="cadhub-ide-toolbar"
|
id="cadhub-ide-toolbar"
|
||||||
className="flex bg-gradient-to-r from-gray-900 to-indigo-900 pt-1"
|
className="flex bg-gradient-to-r from-gray-900 to-indigo-900 pt-1"
|
||||||
>
|
>
|
||||||
|
<div className="flex items-center">
|
||||||
|
<div className="h-8 w-8 ml-4">
|
||||||
|
<ImageUploader
|
||||||
|
className="rounded-full object-cover"
|
||||||
|
onImageUpload={() => {}}
|
||||||
|
aspectRatio={1}
|
||||||
|
imageUrl={userNamePart?.image}
|
||||||
|
width={80}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div className="text-indigo-400 ml-2 mr-8">
|
||||||
|
<Link to={routes.user2({ userName: userNamePart?.userName })}>
|
||||||
|
{userNamePart?.userName}
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<Button
|
||||||
|
iconName="arrow-left"
|
||||||
|
className="ml-3 shadow-md hover:shadow-lg border-indigo-600 border-2 border-opacity-0 hover:border-opacity-100 bg-indigo-800 text-indigo-200"
|
||||||
|
shouldAnimateHover
|
||||||
|
onClick={() => {
|
||||||
|
navigate(routes.part2(userNamePart))
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Part Profile
|
||||||
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
iconName={canEdit ? 'save' : 'fork'}
|
iconName={canEdit ? 'save' : 'fork'}
|
||||||
className="ml-3 shadow-md hover:shadow-lg border-indigo-600 border-2 border-opacity-0 hover:border-opacity-100 bg-indigo-800 text-indigo-200"
|
className="ml-3 shadow-md hover:shadow-lg border-indigo-600 border-2 border-opacity-0 hover:border-opacity-100 bg-indigo-800 text-indigo-200"
|
||||||
|
|||||||
@@ -1,5 +1,20 @@
|
|||||||
const Svg = ({ name, className: className2, strokeWidth = 2 }) => {
|
const Svg = ({ name, className: className2, strokeWidth = 2 }) => {
|
||||||
const svgs = {
|
const svgs = {
|
||||||
|
'arrow-left': (
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
fill="none"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
stroke="currentColor"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
strokeLinecap="round"
|
||||||
|
strokeLinejoin="round"
|
||||||
|
strokeWidth={strokeWidth}
|
||||||
|
d="M10 19l-7-7m0 0l7-7m-7 7h18"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
),
|
||||||
'chevron-down': (
|
'chevron-down': (
|
||||||
<svg
|
<svg
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
|||||||
Reference in New Issue
Block a user