feat(workspace): Add Recents/Trash pages and move Linear/Node buttons to header

- Add RecentsView with recently accessed items list
- Add TrashView with multi-select, restore, and delete actions
- Add Recents and Trash menu items to workspace sidebar
- Move Linear/Node buttons from sidebar to page headers (right side)
- Add Linear/Node buttons to all workspace views (Dashboard, Workflows, Assets, Models)
- Remove Create section from sidebar navigation
- Add routes for recents and trash pages

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
orkhanart
2025-11-29 06:48:33 -08:00
parent 5e178bb2ce
commit a3a12999a9
15 changed files with 759 additions and 250 deletions

View File

@@ -27,16 +27,11 @@ const router = useRouter()
const isTeam = computed(() => props.workspaceId === 'team')
const userMenuGroups = computed<MenuGroup[]>(() => [
{
label: 'Create',
items: [
{ label: 'Linear Mode', icon: 'pi pi-bolt', route: `/${props.workspaceId}/create` }
]
},
{
label: 'Overview',
items: [
{ label: 'Dashboard', icon: 'pi pi-home', route: `/${props.workspaceId}` },
{ label: 'Recents', icon: 'pi pi-clock', route: `/${props.workspaceId}/recents` },
{ label: 'Projects', icon: 'pi pi-folder', route: `/${props.workspaceId}/projects` },
{ label: 'Canvases', icon: 'pi pi-objects-column', route: `/${props.workspaceId}/canvases` }
]
@@ -46,22 +41,18 @@ const userMenuGroups = computed<MenuGroup[]>(() => [
items: [
{ label: 'Workflows', icon: 'pi pi-sitemap', route: `/${props.workspaceId}/workflows` },
{ label: 'Assets', icon: 'pi pi-images', route: `/${props.workspaceId}/assets` },
{ label: 'Models', icon: 'pi pi-box', route: `/${props.workspaceId}/models` }
{ label: 'Models', icon: 'pi pi-box', route: `/${props.workspaceId}/models` },
{ label: 'Trash', icon: 'pi pi-trash', route: `/${props.workspaceId}/trash` }
]
}
])
const teamMenuGroups = computed<MenuGroup[]>(() => [
{
label: 'Create',
items: [
{ label: 'Linear Mode', icon: 'pi pi-bolt', route: `/${props.workspaceId}/create` }
]
},
{
label: 'Overview',
items: [
{ label: 'Dashboard', icon: 'pi pi-home', route: `/${props.workspaceId}` },
{ label: 'Recents', icon: 'pi pi-clock', route: `/${props.workspaceId}/recents` },
{ label: 'Projects', icon: 'pi pi-folder', route: `/${props.workspaceId}/projects` },
{ label: 'Canvases', icon: 'pi pi-objects-column', route: `/${props.workspaceId}/canvases` }
]
@@ -71,7 +62,8 @@ const teamMenuGroups = computed<MenuGroup[]>(() => [
items: [
{ label: 'Workflows', icon: 'pi pi-sitemap', route: `/${props.workspaceId}/workflows` },
{ label: 'Assets', icon: 'pi pi-images', route: `/${props.workspaceId}/assets` },
{ label: 'Models', icon: 'pi pi-box', route: `/${props.workspaceId}/models` }
{ label: 'Models', icon: 'pi pi-box', route: `/${props.workspaceId}/models` },
{ label: 'Trash', icon: 'pi pi-trash', route: `/${props.workspaceId}/trash` }
]
},
{