feat(phase3): import/export, sparklines, user theme overrides

- JSON import/export with conflict resolution (skip/overwrite) + admin UI
- Ping history sparklines on AppWidget and AppCard (24h, 288 points)
- Hourly cleanup job for old AppStatus records
- User theme preferences (hue, saturation, mode, background, locale)
- Settings page with ThemeCustomizer (sliders, toggles, live preview)
- Prisma migration for user preference fields
- i18n translations for all new strings (EN/RU)
This commit is contained in:
2026-03-25 00:51:01 +03:00
parent d155b3ce4a
commit c6a7de895d
30 changed files with 1633 additions and 44 deletions
@@ -0,0 +1,6 @@
-- AlterTable
ALTER TABLE "User" ADD COLUMN "backgroundType" TEXT;
ALTER TABLE "User" ADD COLUMN "locale" TEXT;
ALTER TABLE "User" ADD COLUMN "primaryHue" INTEGER;
ALTER TABLE "User" ADD COLUMN "primarySaturation" INTEGER;
ALTER TABLE "User" ADD COLUMN "themeMode" TEXT;
+6
View File
@@ -20,6 +20,12 @@ model User {
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
themeMode String?
primaryHue Int?
primarySaturation Int?
backgroundType String?
locale String?
groups UserGroup[]
createdApps App[]
boards Board[]