From f00117ed26e68dca9ba8951b03571b7c2a97f43e Mon Sep 17 00:00:00 2001 From: Daniel Stock Date: Fri, 14 Nov 2025 17:45:57 +0100 Subject: [PATCH] Move user menu to sidebar, fixes #35 --- resources/js/components/AppContent.vue | 21 -- resources/js/components/AppHeader.vue | 25 ++ resources/js/components/AppSidebar.vue | 21 +- resources/js/components/NavFooter.vue | 42 +-- resources/js/components/UserInfo.vue | 21 +- resources/js/components/UserMenuContent.vue | 40 ++- .../js/components/documents/InvoiceDialog.vue | 12 +- resources/js/layouts/AppLayout.vue | 26 +- resources/js/pages/Achievements.vue | 28 +- resources/js/pages/Customers.vue | 273 +++++++++--------- resources/js/pages/Dashboard.vue | 6 +- resources/js/pages/Invoices.vue | 119 ++++---- resources/js/pages/settings/Profile.vue | 59 +--- 13 files changed, 328 insertions(+), 365 deletions(-) delete mode 100644 resources/js/components/AppContent.vue create mode 100644 resources/js/components/AppHeader.vue diff --git a/resources/js/components/AppContent.vue b/resources/js/components/AppContent.vue deleted file mode 100644 index 96e3d2a..0000000 --- a/resources/js/components/AppContent.vue +++ /dev/null @@ -1,21 +0,0 @@ - - - diff --git a/resources/js/components/AppHeader.vue b/resources/js/components/AppHeader.vue new file mode 100644 index 0000000..4bb1864 --- /dev/null +++ b/resources/js/components/AppHeader.vue @@ -0,0 +1,25 @@ + + + \ No newline at end of file diff --git a/resources/js/components/AppSidebar.vue b/resources/js/components/AppSidebar.vue index 4670f21..92789a3 100644 --- a/resources/js/components/AppSidebar.vue +++ b/resources/js/components/AppSidebar.vue @@ -5,11 +5,14 @@ import { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarTrigger } import { dashboard, crm, offers, invoices, newInvoice, timesheets, customers, leads, achievements } from '@/routes'; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip' import { Kbd, KbdGroup } from '@/components/ui/kbd' -import { edit } from '@/routes/profile'; import { type NavItem, type NavGroup } from '@/types'; -import { Link } from '@inertiajs/vue3'; -import { Kanban, Euro, Contact, Trophy, Calculator, Settings, Target, BookUser, Timer, Headset, IdCard, Plus } from 'lucide-vue-next'; +import { InertiaLinkProps, Link, usePage } from '@inertiajs/vue3'; +import { Kanban, Euro, Trophy, Calculator, BookUser, Timer, Headset, Plus } from 'lucide-vue-next'; import AppLogo from './AppLogo.vue'; +import { computed } from 'vue'; + +const page = usePage(); +const auth = computed(() => page.props.auth); const mainNavGroups: NavGroup[] = [ { @@ -72,14 +75,6 @@ const mainNavGroups: NavGroup[] = [ } ]; -const footerNavItems: NavItem[] = [ - { - title: 'Einstellungen', - href: edit(), - icon: Settings, - color: 'text-gray-500', - } -]; \ No newline at end of file diff --git a/resources/js/components/UserInfo.vue b/resources/js/components/UserInfo.vue index 24aae20..9bae22e 100644 --- a/resources/js/components/UserInfo.vue +++ b/resources/js/components/UserInfo.vue @@ -3,6 +3,7 @@ import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'; import { useInitials } from '@/composables/useInitials'; import type { User } from '@/types'; import { computed } from 'vue'; +import { Kbd, KbdGroup } from '@/components/ui/kbd' interface Props { user: User; @@ -20,15 +21,17 @@ const showAvatar = computed(() => props.user.avatar && props.user.avatar !== '') diff --git a/resources/js/components/UserMenuContent.vue b/resources/js/components/UserMenuContent.vue index 194a7ba..3141af2 100644 --- a/resources/js/components/UserMenuContent.vue +++ b/resources/js/components/UserMenuContent.vue @@ -1,45 +1,43 @@