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 @@