2026-01-13 10:46:40 +07:00
|
|
|
<script setup lang="ts">
|
|
|
|
|
/**
|
|
|
|
|
* @file default.vue
|
2026-01-23 09:54:35 +07:00
|
|
|
* @description Layout หลักสำหรับหน้าเว็บของผู้ใช้ (Authenticated Users)
|
2026-01-26 09:27:31 +07:00
|
|
|
* Uses Quasar QLayout for responsive structure.
|
2026-01-13 10:46:40 +07:00
|
|
|
*/
|
2026-01-26 09:27:31 +07:00
|
|
|
|
2026-01-26 14:03:56 +07:00
|
|
|
// Initialize global theme management
|
|
|
|
|
useThemeMode()
|
2026-02-09 14:03:55 +07:00
|
|
|
|
|
|
|
|
const leftDrawerOpen = ref(false)
|
|
|
|
|
const toggleLeftDrawer = () => {
|
|
|
|
|
leftDrawerOpen.value = !leftDrawerOpen.value
|
|
|
|
|
}
|
2026-01-13 10:46:40 +07:00
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<template>
|
2026-02-18 16:28:29 +07:00
|
|
|
<q-layout view="hHh LpR lFf" class="bg-slate-50 dark:!bg-[#020617] text-slate-900 dark:!text-slate-50">
|
2026-01-26 09:27:31 +07:00
|
|
|
<!-- Header -->
|
2026-01-26 12:59:19 +07:00
|
|
|
<q-header
|
2026-02-19 10:39:44 +07:00
|
|
|
class="bg-white/80 dark:!bg-[#0f172a]/80 backdrop-blur-md text-slate-900 dark:!text-white"
|
2026-01-26 12:59:19 +07:00
|
|
|
>
|
2026-02-09 14:03:55 +07:00
|
|
|
<AppHeader @toggleSidebar="toggleLeftDrawer" />
|
2026-01-26 09:27:31 +07:00
|
|
|
</q-header>
|
2026-01-14 11:36:28 +07:00
|
|
|
|
2026-02-09 14:03:55 +07:00
|
|
|
<!-- Sidebar (Drawer) -->
|
|
|
|
|
<q-drawer
|
|
|
|
|
v-model="leftDrawerOpen"
|
|
|
|
|
show-if-above
|
2026-02-09 14:47:02 +07:00
|
|
|
:width="280"
|
2026-02-19 10:39:44 +07:00
|
|
|
class="bg-white dark:!bg-[#0f172a]"
|
2026-02-09 14:03:55 +07:00
|
|
|
>
|
|
|
|
|
<AppSidebar />
|
|
|
|
|
</q-drawer>
|
|
|
|
|
|
2026-01-26 09:27:31 +07:00
|
|
|
<!-- Main Content -->
|
|
|
|
|
<q-page-container>
|
|
|
|
|
<q-page class="relative">
|
|
|
|
|
<slot />
|
|
|
|
|
</q-page>
|
|
|
|
|
</q-page-container>
|
|
|
|
|
|
|
|
|
|
<!-- Mobile Bottom Nav -->
|
2026-01-26 12:59:19 +07:00
|
|
|
<q-footer
|
|
|
|
|
v-if="$q.screen.lt.md"
|
2026-02-19 10:39:44 +07:00
|
|
|
class="!bg-white dark:!bg-[#1e293b] text-primary"
|
2026-01-26 12:59:19 +07:00
|
|
|
>
|
2026-01-26 09:27:31 +07:00
|
|
|
<MobileNav />
|
|
|
|
|
</q-footer>
|
|
|
|
|
</q-layout>
|
2026-01-13 10:46:40 +07:00
|
|
|
</template>
|
2026-01-26 09:27:31 +07:00
|
|
|
|
|
|
|
|
<style>
|
|
|
|
|
/* Ensure fonts are applied */
|
|
|
|
|
.font-inter {
|
2026-02-19 13:12:14 +07:00
|
|
|
font-family: var(--font-main);
|
2026-01-26 09:27:31 +07:00
|
|
|
}
|
|
|
|
|
</style>
|