From 9c6981225856ef55ea9f2e9a0472f1794eeec01b Mon Sep 17 00:00:00 2001 From: Vasilii Mikhailovskii Date: Fri, 6 Dec 2024 14:07:31 +0200 Subject: [PATCH] set add QR code page --- .gitea/workflows/deploy-service-couchdb.yaml | 2 - apps/frontend/auto-imports.d.ts | 2 + apps/frontend/components.d.ts | 4 + apps/frontend/package.json | 1 - apps/frontend/src/api/qrCode.ts | 2 +- .../src/components/link/LinkCopyButton.vue | 26 +++ .../link/LinkShareTelegramButton.vue | 26 +++ .../src/components/manage/QRCodeCard.vue | 2 +- apps/frontend/src/constants/routes.ts | 1 + apps/frontend/src/router/index.ts | 6 + .../src/views/ManageQRCodeReadyView.vue | 26 +-- apps/frontend/src/views/ManageQRCodeView.vue | 103 ++++++++++++ apps/frontend/vite.config.ts | 14 +- pnpm-lock.yaml | 148 ++---------------- 14 files changed, 201 insertions(+), 162 deletions(-) create mode 100644 apps/frontend/src/components/link/LinkCopyButton.vue create mode 100644 apps/frontend/src/components/link/LinkShareTelegramButton.vue create mode 100644 apps/frontend/src/views/ManageQRCodeView.vue diff --git a/.gitea/workflows/deploy-service-couchdb.yaml b/.gitea/workflows/deploy-service-couchdb.yaml index d6a8573..fdd5394 100644 --- a/.gitea/workflows/deploy-service-couchdb.yaml +++ b/.gitea/workflows/deploy-service-couchdb.yaml @@ -8,8 +8,6 @@ on: - 'services/couchdb/**' - '.gitea/workflows/deploy-service-couchdb.yaml' - 'docker-compose.yml' - - 'package.json' - - 'pnpm-lock.yaml' jobs: service couchdb: diff --git a/apps/frontend/auto-imports.d.ts b/apps/frontend/auto-imports.d.ts index 2d9a0c2..e1c94d8 100644 --- a/apps/frontend/auto-imports.d.ts +++ b/apps/frontend/auto-imports.d.ts @@ -62,6 +62,8 @@ declare global { const useId: typeof import('vue')['useId'] const useLink: typeof import('vue-router')['useLink'] const useModel: typeof import('vue')['useModel'] + const useMutation: typeof import('@tanstack/vue-query')['useMutation'] + const useQuery: typeof import('@tanstack/vue-query')['useQuery'] const useRoute: typeof import('vue-router')['useRoute'] const useRouter: typeof import('vue-router')['useRouter'] const useSeoMeta: typeof import('unhead')['useSeoMeta'] diff --git a/apps/frontend/components.d.ts b/apps/frontend/components.d.ts index ec52519..c1c1e2e 100644 --- a/apps/frontend/components.d.ts +++ b/apps/frontend/components.d.ts @@ -12,6 +12,7 @@ declare module 'vue' { ChatComponent: typeof import('./src/components/ChatComponent.vue')['default'] ChatSubscribeWebPush: typeof import('./src/components/ChatSubscribeWebPush.vue')['default'] Checkbox: typeof import('primevue/checkbox')['default'] + CopyLinkButton: typeof import('@/components/link/LinkCopyButton.vue')['default'] CreateActionsSection: typeof import('./src/components/create/CreateActionsSection.vue')['default'] CreateMessageDeliveryMethodSection: typeof import('./src/components/create/CreateMessageDeliveryMethodSection.vue')['default'] CreateMessageDeliveryOption: typeof import('./src/components/create/CreateMessageDeliveryOption.vue')['default'] @@ -26,6 +27,9 @@ 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'] + LinkCopyButton: typeof import('./src/components/link/LinkCopyButton.vue')['default'] + LinkShareButton: typeof import('./src/components/link/LinkShareButton.vue')['default'] + LinkShareTelegramButton: typeof import('./src/components/link/LinkShareTelegramButton.vue')['default'] ManagePlacementInstructions: typeof import('./src/components/manage/ManagePlacementInstructions.vue')['default'] ProgressSpinner: typeof import('primevue/progressspinner')['default'] QRCodeCard: typeof import('./src/components/manage/QRCodeCard.vue')['default'] diff --git a/apps/frontend/package.json b/apps/frontend/package.json index 980bd07..6e0118c 100644 --- a/apps/frontend/package.json +++ b/apps/frontend/package.json @@ -37,7 +37,6 @@ "tailwindcss-primeui": "^0.3.4", "unhead": "^1.11.13", "vue": "^3.5.12", - "vue-query": "^1.26.0", "vue-router": "^4.4.5" }, "devDependencies": { diff --git a/apps/frontend/src/api/qrCode.ts b/apps/frontend/src/api/qrCode.ts index bbaf0e6..9164517 100644 --- a/apps/frontend/src/api/qrCode.ts +++ b/apps/frontend/src/api/qrCode.ts @@ -52,7 +52,7 @@ export const createQrCodeDocument = async ( return qrCodeDoc } -export const getQrCodeDocument = async (uri: string) => { +export const getQrCodeDocument = async (uri: string): Promise => { try { return await qrCodeDbLocal.get(`qr_code:${uri}`) } catch (error) { diff --git a/apps/frontend/src/components/link/LinkCopyButton.vue b/apps/frontend/src/components/link/LinkCopyButton.vue new file mode 100644 index 0000000..0fe4cd3 --- /dev/null +++ b/apps/frontend/src/components/link/LinkCopyButton.vue @@ -0,0 +1,26 @@ + + + diff --git a/apps/frontend/src/components/link/LinkShareTelegramButton.vue b/apps/frontend/src/components/link/LinkShareTelegramButton.vue new file mode 100644 index 0000000..8c113f2 --- /dev/null +++ b/apps/frontend/src/components/link/LinkShareTelegramButton.vue @@ -0,0 +1,26 @@ + + + diff --git a/apps/frontend/src/components/manage/QRCodeCard.vue b/apps/frontend/src/components/manage/QRCodeCard.vue index b0b616d..dbf8251 100644 --- a/apps/frontend/src/components/manage/QRCodeCard.vue +++ b/apps/frontend/src/components/manage/QRCodeCard.vue @@ -1,5 +1,5 @@