✨ feat (appsidebar): add outpatient menu and pages
This commit is contained in:
@@ -8,6 +8,32 @@ const navMenu: any[] = [
|
||||
icon: 'i-lucide-home',
|
||||
link: '/',
|
||||
},
|
||||
{
|
||||
title: 'Rawat Jalan',
|
||||
icon: 'i-lucide-stethoscope',
|
||||
children: [
|
||||
{
|
||||
title: 'Antrian Pendaftaran',
|
||||
icon: 'i-lucide-stethoscope',
|
||||
link: '/outpatient/registration-queue',
|
||||
},
|
||||
{
|
||||
title: 'Pendaftaran',
|
||||
icon: 'i-lucide-building-2',
|
||||
link: '/outpatient/registration',
|
||||
},
|
||||
{
|
||||
title: 'Antrian Pemeriksaan',
|
||||
icon: 'i-lucide-stethoscope',
|
||||
link: '/outpatient/examination-queue',
|
||||
},
|
||||
{
|
||||
title: 'Pendaftaran',
|
||||
icon: 'i-lucide-building-2',
|
||||
link: '/outpatient/examination',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Pasien',
|
||||
icon: 'i-lucide-users',
|
||||
@@ -18,11 +44,6 @@ const navMenu: any[] = [
|
||||
icon: 'i-lucide-heart',
|
||||
link: '/rehabilitasi',
|
||||
},
|
||||
{
|
||||
title: 'Rawat Jalan',
|
||||
icon: 'i-lucide-stethoscope',
|
||||
link: '/rawat-jalan',
|
||||
},
|
||||
{
|
||||
title: 'Rawat Inap',
|
||||
icon: 'i-lucide-building-2',
|
||||
@@ -119,7 +140,7 @@ const sidebar = {
|
||||
v-for="(item, index) in nav.items"
|
||||
:key="index"
|
||||
:item="item"
|
||||
class="mb-2"
|
||||
class="my-2 mb-2"
|
||||
/>
|
||||
</SidebarGroup>
|
||||
<SidebarGroup class="mt-auto">
|
||||
|
||||
@@ -24,13 +24,7 @@ const openCollapsible = ref(false)
|
||||
<CollapsibleTrigger as-child>
|
||||
<SidebarMenuButton :tooltip="item.title" :size="size">
|
||||
<Icon :name="item.icon || ''" mode="svg" />
|
||||
<span>{{ item.title }}</span>
|
||||
<span
|
||||
v-if="item.new"
|
||||
class="bg-#adfa1d rounded-md px-1.5 py-0.5 text-xs leading-none text-black no-underline group-hover:no-underline"
|
||||
>
|
||||
New
|
||||
</span>
|
||||
<span class="mx-2">{{ item.title }}</span>
|
||||
<Icon
|
||||
name="i-lucide-chevron-right"
|
||||
class="ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90"
|
||||
@@ -41,14 +35,13 @@ const openCollapsible = ref(false)
|
||||
<SidebarMenuSub>
|
||||
<SidebarMenuSubItem v-for="subItem in item.children" :key="subItem.title">
|
||||
<SidebarMenuSubButton as-child>
|
||||
<NuxtLink :to="subItem.link" @click="setOpenMobile(false)">
|
||||
<NuxtLink
|
||||
:to="subItem.link"
|
||||
class="mx-4 rounded-lg py-5 text-sm font-medium transition-all duration-200"
|
||||
active-class="bg-primary text-white"
|
||||
@click="setOpenMobile(false)"
|
||||
>
|
||||
<span>{{ subItem.title }}</span>
|
||||
<span
|
||||
v-if="subItem.new"
|
||||
class="bg-#adfa1d rounded-md px-1.5 py-0.5 text-xs leading-none text-black no-underline group-hover:no-underline"
|
||||
>
|
||||
New
|
||||
</span>
|
||||
</NuxtLink>
|
||||
</SidebarMenuSubButton>
|
||||
</SidebarMenuSubItem>
|
||||
|
||||
@@ -21,7 +21,7 @@ const { setOpenMobile } = useSidebar()
|
||||
<SidebarMenuButton as-child :tooltip="item.title" :size="size">
|
||||
<NuxtLink
|
||||
:to="item.link"
|
||||
class="group flex items-center gap-3 rounded-lg px-3 py-2 text-sm font-medium transition-all duration-200"
|
||||
class="group flex items-center gap-3 rounded-lg px-3 py-3 text-sm font-medium transition-all duration-200"
|
||||
active-class="bg-primary text-white"
|
||||
@click="setOpenMobile(false)"
|
||||
>
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
<template>
|
||||
<div>Examination Queue</div>
|
||||
</template>
|
||||
@@ -0,0 +1,3 @@
|
||||
<template>
|
||||
<div>Examination</div>
|
||||
</template>
|
||||
@@ -0,0 +1,3 @@
|
||||
<template>
|
||||
<div>Registration Queue</div>
|
||||
</template>
|
||||
@@ -0,0 +1,3 @@
|
||||
<template>
|
||||
<div>Registration</div>
|
||||
</template>
|
||||
Reference in New Issue
Block a user