feat(settings/options/rendering-mode): implement

This commit is contained in:
2026-01-29 17:52:26 +01:00
parent afffbe9e61
commit 70bbf3601a
14 changed files with 191 additions and 17 deletions

View File

@@ -8,12 +8,14 @@ const settingsSchema = z.object({
col: z.number(),
row: z.number(),
}),
renderingMode: z.enum(["3d", "2d"]),
});
type Settings = z.infer<typeof settingsSchema>;
const defaultSettings = (): Settings => ({
color: { col: 0, row: 0 },
renderingMode: "3d",
});
export const useAppStore = defineStore("app", {
@@ -27,7 +29,8 @@ export const useAppStore = defineStore("app", {
}
return {
booted: false,
ready: false,
booted: true,
settings,
previousScreen: "home" as AppScreen,
screen: "home" as AppScreen,
@@ -40,6 +43,12 @@ export const useAppStore = defineStore("app", {
this.settings.color = { col, row };
},
setRenderingMode(mode: Settings["renderingMode"]) {
this.ready = mode === "2d";
this.settings.renderingMode = mode;
this.save();
},
navigateTo(screen: AppScreen) {
this.previousScreen = this.screen;
this.screen = screen;