From a9189506cc7828b94cc34a8de67337bbb17571cf Mon Sep 17 00:00:00 2001 From: Rich Jenkins Date: Thu, 25 Jun 2026 21:42:30 +0100 Subject: [PATCH] Remember supply cart days --- src/features/api/schemas/user.schemas.ts | 1 + src/features/planning/components/tools/PlanSupplyCart.vue | 4 ++-- src/features/preferences/usePreferences.ts | 7 +++++++ src/features/preferences/userDefaults.ts | 1 + src/features/preferences/userPreferences.types.ts | 1 + 5 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/features/api/schemas/user.schemas.ts b/src/features/api/schemas/user.schemas.ts index 7f26273b..176a093e 100644 --- a/src/features/api/schemas/user.schemas.ts +++ b/src/features/api/schemas/user.schemas.ts @@ -136,6 +136,7 @@ export const UserPreferenceSchema: z.ZodType = z.object({ burnDaysYellow: z.number(), burnResupplyDays: z.number(), burnOrigin: z.string(), + supplyCartDays: z.number(), layoutNavigationStyle: z.enum(["full", "collapsed"]), planOverrides: z.record( z.string(), diff --git a/src/features/planning/components/tools/PlanSupplyCart.vue b/src/features/planning/components/tools/PlanSupplyCart.vue index 38de0388..b6abbc25 100644 --- a/src/features/planning/components/tools/PlanSupplyCart.vue +++ b/src/features/planning/components/tools/PlanSupplyCart.vue @@ -17,6 +17,7 @@ // Composables import { useFIOStorage } from "@/features/fio/useFIOStorage"; + import { usePreferences } from "@/features/preferences/usePreferences"; // Types & Interfaces import { IMaterialIO } from "@/features/planning/usePlanCalculation.types"; @@ -72,8 +73,7 @@ const { hasStorage, storageOptions, findStorageValueFromOptions } = useFIOStorage(); - - const refStockRequirement: Ref = ref(20); + const { supplyCartDays: refStockRequirement } = usePreferences(); const refSelectedStorage: Ref = ref( hasStorage.value ? storageOptions.value.filter( diff --git a/src/features/preferences/usePreferences.ts b/src/features/preferences/usePreferences.ts index bd5fd8c4..666ff163 100644 --- a/src/features/preferences/usePreferences.ts +++ b/src/features/preferences/usePreferences.ts @@ -92,6 +92,12 @@ export function usePreferences() { set: (v) => userStore.setPreference("burnOrigin", v), }); + const supplyCartDays: WritableComputedRef = + computed({ + get: () => userStore.preferences.supplyCartDays ?? 20, + set: (v) => userStore.setPreference("supplyCartDays", v), + }); + const planSettings: ComputedRef< Record> > = computed(() => { @@ -234,6 +240,7 @@ export function usePreferences() { burnDaysYellow, burnResupplyDays, burnOrigin, + supplyCartDays, planSettings, planSettingsOverview, layoutNavigationStyle, diff --git a/src/features/preferences/userDefaults.ts b/src/features/preferences/userDefaults.ts index 3405be1a..d4f890bd 100644 --- a/src/features/preferences/userDefaults.ts +++ b/src/features/preferences/userDefaults.ts @@ -17,6 +17,7 @@ export const preferenceDefaults: IPreferenceDefault = { burnDaysYellow: 10, burnResupplyDays: 20, burnOrigin: "Configure on Execution", + supplyCartDays: 20, layoutNavigationStyle: "full", planOverrides: {}, diff --git a/src/features/preferences/userPreferences.types.ts b/src/features/preferences/userPreferences.types.ts index f744d4d5..0850aa09 100644 --- a/src/features/preferences/userPreferences.types.ts +++ b/src/features/preferences/userPreferences.types.ts @@ -15,6 +15,7 @@ export interface IPreference { burnDaysYellow: number; burnResupplyDays: number; burnOrigin: string; + supplyCartDays: number; layoutNavigationStyle: "full" | "collapsed"; // seeding per plan defaults