/* Copyright 2026 Element Creations Ltd. SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial Please see LICENSE in the repository root for full details. */ import type { Preview } from "@storybook/react-vite"; import { TooltipProvider } from "@vector-im/compound-web"; import i18n from "i18next"; import { logger } from "matrix-js-sdk/lib/logger"; import EN from "../locales/en/app.json"; import { initReactI18next } from "react-i18next"; import "../src/index.css"; // Bare-minimum i18n config i18n .use(initReactI18next) .init({ lng: "en", fallbackLng: "en", supportedLngs: ["en"], // We embed the translations, so that it never needs to fetch resources: { en: { translation: EN, }, }, interpolation: { escapeValue: false, // React has built-in XSS protections }, }) .catch((e) => logger.warn("Failed to init i18n for stories", e)); const preview: Preview = { parameters: { layout: "centered", controls: { matchers: { color: /(background|color)$/i, date: /Date$/i, }, }, }, tags: ["autodocs"], decorators: [ (Story) => ( ), ], }; export default preview;