From ef977f5742239f7d83b2f970694a92c6f3e0656a Mon Sep 17 00:00:00 2001 From: Vasilii Mikhailovskii Date: Fri, 6 Dec 2024 21:20:27 +0200 Subject: [PATCH] add tabs --- apps/frontend/components.d.ts | 3 + .../frontend/src/components/ChatComponent.vue | 6 +- .../frontend/src/components/layout/TabBar.vue | 32 ++++ .../src/components/layout/TabMenuItem.vue | 29 +++ apps/frontend/src/constants/routes.ts | 3 +- apps/frontend/src/layouts/LayoutWithTabs.vue | 39 ++++ apps/frontend/src/router/index.ts | 14 +- apps/frontend/src/views/CreateView.vue | 78 ++++---- apps/frontend/src/views/DonateView.vue | 140 +++++++------- apps/frontend/src/views/ManageChatsView.vue | 52 ++++++ .../src/views/ManageDashboardView.vue | 107 ----------- .../src/views/ManageQRCodeChatView.vue | 94 +++++----- .../src/views/ManageQRCodeReadyView.vue | 36 ++-- apps/frontend/src/views/ManageQRCodeView.vue | 171 +++++++----------- apps/frontend/src/views/ManageQRCodesView.vue | 93 ++++++++++ apps/frontend/src/views/PublicChatView.vue | 88 ++++----- apps/frontend/vite.config.ts | 1 + 17 files changed, 542 insertions(+), 444 deletions(-) create mode 100644 apps/frontend/src/components/layout/TabBar.vue create mode 100644 apps/frontend/src/components/layout/TabMenuItem.vue create mode 100644 apps/frontend/src/layouts/LayoutWithTabs.vue create mode 100644 apps/frontend/src/views/ManageChatsView.vue delete mode 100644 apps/frontend/src/views/ManageDashboardView.vue create mode 100644 apps/frontend/src/views/ManageQRCodesView.vue diff --git a/apps/frontend/components.d.ts b/apps/frontend/components.d.ts index da26ecc..150b5a3 100644 --- a/apps/frontend/components.d.ts +++ b/apps/frontend/components.d.ts @@ -27,6 +27,7 @@ declare module 'vue' { DownloadImageButton: typeof import('./src/components/manage/DownloadImageButton.vue')['default'] ExamplesSection: typeof import('./src/components/TheWelcome/ExamplesSection.vue')['default'] InputText: typeof import('primevue/inputtext')['default'] + LayoutWithTabs: typeof import('./src/layouts/LayoutWithTabs.vue')['default'] LinkCopyButton: typeof import('./src/components/link/LinkCopyButton.vue')['default'] LinkMono: typeof import('./src/components/link/LinkMono.vue')['default'] LinkQrCode: typeof import('./src/components/link/LinkQrCode.vue')['default'] @@ -43,6 +44,8 @@ declare module 'vue' { ReadMessageSender: typeof import('./src/components/read/ReadMessageSender.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] + TabBar: typeof import('./src/components/layout/TabBar.vue')['default'] + TabMenuItem: typeof import('./src/components/layout/TabMenuItem.vue')['default'] TheWelcome: typeof import('./src/components/TheWelcome/TheWelcome.vue')['default'] } } diff --git a/apps/frontend/src/components/ChatComponent.vue b/apps/frontend/src/components/ChatComponent.vue index e46056d..abe01f9 100644 --- a/apps/frontend/src/components/ChatComponent.vue +++ b/apps/frontend/src/components/ChatComponent.vue @@ -21,7 +21,11 @@ - +
diff --git a/apps/frontend/src/components/layout/TabBar.vue b/apps/frontend/src/components/layout/TabBar.vue new file mode 100644 index 0000000..e7e5e78 --- /dev/null +++ b/apps/frontend/src/components/layout/TabBar.vue @@ -0,0 +1,32 @@ + + + diff --git a/apps/frontend/src/components/layout/TabMenuItem.vue b/apps/frontend/src/components/layout/TabMenuItem.vue new file mode 100644 index 0000000..c33abbd --- /dev/null +++ b/apps/frontend/src/components/layout/TabMenuItem.vue @@ -0,0 +1,29 @@ + + + diff --git a/apps/frontend/src/constants/routes.ts b/apps/frontend/src/constants/routes.ts index 1b51993..9f0914a 100644 --- a/apps/frontend/src/constants/routes.ts +++ b/apps/frontend/src/constants/routes.ts @@ -4,8 +4,9 @@ export const ROUTE_NAMES = { MANAGE_QR_CODE: 'manage-qr-code', MANAGE_QR_CODE_READY: 'manage-qr-code-ready', MANAGE_QR_CODE_CHAT: 'manage-qr-code-chat', - MANAGE_DASHBOARD: 'manage-dashboard', + MANAGE_DASHBOARD_QR_CODES: 'manage-dashboard-qr-codes', MANAGE_DASHBOARD_QR: 'manage-dashboard-qr', + MANAGE_DASHBOARD_CHATS: 'manage-dashboard-chats', READ_QR_CODE: 'read-qr-code', DONATE: 'donate', PUBLIC_CHAT: 'public-chat', diff --git a/apps/frontend/src/layouts/LayoutWithTabs.vue b/apps/frontend/src/layouts/LayoutWithTabs.vue new file mode 100644 index 0000000..67e96b6 --- /dev/null +++ b/apps/frontend/src/layouts/LayoutWithTabs.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/apps/frontend/src/router/index.ts b/apps/frontend/src/router/index.ts index e60a8ae..c7a20dc 100644 --- a/apps/frontend/src/router/index.ts +++ b/apps/frontend/src/router/index.ts @@ -11,7 +11,7 @@ const routes = [ name: ROUTE_NAMES.HOME, component: () => isRunningStandalone() - ? import('@/views/ManageDashboardView.vue') + ? import('@/views/ManageQRCodesView.vue') : import('@/views/HomeView.vue'), }, { @@ -21,14 +21,20 @@ const routes = [ }, { path: '/manage', - name: ROUTE_NAMES.MANAGE_DASHBOARD, - component: () => import('@/views/ManageDashboardView.vue'), + name: ROUTE_NAMES.MANAGE_DASHBOARD_QR_CODES, + component: () => import('@/views/ManageQRCodesView.vue'), props: true, }, { path: '/manage/qr', name: ROUTE_NAMES.MANAGE_DASHBOARD_QR, - component: () => import('@/views/ManageDashboardView.vue'), + component: () => import('@/views/ManageQRCodesView.vue'), + props: true, + }, + { + path: '/manage/chats', + name: ROUTE_NAMES.MANAGE_DASHBOARD_CHATS, + component: () => import('@/views/ManageChatsView.vue'), props: true, }, { diff --git a/apps/frontend/src/views/CreateView.vue b/apps/frontend/src/views/CreateView.vue index cb75a43..91fc235 100644 --- a/apps/frontend/src/views/CreateView.vue +++ b/apps/frontend/src/views/CreateView.vue @@ -1,52 +1,48 @@ diff --git a/apps/frontend/src/views/ManageDashboardView.vue b/apps/frontend/src/views/ManageDashboardView.vue deleted file mode 100644 index 5ec07b5..0000000 --- a/apps/frontend/src/views/ManageDashboardView.vue +++ /dev/null @@ -1,107 +0,0 @@ - - - diff --git a/apps/frontend/src/views/ManageQRCodeChatView.vue b/apps/frontend/src/views/ManageQRCodeChatView.vue index 5d5987c..2566297 100644 --- a/apps/frontend/src/views/ManageQRCodeChatView.vue +++ b/apps/frontend/src/views/ManageQRCodeChatView.vue @@ -1,55 +1,51 @@ diff --git a/apps/frontend/src/views/PublicChatView.vue b/apps/frontend/src/views/PublicChatView.vue index c00e468..e6ce64d 100644 --- a/apps/frontend/src/views/PublicChatView.vue +++ b/apps/frontend/src/views/PublicChatView.vue @@ -1,55 +1,45 @@