feat(settings/options/rendering-mode): implement
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user