diff --git a/components.d.ts b/components.d.ts index 970e48e..320d303 100644 --- a/components.d.ts +++ b/components.d.ts @@ -20,6 +20,7 @@ declare module 'vue' { 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'] + Drawer: typeof import('primevue/drawer')['default'] EmptyState: typeof import('./src/components/dashboard/EmptyState.vue')['default'] FloatLabel: typeof import('primevue/floatlabel')['default'] HardDriveUpload: typeof import('./src/components/icons/HardDriveUpload.vue')['default'] @@ -28,7 +29,8 @@ declare module 'vue' { Layout: typeof import('./src/components/icons/Layout.vue')['default'] LinkIcon: typeof import('./src/components/icons/LinkIcon.vue')['default'] Message: typeof import('primevue/message')['default'] - NotificationPopover: typeof import('./src/components/NotificationPopover.vue')['default'] + NotificationDrawer: typeof import('./src/components/NotificationDrawer.vue')['default'] + NotificationPopover: typeof import('./src/components/NotificationDrawer.vue')['default'] PageHeader: typeof import('./src/components/dashboard/PageHeader.vue')['default'] Password: typeof import('primevue/password')['default'] RootLayout: typeof import('./src/components/RootLayout.vue')['default'] @@ -54,6 +56,7 @@ declare global { 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 Drawer: typeof import('primevue/drawer')['default'] const EmptyState: typeof import('./src/components/dashboard/EmptyState.vue')['default'] const FloatLabel: typeof import('primevue/floatlabel')['default'] const HardDriveUpload: typeof import('./src/components/icons/HardDriveUpload.vue')['default'] @@ -62,7 +65,8 @@ declare global { const Layout: typeof import('./src/components/icons/Layout.vue')['default'] const LinkIcon: typeof import('./src/components/icons/LinkIcon.vue')['default'] const Message: typeof import('primevue/message')['default'] - const NotificationPopover: typeof import('./src/components/NotificationPopover.vue')['default'] + const NotificationDrawer: typeof import('./src/components/NotificationDrawer.vue')['default'] + const NotificationPopover: typeof import('./src/components/NotificationDrawer.vue')['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'] diff --git a/src/components/DashboardLayout.vue b/src/components/DashboardLayout.vue index ac5aca8..a766b45 100644 --- a/src/components/DashboardLayout.vue +++ b/src/components/DashboardLayout.vue @@ -5,7 +5,7 @@ import Home from "@/components/icons/Home.vue"; import Video from "@/components/icons/Video.vue"; import Credit from "@/components/icons/Credit.vue"; import Upload from "./icons/Upload.vue"; -import NotificationPopover from "./NotificationPopover.vue"; +import NotificationDrawer from "./NotificationDrawer.vue"; import { cn } from "@/lib/utils"; import { createStaticVNode, ref } from "vue"; @@ -25,7 +25,8 @@ const links = [ { href: "/profile", label: "Profile", icon: profileHoist, type: "a", className: 'w-12 h-12 rounded-2xl hover:bg-primary/15 flex' }, ]; -const notificationPopover = ref>(); +const notificationPopover = ref>(); +const isNotificationOpen = ref(false); const handleNotificationClick = (event: Event) => { notificationPopover.value?.toggle(event); @@ -37,12 +38,13 @@ const handleNotificationClick = (event: Event) => { + + - +
diff --git a/src/components/NotificationDrawer.vue b/src/components/NotificationDrawer.vue new file mode 100644 index 0000000..f7fb23f --- /dev/null +++ b/src/components/NotificationDrawer.vue @@ -0,0 +1,207 @@ + + + + + diff --git a/src/components/NotificationPopover.vue b/src/components/NotificationPopover.vue deleted file mode 100644 index 683cd27..0000000 --- a/src/components/NotificationPopover.vue +++ /dev/null @@ -1,159 +0,0 @@ - - - - - diff --git a/src/routes/notification/Notification.vue b/src/routes/notification/Notification.vue index dc837ad..ac215d7 100644 --- a/src/routes/notification/Notification.vue +++ b/src/routes/notification/Notification.vue @@ -115,7 +115,7 @@ const handleClearAll = () => { - - \ No newline at end of file +
+ \ No newline at end of file