From d1137fa2add67c4f292c717535609cd6f278cac3 Mon Sep 17 00:00:00 2001 From: Michael Genson <71845777+michael-genson@users.noreply.github.com> Date: Mon, 30 Jun 2025 20:11:35 +0000 Subject: [PATCH] add optional i18n param to all stores --- frontend/composables/store/use-category-store.ts | 9 +++++---- frontend/composables/store/use-food-store.ts | 9 +++++---- frontend/composables/store/use-label-store.ts | 5 +++-- frontend/composables/store/use-tag-store.ts | 9 +++++---- frontend/composables/store/use-tool-store.ts | 9 +++++---- frontend/composables/store/use-unit-store.ts | 5 +++-- frontend/composables/store/use-user-store.ts | 5 +++-- 7 files changed, 29 insertions(+), 22 deletions(-) diff --git a/frontend/composables/store/use-category-store.ts b/frontend/composables/store/use-category-store.ts index 0509fa7c7..62479f0a7 100644 --- a/frontend/composables/store/use-category-store.ts +++ b/frontend/composables/store/use-category-store.ts @@ -1,6 +1,7 @@ import { useData, useReadOnlyStore, useStore } from "../partials/use-store-factory"; import type { RecipeCategory } from "~/lib/api/types/recipe"; import { usePublicExploreApi, useUserApi } from "~/composables/api"; +import type { Composer } from "vue-i18n"; const store: Ref = ref([]); const loading = ref(false); @@ -14,12 +15,12 @@ export const useCategoryData = function () { }); }; -export const useCategoryStore = function () { - const api = useUserApi(); +export const useCategoryStore = function (i18n?: Composer) { + const api = useUserApi(i18n); return useStore(store, loading, api.categories); }; -export const usePublicCategoryStore = function (groupSlug: string) { - const api = usePublicExploreApi(groupSlug).explore; +export const usePublicCategoryStore = function (groupSlug: string, i18n?: Composer) { + const api = usePublicExploreApi(groupSlug, i18n).explore; return useReadOnlyStore(store, publicLoading, api.categories); }; diff --git a/frontend/composables/store/use-food-store.ts b/frontend/composables/store/use-food-store.ts index 80ef1c7c3..df73cd05c 100644 --- a/frontend/composables/store/use-food-store.ts +++ b/frontend/composables/store/use-food-store.ts @@ -1,6 +1,7 @@ import { useData, useReadOnlyStore, useStore } from "../partials/use-store-factory"; import type { IngredientFood } from "~/lib/api/types/recipe"; import { usePublicExploreApi, useUserApi } from "~/composables/api"; +import type { Composer } from "vue-i18n"; const store: Ref = ref([]); const loading = ref(false); @@ -15,12 +16,12 @@ export const useFoodData = function () { }); }; -export const useFoodStore = function () { - const api = useUserApi(); +export const useFoodStore = function (i18n?: Composer) { + const api = useUserApi(i18n); return useStore(store, loading, api.foods); }; -export const usePublicFoodStore = function (groupSlug: string) { - const api = usePublicExploreApi(groupSlug).explore; +export const usePublicFoodStore = function (groupSlug: string, i18n?: Composer) { + const api = usePublicExploreApi(groupSlug, i18n).explore; return useReadOnlyStore(store, publicLoading, api.foods); }; diff --git a/frontend/composables/store/use-label-store.ts b/frontend/composables/store/use-label-store.ts index 96219aa15..a4858fbec 100644 --- a/frontend/composables/store/use-label-store.ts +++ b/frontend/composables/store/use-label-store.ts @@ -1,6 +1,7 @@ import { useData, useStore } from "../partials/use-store-factory"; import type { MultiPurposeLabelOut } from "~/lib/api/types/labels"; import { useUserApi } from "~/composables/api"; +import type { Composer } from "vue-i18n"; const store: Ref = ref([]); const loading = ref(false); @@ -14,7 +15,7 @@ export const useLabelData = function () { }); }; -export const useLabelStore = function () { - const api = useUserApi(); +export const useLabelStore = function (i18n?: Composer) { + const api = useUserApi(i18n); return useStore(store, loading, api.multiPurposeLabels); }; diff --git a/frontend/composables/store/use-tag-store.ts b/frontend/composables/store/use-tag-store.ts index 939a14232..4fe24e4f3 100644 --- a/frontend/composables/store/use-tag-store.ts +++ b/frontend/composables/store/use-tag-store.ts @@ -1,6 +1,7 @@ import { useData, useReadOnlyStore, useStore } from "../partials/use-store-factory"; import type { RecipeTag } from "~/lib/api/types/recipe"; import { usePublicExploreApi, useUserApi } from "~/composables/api"; +import type { Composer } from "vue-i18n"; const store: Ref = ref([]); const loading = ref(false); @@ -14,12 +15,12 @@ export const useTagData = function () { }); }; -export const useTagStore = function () { - const api = useUserApi(); +export const useTagStore = function (i18n?: Composer) { + const api = useUserApi(i18n); return useStore(store, loading, api.tags); }; -export const usePublicTagStore = function (groupSlug: string) { - const api = usePublicExploreApi(groupSlug).explore; +export const usePublicTagStore = function (groupSlug: string, i18n?: Composer) { + const api = usePublicExploreApi(groupSlug, i18n).explore; return useReadOnlyStore(store, publicLoading, api.tags); }; diff --git a/frontend/composables/store/use-tool-store.ts b/frontend/composables/store/use-tool-store.ts index 4886d0b13..d2a84cfd8 100644 --- a/frontend/composables/store/use-tool-store.ts +++ b/frontend/composables/store/use-tool-store.ts @@ -1,6 +1,7 @@ import { useData, useReadOnlyStore, useStore } from "../partials/use-store-factory"; import type { RecipeTool } from "~/lib/api/types/recipe"; import { usePublicExploreApi, useUserApi } from "~/composables/api"; +import type { Composer } from "vue-i18n"; interface RecipeToolWithOnHand extends RecipeTool { onHand: boolean; @@ -20,12 +21,12 @@ export const useToolData = function () { }); }; -export const useToolStore = function () { - const api = useUserApi(); +export const useToolStore = function (i18n?: Composer) { + const api = useUserApi(i18n); return useStore(store, loading, api.tools); }; -export const usePublicToolStore = function (groupSlug: string) { - const api = usePublicExploreApi(groupSlug).explore; +export const usePublicToolStore = function (groupSlug: string, i18n?: Composer) { + const api = usePublicExploreApi(groupSlug, i18n).explore; return useReadOnlyStore(store, publicLoading, api.tools); }; diff --git a/frontend/composables/store/use-unit-store.ts b/frontend/composables/store/use-unit-store.ts index 2ba3592d4..eed6c86f1 100644 --- a/frontend/composables/store/use-unit-store.ts +++ b/frontend/composables/store/use-unit-store.ts @@ -1,6 +1,7 @@ import { useData, useStore } from "../partials/use-store-factory"; import type { IngredientUnit } from "~/lib/api/types/recipe"; import { useUserApi } from "~/composables/api"; +import type { Composer } from "vue-i18n"; const store: Ref = ref([]); const loading = ref(false); @@ -15,7 +16,7 @@ export const useUnitData = function () { }); }; -export const useUnitStore = function () { - const api = useUserApi(); +export const useUnitStore = function (i18n?: Composer) { + const api = useUserApi(i18n); return useStore(store, loading, api.units); }; diff --git a/frontend/composables/store/use-user-store.ts b/frontend/composables/store/use-user-store.ts index b5ce6e385..b9a84cbee 100644 --- a/frontend/composables/store/use-user-store.ts +++ b/frontend/composables/store/use-user-store.ts @@ -2,6 +2,7 @@ import { useReadOnlyStore } from "../partials/use-store-factory"; import { useRequests } from "../api/api-client"; import type { UserSummary } from "~/lib/api/types/user"; import { BaseCRUDAPIReadOnly } from "~/lib/api/base/base-clients"; +import type { Composer } from "vue-i18n"; const store: Ref = ref([]); const loading = ref(false); @@ -11,8 +12,8 @@ class GroupUserAPIReadOnly extends BaseCRUDAPIReadOnly { itemRoute = (idOrUsername: string | number) => `/groups/members/${idOrUsername}`; } -export const useUserStore = function () { - const requests = useRequests(); +export const useUserStore = function (i18n?: Composer) { + const requests = useRequests(i18n); const api = new GroupUserAPIReadOnly(requests); return useReadOnlyStore(store, loading, api, { orderBy: "full_name" });