From c682e50a4f305a313221be5929c1ababbbfc9523 Mon Sep 17 00:00:00 2001 From: Eichenholz Date: Mon, 3 Aug 2026 19:05:09 +0200 Subject: [PATCH] ENH - settings app --- frontend/src/views/apps/SettingsApp.vue | 101 +++++++++++++++++++++--- sky_phone/source/html/index.html | 4 +- 2 files changed, 93 insertions(+), 12 deletions(-) diff --git a/frontend/src/views/apps/SettingsApp.vue b/frontend/src/views/apps/SettingsApp.vue index 82f96d1..4727f82 100644 --- a/frontend/src/views/apps/SettingsApp.vue +++ b/frontend/src/views/apps/SettingsApp.vue @@ -10,7 +10,17 @@ import { kSearchbar, kToggle, } from 'konsta/vue' -import { Check, UserRound } from 'lucide-vue-next' +import { + BellRing, + Check, + EyeOff, + Monitor, + Plane, + Settings, + Sun, + UserRound, + Volume2, +} from 'lucide-vue-next' import { computed, nextTick, ref, type ComponentPublicInstance } from 'vue' import { PHONE_FRAME_IMAGES } from '@/config/appearance' @@ -47,17 +57,50 @@ const selectedNotificationAppId = ref('calculator') const settingsPage = ref(null) const toggleRows = [ - { key: 'airplaneMode' as const }, - { key: 'streamerMode' as const }, + { + key: 'airplaneMode' as const, + icon: Plane, + iconClass: 'bg-linear-to-br from-amber-300 via-orange-500 to-red-500', + }, + { + key: 'streamerMode' as const, + icon: EyeOff, + iconClass: 'bg-linear-to-br from-violet-400 via-purple-500 to-fuchsia-600', + }, ] const serviceRows = [ - { key: 'notifications', view: 'notifications' as const }, - { key: 'sounds', view: 'sounds' as const }, + { + key: 'notifications', + view: 'notifications' as const, + icon: BellRing, + iconClass: 'bg-linear-to-br from-rose-400 via-red-500 to-red-700', + }, + { + key: 'sounds', + view: 'sounds' as const, + icon: Volume2, + iconClass: 'bg-linear-to-br from-pink-400 via-rose-500 to-red-600', + }, ] const preferenceRows = [ - { key: 'general', view: 'general' as const }, - { key: 'appearance', view: 'appearance' as const }, - { key: 'wallpaper', view: 'wallpaper' as const }, + { + key: 'general', + view: 'general' as const, + icon: Settings, + iconClass: 'bg-linear-to-br from-slate-300 via-gray-500 to-slate-700', + }, + { + key: 'appearance', + view: 'appearance' as const, + icon: Sun, + iconClass: 'bg-linear-to-br from-sky-300 via-blue-500 to-indigo-600', + }, + { + key: 'wallpaper', + view: 'wallpaper' as const, + icon: Monitor, + iconClass: 'bg-linear-to-br from-cyan-300 via-sky-500 to-blue-600', + }, ] const normalizedQuery = computed(() => query.value.trim().toLowerCase()) @@ -191,7 +234,19 @@ function selectNotificationSound(sound: NotificationSoundId): void { v-for="row in visibleToggleRows" :key="row.key" :title="phone.t(`Apps.settings.${row.key}`)" + title-font-size-ios="text-[16px]" + title-wrap-class="whitespace-nowrap" > + diff --git a/sky_phone/source/html/index.html b/sky_phone/source/html/index.html index d73a1f2..3f52d91 100644 --- a/sky_phone/source/html/index.html +++ b/sky_phone/source/html/index.html @@ -4,8 +4,8 @@ Sky Phone - - + +