diff --git a/bun.lockb b/bun.lockb index b51be76..717e4c2 100644 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/resources/js/components/AppHeader.vue b/resources/js/components/AppHeader.vue index d76fca8..4b6f2f8 100644 --- a/resources/js/components/AppHeader.vue +++ b/resources/js/components/AppHeader.vue @@ -18,7 +18,7 @@ import UserMenuContent from '@/components/UserMenuContent.vue'; import { getInitials } from '@/composables/useInitials'; import type { BreadcrumbItem, NavItem } from '@/types'; import { Link, usePage } from '@inertiajs/vue3'; -import { AppWindowIcon, BookOpen, Folder, LayoutGrid, Menu, Search, ServerIcon } from 'lucide-vue-next'; +import { AppWindowIcon, BoltIcon, Menu, Search, ServerIcon } from 'lucide-vue-next'; import { computed } from 'vue'; interface Props { @@ -47,6 +47,13 @@ const mainNavItems: NavItem[] = [ ]; if (page.props.organisation) { + mainNavItems.push({ + title: page.props.organisation.name, + href: new URL(route('organisations.show', { + organisation: page.props?.organisation?.id + })).pathname, + icon: BoltIcon, + }); mainNavItems.push({ title: 'Applications', href: new URL(route('applications.index', { diff --git a/resources/js/pages/organisations/Show.vue b/resources/js/pages/organisations/Show.vue index 71bb2ff..5d1a87b 100644 --- a/resources/js/pages/organisations/Show.vue +++ b/resources/js/pages/organisations/Show.vue @@ -4,6 +4,7 @@ import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; import AppLayout from '@/layouts/AppLayout.vue'; import { Head, Link, WhenVisible } from '@inertiajs/vue3'; import { AppWindowIcon, ServerIcon, UserIcon } from 'lucide-vue-next'; +import { ref, watch } from 'vue'; defineProps({ organisation: { @@ -12,9 +13,19 @@ defineProps({ }, providers: { type: Array, - required: true, + required: false, }, }); + +const tabValue = ref(new URL(window.location.href).hash?.replace('#', '') || 'dashboard'); +watch(tabValue, () => { + window.history.pushState({}, '', `#${tabValue.value}`); +}); +watch(() => window.location.hash, (newHash) => { + if (newHash) { + tabValue.value = newHash.replace('#', ''); + } +});