feat: Implement initial Vue 3 application structure with SSR, routing, authentication, and core dashboard components.

This commit is contained in:
2026-01-19 00:37:35 +07:00
parent 9f521c76f4
commit eed14fa0e5
14 changed files with 1029 additions and 127 deletions

28
components.d.ts vendored
View File

@@ -13,30 +13,32 @@ export {}
declare module 'vue' {
export interface GlobalComponents {
Add: typeof import('./src/components/icons/Add.vue')['default']
AddFilled: typeof import('./src/components/icons/AddFilled.vue')['default']
Bell: typeof import('./src/components/icons/Bell.vue')['default']
BellFilled: typeof import('./src/components/icons/BellFilled.vue')['default']
Button: typeof import('primevue/button')['default']
Checkbox: typeof import('primevue/checkbox')['default']
CheckIcon: typeof import('./src/components/icons/CheckIcon.vue')['default']
Credit: typeof import('./src/components/icons/Credit.vue')['default']
DashboardLayout: typeof import('./src/components/DashboardLayout.vue')['default']
DashboardSidebar: typeof import('./src/components/dashboard/DashboardSidebar.vue')['default']
DashboardTopbar: typeof import('./src/components/dashboard/DashboardTopbar.vue')['default']
EmptyState: typeof import('./src/components/dashboard/EmptyState.vue')['default']
Home: typeof import('./src/components/icons/Home.vue')['default']
HomeFilled: typeof import('./src/components/icons/HomeFilled.vue')['default']
IconField: typeof import('primevue/iconfield')['default']
InputIcon: typeof import('primevue/inputicon')['default']
InputText: typeof import('primevue/inputtext')['default']
Layout: typeof import('./src/components/icons/Layout.vue')['default']
LayoutFilled: typeof import('./src/components/icons/LayoutFilled.vue')['default']
Message: typeof import('primevue/message')['default']
OverlayPanel: typeof import('primevue/overlaypanel')['default']
PageHeader: typeof import('./src/components/dashboard/PageHeader.vue')['default']
Password: typeof import('primevue/password')['default']
RootLayout: typeof import('./src/components/RootLayout.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
StatsCard: typeof import('./src/components/dashboard/StatsCard.vue')['default']
TestIcon: typeof import('./src/components/icons/TestIcon.vue')['default']
Toast: typeof import('primevue/toast')['default']
Upload: typeof import('./src/components/icons/Upload.vue')['default']
UploadFilled: typeof import('./src/components/icons/UploadFilled.vue')['default']
Video: typeof import('./src/components/icons/Video.vue')['default']
VideoFilled: typeof import('./src/components/icons/VideoFilled.vue')['default']
VueHead: typeof import('./src/components/VueHead.tsx')['default']
}
}
@@ -44,29 +46,31 @@ declare module 'vue' {
// For TSX support
declare global {
const Add: typeof import('./src/components/icons/Add.vue')['default']
const AddFilled: typeof import('./src/components/icons/AddFilled.vue')['default']
const Bell: typeof import('./src/components/icons/Bell.vue')['default']
const BellFilled: typeof import('./src/components/icons/BellFilled.vue')['default']
const Button: typeof import('primevue/button')['default']
const Checkbox: typeof import('primevue/checkbox')['default']
const CheckIcon: typeof import('./src/components/icons/CheckIcon.vue')['default']
const Credit: typeof import('./src/components/icons/Credit.vue')['default']
const DashboardLayout: typeof import('./src/components/DashboardLayout.vue')['default']
const DashboardSidebar: typeof import('./src/components/dashboard/DashboardSidebar.vue')['default']
const DashboardTopbar: typeof import('./src/components/dashboard/DashboardTopbar.vue')['default']
const EmptyState: typeof import('./src/components/dashboard/EmptyState.vue')['default']
const Home: typeof import('./src/components/icons/Home.vue')['default']
const HomeFilled: typeof import('./src/components/icons/HomeFilled.vue')['default']
const IconField: typeof import('primevue/iconfield')['default']
const InputIcon: typeof import('primevue/inputicon')['default']
const InputText: typeof import('primevue/inputtext')['default']
const Layout: typeof import('./src/components/icons/Layout.vue')['default']
const LayoutFilled: typeof import('./src/components/icons/LayoutFilled.vue')['default']
const Message: typeof import('primevue/message')['default']
const OverlayPanel: typeof import('primevue/overlaypanel')['default']
const PageHeader: typeof import('./src/components/dashboard/PageHeader.vue')['default']
const Password: typeof import('primevue/password')['default']
const RootLayout: typeof import('./src/components/RootLayout.vue')['default']
const RouterLink: typeof import('vue-router')['RouterLink']
const RouterView: typeof import('vue-router')['RouterView']
const StatsCard: typeof import('./src/components/dashboard/StatsCard.vue')['default']
const TestIcon: typeof import('./src/components/icons/TestIcon.vue')['default']
const Toast: typeof import('primevue/toast')['default']
const Upload: typeof import('./src/components/icons/Upload.vue')['default']
const UploadFilled: typeof import('./src/components/icons/UploadFilled.vue')['default']
const Video: typeof import('./src/components/icons/Video.vue')['default']
const VideoFilled: typeof import('./src/components/icons/VideoFilled.vue')['default']
const VueHead: typeof import('./src/components/VueHead.tsx')['default']
}