UNPKG

@helpwave/hightide

Version:

helpwave's component and theming library

53 lines (48 loc) 1.83 kB
// src/components/ErrorComponent.tsx import { AlertOctagon } from "lucide-react"; // src/hooks/useLanguage.tsx import { createContext, useContext, useEffect as useEffect2, useState as useState2 } from "react"; // src/hooks/useLocalStorage.tsx import { useCallback, useEffect, useState } from "react"; // src/hooks/useLanguage.tsx import { jsx } from "react/jsx-runtime"; var DEFAULT_LANGUAGE = "en"; var LanguageContext = createContext({ language: DEFAULT_LANGUAGE, setLanguage: (v) => v }); var useLanguage = () => useContext(LanguageContext); // src/hooks/useTranslation.ts var useTranslation = (defaults, translationOverwrite = {}) => { const { language: languageProp, translation: overwrite } = translationOverwrite; const { language: inferredLanguage } = useLanguage(); const usedLanguage = languageProp ?? inferredLanguage; let defaultValues = defaults[usedLanguage]; if (overwrite && overwrite[usedLanguage]) { defaultValues = { ...defaultValues, ...overwrite[usedLanguage] }; } return defaultValues; }; // src/components/ErrorComponent.tsx import clsx from "clsx"; import { jsx as jsx2, jsxs } from "react/jsx-runtime"; var defaultErrorComponentTranslation = { en: { errorOccurred: "An error occurred" }, de: { errorOccurred: "Ein Fehler ist aufgetreten" } }; var ErrorComponent = ({ overwriteTranslation, errorText, classname }) => { const translation = useTranslation(defaultErrorComponentTranslation, overwriteTranslation); return /* @__PURE__ */ jsxs("div", { className: clsx("col items-center justify-center gap-y-4 w-full h-24", classname), children: [ /* @__PURE__ */ jsx2(AlertOctagon, { size: 64, className: "text-warning" }), errorText ?? `${translation.errorOccurred} :(` ] }); }; export { ErrorComponent }; //# sourceMappingURL=ErrorComponent.mjs.map