custom scrollbars, portable storage, window state persistence

This commit is contained in:
2026-02-15 22:18:50 +02:00
parent f4c4fdee81
commit 545ac3b637
8 changed files with 130 additions and 9 deletions

View File

@@ -57,6 +57,14 @@ export const boardSchema = z.object({
settings: boardSettingsSchema.default({ attachmentMode: "link", background: "none" }),
});
export const windowStateSchema = z.object({
x: z.number(),
y: z.number(),
width: z.number(),
height: z.number(),
maximized: z.boolean(),
});
export const appSettingsSchema = z.object({
theme: z.enum(["light", "dark", "system"]).default("system"),
dataDirectory: z.string().nullable().default(null),
@@ -65,4 +73,5 @@ export const appSettingsSchema = z.object({
uiZoom: z.number().min(0.75).max(1.5).default(1),
density: z.enum(["compact", "comfortable", "spacious"]).default("comfortable"),
defaultColumnWidth: z.enum(["narrow", "standard", "wide"]).default("standard"),
windowState: windowStateSchema.nullable().default(null),
});