From ab86a3b8e129e85154b64a0c16737ddf2206635e Mon Sep 17 00:00:00 2001 From: Vasilii Mikhailovskii Date: Sun, 8 Dec 2024 11:06:31 +0200 Subject: [PATCH] support dark theme closes #25 --- apps/frontend/components.d.ts | 1 + apps/frontend/package.json | 1 + apps/frontend/src/App.vue | 16 + apps/frontend/src/components/ChatCard.vue | 13 +- .../src/components/ChatSubscribeWebPush.vue | 31 +- .../src/components/TheWelcome/TheWelcome.vue | 12 +- .../frontend/src/components/chat/ChatForm.vue | 9 +- .../src/components/chat/ChatMessages.vue | 6 +- .../create/CreateActionsSection.vue | 14 +- .../CreateMessageDeliveryMethodSection.vue | 16 +- .../CreateMessageDeliveryOptionTelegram.vue | 2 +- .../CreateMessageDeliveryOptionWebPush.vue | 18 +- .../create/CreatePlacementSection.vue | 10 +- .../CreatePredefinedMessagesSection.vue | 20 +- .../create/CreateSummarySection.vue | 23 +- .../frontend/src/components/layout/TabBar.vue | 5 +- .../src/components/layout/TabMenuItem.vue | 16 +- .../src/components/link/LinkQRCode.vue | 18 +- .../manage/ManagePlacementInstructions.vue | 167 +++++----- .../src/components/manage/QRCodeCard.vue | 19 +- .../components/manage/QRCodePlacementIcon.vue | 2 +- .../src/components/read/ReadContactInfo.vue | 27 +- .../src/components/read/ReadMessageSender.vue | 17 +- apps/frontend/src/layouts/LayoutWithTabs.vue | 12 +- apps/frontend/src/main.ts | 25 +- .../src/stores/usePrefersColorSchemeStore.ts | 13 + .../src/themes/PrimeVueHereConnectPreset.ts | 45 +++ apps/frontend/src/views/CreateView.vue | 4 +- apps/frontend/src/views/DonateView.vue | 43 +-- apps/frontend/src/views/PublicChatView.vue | 8 +- apps/frontend/src/views/ReadQRCodeView.vue | 12 +- .../views/manage/ManageQRCodeReadyView.vue | 18 +- apps/frontend/tailwind.config.ts | 13 +- pnpm-lock.yaml | 294 ++++++++++++++++-- 34 files changed, 689 insertions(+), 261 deletions(-) create mode 100644 apps/frontend/src/stores/usePrefersColorSchemeStore.ts create mode 100644 apps/frontend/src/themes/PrimeVueHereConnectPreset.ts diff --git a/apps/frontend/components.d.ts b/apps/frontend/components.d.ts index ed55df5..962121a 100644 --- a/apps/frontend/components.d.ts +++ b/apps/frontend/components.d.ts @@ -48,6 +48,7 @@ declare module 'vue' { RouterView: typeof import('vue-router')['RouterView'] TabBar: typeof import('./src/components/layout/TabBar.vue')['default'] TabMenuItem: typeof import('./src/components/layout/TabMenuItem.vue')['default'] + Textarea: typeof import('primevue/textarea')['default'] TheWelcome: typeof import('./src/components/TheWelcome/TheWelcome.vue')['default'] } } diff --git a/apps/frontend/package.json b/apps/frontend/package.json index 6e0118c..883e0d2 100644 --- a/apps/frontend/package.json +++ b/apps/frontend/package.json @@ -63,6 +63,7 @@ "postcss": "^8.4.49", "prettier": "^3.3.3", "rollup-plugin-manifest-json": "^1.7.0", + "sass-embedded": "^1.82.0", "tailwindcss": "^3.4.14", "tailwindcss-safe-area": "^0.6.0", "typescript": "~5.6.3", diff --git a/apps/frontend/src/App.vue b/apps/frontend/src/App.vue index 5b40cb7..58f185c 100644 --- a/apps/frontend/src/App.vue +++ b/apps/frontend/src/App.vue @@ -29,6 +29,22 @@ registerServiceWorker() // }) // }) // .catch(console.error) + +// import { usePrefersColorSchemeStore } from '@/stores/usePrefersColorSchemeStore' +// import { watch } from 'vue' +// const { isDarkMode } = usePrefersColorSchemeStore() +// +// watch( +// () => isDarkMode, +// () => { +// if (isDarkMode) { +// document.documentElement.classList.add('dark') +// } else { +// document.documentElement.classList.remove('dark') +// } +// }, +// { immediate: true }, +// )