From f6dbec504c502bc5dc421e12daca102e05662fea Mon Sep 17 00:00:00 2001 From: RitvikSardana Date: Fri, 30 Aug 2024 20:57:00 +0530 Subject: [PATCH] feat: mobile support --- desk/src/App.vue | 14 +- .../{desk/sidebar => }/UserMenu.vue | 0 .../canned_responses/CannedResponseList.vue | 79 ------ .../CannedResponseListItem.vue | 47 ---- .../ResponseTitleAndMessage.vue | 164 ------------ desk/src/components/global/Autocomplete.vue | 233 ------------------ desk/src/components/layouts/DesktopLayout.vue | 13 + desk/src/components/layouts/MobileLayout.vue | 11 + .../{desk/sidebar => layouts}/SideBar.vue | 7 +- .../notifications/Notifications.vue | 14 +- desk/src/pages/desk/AgentRoot.vue | 28 ++- desk/src/router/index.js | 2 - desk/tsconfig.json | 1 + 13 files changed, 63 insertions(+), 550 deletions(-) rename desk/src/components/{desk/sidebar => }/UserMenu.vue (100%) delete mode 100644 desk/src/components/desk/settings/canned_responses/CannedResponseList.vue delete mode 100644 desk/src/components/desk/settings/canned_responses/CannedResponseListItem.vue delete mode 100644 desk/src/components/desk/settings/canned_responses/ResponseTitleAndMessage.vue delete mode 100644 desk/src/components/global/Autocomplete.vue create mode 100644 desk/src/components/layouts/DesktopLayout.vue create mode 100644 desk/src/components/layouts/MobileLayout.vue rename desk/src/components/{desk/sidebar => layouts}/SideBar.vue (96%) diff --git a/desk/src/App.vue b/desk/src/App.vue index ba9c49b26..37c20a52a 100644 --- a/desk/src/App.vue +++ b/desk/src/App.vue @@ -1,9 +1,7 @@ diff --git a/desk/src/components/desk/settings/canned_responses/CannedResponseListItem.vue b/desk/src/components/desk/settings/canned_responses/CannedResponseListItem.vue deleted file mode 100644 index 16946f0cf..000000000 --- a/desk/src/components/desk/settings/canned_responses/CannedResponseListItem.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - diff --git a/desk/src/components/desk/settings/canned_responses/ResponseTitleAndMessage.vue b/desk/src/components/desk/settings/canned_responses/ResponseTitleAndMessage.vue deleted file mode 100644 index 878824c26..000000000 --- a/desk/src/components/desk/settings/canned_responses/ResponseTitleAndMessage.vue +++ /dev/null @@ -1,164 +0,0 @@ - - - diff --git a/desk/src/components/global/Autocomplete.vue b/desk/src/components/global/Autocomplete.vue deleted file mode 100644 index aa7695424..000000000 --- a/desk/src/components/global/Autocomplete.vue +++ /dev/null @@ -1,233 +0,0 @@ - - diff --git a/desk/src/components/layouts/DesktopLayout.vue b/desk/src/components/layouts/DesktopLayout.vue new file mode 100644 index 000000000..fcd61dcfa --- /dev/null +++ b/desk/src/components/layouts/DesktopLayout.vue @@ -0,0 +1,13 @@ + + diff --git a/desk/src/components/layouts/MobileLayout.vue b/desk/src/components/layouts/MobileLayout.vue new file mode 100644 index 000000000..11335b9e4 --- /dev/null +++ b/desk/src/components/layouts/MobileLayout.vue @@ -0,0 +1,11 @@ + + diff --git a/desk/src/components/desk/sidebar/SideBar.vue b/desk/src/components/layouts/SideBar.vue similarity index 96% rename from desk/src/components/desk/sidebar/SideBar.vue rename to desk/src/components/layouts/SideBar.vue index a696783f6..07d6f4d8a 100644 --- a/desk/src/components/desk/sidebar/SideBar.vue +++ b/desk/src/components/layouts/SideBar.vue @@ -51,7 +51,7 @@ v-bind="option" :key="option.label" :is-expanded="isExpanded" - :is-active="option.to?.includes(route.name.toString())" + :is-active="isActiveTab(option.to)" />
@@ -83,7 +83,7 @@ import { } from "@/router"; import { useDevice } from "@/composables"; import { SidebarLink } from "@/components"; -import UserMenu from "./UserMenu.vue"; +import UserMenu from "@/components/UserMenu.vue"; import LucideArrowLeftFromLine from "~icons/lucide/arrow-left-from-line"; import LucideArrowRightFromLine from "~icons/lucide/arrow-right-from-line"; import LucideBookOpen from "~icons/lucide/book-open"; @@ -144,6 +144,9 @@ const menuOptions = computed(() => [ }, ]); +function isActiveTab(to: string) { + return route.name === to; +} const profileSettings = [ { component: markRaw(Apps), diff --git a/desk/src/components/notifications/Notifications.vue b/desk/src/components/notifications/Notifications.vue index d8dba0099..4225b1d93 100644 --- a/desk/src/components/notifications/Notifications.vue +++ b/desk/src/components/notifications/Notifications.vue @@ -93,11 +93,17 @@ import { UserAvatar } from "@/components"; const notificationStore = useNotificationStore(); const sidebarStore = useSidebarStore(); const target = ref(null); -onClickOutside(target, () => { - if (notificationStore.visible) { - notificationStore.toggle(); +onClickOutside( + target, + () => { + if (notificationStore.visible) { + notificationStore.toggle(); + } + }, + { + ignore: ["#notifications-btn"], } -}); +); function getRoute(n: Notification) { switch (n.notification_type) { diff --git a/desk/src/pages/desk/AgentRoot.vue b/desk/src/pages/desk/AgentRoot.vue index 7fc5b819a..78c1b52cc 100644 --- a/desk/src/pages/desk/AgentRoot.vue +++ b/desk/src/pages/desk/AgentRoot.vue @@ -1,25 +1,37 @@