diff --git a/web/src/config/config-context.test.tsx b/web/src/config/config-context.test.tsx index 996b239..69e1f75 100644 --- a/web/src/config/config-context.test.tsx +++ b/web/src/config/config-context.test.tsx @@ -2,7 +2,8 @@ import { expect, test, beforeEach } from "vitest"; import { screen, waitFor, render } from "@testing-library/react"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import i18n, { LOCALE_KEY } from "../i18n"; -import { ConfigProvider, useConfig } from "./config-context"; +import { ConfigProvider } from "./config-provider"; +import { useConfig } from "./config-context"; function Probe() { const config = useConfig(); diff --git a/web/src/config/config-context.ts b/web/src/config/config-context.ts new file mode 100644 index 0000000..e2a801c --- /dev/null +++ b/web/src/config/config-context.ts @@ -0,0 +1,17 @@ +import { createContext, useContext } from "react"; + +import type { components } from "../api/schema"; + +export type ConfigView = components["schemas"]["ConfigView"]; + +export const DEFAULTS: ConfigView = { + app_name: "Collection Management System", + default_language: "sv", + default_timezone: "Europe/Stockholm", +}; + +export const ConfigContext = createContext(DEFAULTS); + +export function useConfig(): ConfigView { + return useContext(ConfigContext); +} diff --git a/web/src/config/config-context.tsx b/web/src/config/config-provider.tsx similarity index 65% rename from web/src/config/config-context.tsx rename to web/src/config/config-provider.tsx index 978672e..8573294 100644 --- a/web/src/config/config-context.tsx +++ b/web/src/config/config-provider.tsx @@ -1,23 +1,9 @@ -import { createContext, useContext, useEffect, type ReactNode } from "react"; +import { useEffect, type ReactNode } from "react"; import { useQuery } from "@tanstack/react-query"; -import type { components } from "../api/schema"; import { api } from "../api/client"; import i18n, { LOCALE_KEY } from "../i18n"; - -type ConfigView = components["schemas"]["ConfigView"]; - -const DEFAULTS: ConfigView = { - app_name: "Collection Management System", - default_language: "sv", - default_timezone: "Europe/Stockholm", -}; - -const ConfigContext = createContext(DEFAULTS); - -export function useConfig(): ConfigView { - return useContext(ConfigContext); -} +import { ConfigContext, DEFAULTS, type ConfigView } from "./config-context"; export function ConfigProvider({ children }: { children: ReactNode }) { const { data } = useQuery({ diff --git a/web/src/main.tsx b/web/src/main.tsx index 92b2d30..0b05e74 100644 --- a/web/src/main.tsx +++ b/web/src/main.tsx @@ -3,7 +3,7 @@ import { createRoot } from "react-dom/client"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { App } from "./app"; -import { ConfigProvider } from "./config/config-context"; +import { ConfigProvider } from "./config/config-provider"; import "./index.css"; import "./i18n";