Changed to new Layout System

This commit is contained in:
2024-02-23 22:34:39 +01:00
parent 0d86e4c4f9
commit 3924fd79d2
10 changed files with 260 additions and 204 deletions

View File

@@ -1,5 +1,7 @@
<script setup>
import TenantDropdown from "~/components/TenantDropdown.vue";
const dataStore = useDataStore()
const colorMode = useColorMode()
const { isHelpSlideoverOpen } = useDashboard()
@@ -344,11 +346,11 @@ let links = [
},
]
},
{
/*{
label: "E-Mail",
to: "/email",
icon: "i-heroicons-envelope"
},
},*/
{
label: "Kontakte",
defaultOpen: false,
@@ -456,22 +458,76 @@ let links = [
},
]
const groups = [{
key: 'links',
label: 'Go to',
commands: links.map(link => ({ ...link, shortcuts: link.tooltip?.shortcuts }))
}, {
key: 'code',
label: 'Code',
commands: [{
id: 'source',
label: 'View page source',
icon: 'i-simple-icons-github',
click: () => {
window.open(`https://github.com/nuxt-ui-pro/dashboard/blob/main/pages${route.path === '/' ? '/index' : route.path}.vue`, '_blank')
const actions = [
{
id: 'new-customer',
label: 'Kunde hinzufügen',
icon: 'i-heroicons-user-group',
to: "/customers/create" ,
},
{
id: 'new-vendor',
label: 'Lieferant hinzufügen',
icon: 'i-heroicons-truck',
to: "/vendors/create" ,
},
{
id: 'new-contact',
label: 'Ansprechpartner hinzufügen',
icon: 'i-heroicons-user-group',
to: "/contacts/create" ,
},
{
id: 'new-task',
label: 'Aufgabe hinzufügen',
icon: 'i-heroicons-rectangle-stack',
to: "/tasks/create" ,
},
{
id: 'new-plant',
label: 'Objekt hinzufügen',
icon: 'i-heroicons-clipboard-document',
to: "/plants/create" ,
},
{
id: 'new-product',
label: 'Artikel hinzufügen',
icon: 'i-heroicons-puzzle-piece',
to: "/products/create" ,
}
]
const groups = computed(() =>
[{
key: 'actions',
commands: actions
},{
key: "customers",
label: "Kunden",
commands: dataStore.customers.map(item => { return {id: item.id, label: item.name, to: `/customers/show/${item.id}`}})
},{
key: "vendors",
label: "Lieferanten",
commands: dataStore.vendors.map(item => { return {id: item.id, label: item.name, to: `/vendors/show/${item.id}`}})
},{
key: "contacts",
label: "Ansprechpartner",
commands: dataStore.contacts.map(item => { return {id: item.id, label: item.fullName, to: `/contacts/show/${item.id}`}})
},{
key: "products",
label: "Artikel",
commands: dataStore.products.map(item => { return {id: item.id, label: item.name, to: `/products/show/${item.id}`}})
},{
key: "tasks",
label: "Aufgaben",
commands: dataStore.tasks.map(item => { return {id: item.id, label: item.name, to: `/tasks/show/${item.id}`}})
},{
key: "plants",
label: "Objekte",
commands: dataStore.plants.map(item => { return {id: item.id, label: item.name, to: `/plants/show/${item.id}`}})
}
}]
}]
].filter(Boolean))
const footerLinks = [/*{
label: 'Invite people',
icon: 'i-heroicons-plus',
@@ -491,23 +547,17 @@ const footerLinks = [/*{
<UDashboardPanel :width="250" :resizable="{ min: 200, max: 300 }" collapsible>
<UDashboardNavbar class="!border-transparent" :ui="{ left: 'flex-1' }">
<template #left>
<TeamsDropdown />
<TenantDropdown />
</template>
</UDashboardNavbar>
<UDashboardSidebar id="sidebar">
<template #header>
<UDashboardSearchButton />
<UDashboardSearchButton label="Suche..."/>
</template>
<UDashboardSidebarLinks :links="links" />
<!--
<UDivider />
<UDashboardSidebarLinks :links="[{ label: 'Colors', draggable: true, children: colors }]" @update:links="colors => defaultColors = colors" />
-->
<div class="flex-1" />
<UDashboardSidebarLinks :links="footerLinks" />