From 0d351f9743fe2ea7681f7033a3f93869c31cdebf Mon Sep 17 00:00:00 2001 From: DerEchteAlec Date: Sun, 16 Aug 2026 22:51:36 +0200 Subject: [PATCH] ENH - complete Mail and Radio Sky UI --- .../src/components/MailMarkdownEditor.vue | 266 +-- frontend/src/stores/mail.test.ts | 96 + frontend/src/stores/mail.ts | 90 +- frontend/src/stores/phone-locales.test.ts | 26 + frontend/src/stores/phone.ts | 39 +- frontend/src/types/mail.ts | 22 + .../src/views/apps/MailApp.contract.test.ts | 302 ++++ frontend/src/views/apps/MailApp.vue | 1561 +++++++++++++---- .../src/views/apps/RadioApp.contract.test.ts | 41 +- frontend/src/views/apps/RadioApp.vue | 37 +- frontend/testserver/index.cjs | 117 +- frontend/testserver/smoke.cjs | 38 + sky_phone/config/config.lua | 3 + sky_phone/config/locales/en.lua | 24 +- sky_phone/source/client/main.lua | 4 + sky_phone/source/server/db_migrate.lua | 26 + sky_phone/source/server/mail.lua | 306 +++- sky_phone/sql/install.sql | 14 + 18 files changed, 2547 insertions(+), 465 deletions(-) create mode 100644 frontend/src/views/apps/MailApp.contract.test.ts diff --git a/frontend/src/components/MailMarkdownEditor.vue b/frontend/src/components/MailMarkdownEditor.vue index 3e3cb33..8b9f079 100644 --- a/frontend/src/components/MailMarkdownEditor.vue +++ b/frontend/src/components/MailMarkdownEditor.vue @@ -15,6 +15,8 @@ import { } from 'lucide-vue-next' import { onBeforeUnmount, watch } from 'vue' +import { SkyButton, SkyIcon, SkyToolbar, SkyToolbarPane } from '@/ui' + export type MailEditorLabels = { bold: string bulletList: string @@ -22,6 +24,7 @@ export type MailEditorLabels = { numberedList: string quote: string redo: string + toolbar: string undo: string } @@ -41,6 +44,7 @@ const props = withDefaults( numberedList: 'Numbered list', quote: 'Quote', redo: 'Redo', + toolbar: 'Formatting tools', undo: 'Undo', }), placeholder: '', @@ -111,126 +115,159 @@ onBeforeUnmount(() => editor.value?.destroy())