604d4f6005
Add a module-scope Base UI toast manager bridged to the QueryClient so every mutation can give consistent feedback. A MutationCache (extracted into a makeQueryClient() factory for test reuse) emits a catch-all, type-aware error toast (unless meta.suppressErrorToast) and an opt-in success toast (meta.successMessage), reading mutation.meta + i18n.t outside React. meta is type-checked via a react-query Register augmentation. ToastRegion is mounted app-wide in main.tsx. Adds a toast i18n namespace (en/sv parity) and a validated story. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
25 lines
692 B
TypeScript
25 lines
692 B
TypeScript
import { StrictMode } from "react";
|
|
import { createRoot } from "react-dom/client";
|
|
import { QueryClientProvider } from "@tanstack/react-query";
|
|
|
|
import { App } from "./app";
|
|
import { ConfigProvider } from "./config/config-provider";
|
|
import { makeQueryClient } from "./api/query-client";
|
|
import { ToastRegion } from "./components/ui/toast";
|
|
import "./index.css";
|
|
import "./i18n";
|
|
|
|
const queryClient = makeQueryClient();
|
|
|
|
createRoot(document.getElementById("root")!).render(
|
|
<StrictMode>
|
|
<QueryClientProvider client={queryClient}>
|
|
<ConfigProvider>
|
|
<ToastRegion>
|
|
<App />
|
|
</ToastRegion>
|
|
</ConfigProvider>
|
|
</QueryClientProvider>
|
|
</StrictMode>,
|
|
);
|