Files
web/apps/scandic-web/i18n/Provider.tsx
Joakim Jäderberg daf765f3d5 Merged in feature/wrap-logging (pull request #2511)
Feature/wrap logging

* feat: change all logging to go through our own logger function so that we can control log levels

* move packages/trpc to using our own logger

* merge


Approved-by: Linus Flood
2025-07-03 12:37:04 +00:00

42 lines
836 B
TypeScript

"use client"
import { IntlProvider } from "react-intl"
import { logger } from "@scandic-hotels/common/logger"
import type { ClientIntlProviderProps } from "@/types/i18n"
const logged: Record<string, boolean> = {}
export default function ClientIntlProvider({
children,
locale,
defaultLocale,
messages,
}: ClientIntlProviderProps) {
return (
<IntlProvider
locale={locale}
defaultLocale={defaultLocale}
messages={messages}
onError={(err) => {
let msg = err.message
if (err.code === "MISSING_TRANSLATION") {
const id = err.descriptor?.id
if (id) {
msg = id
}
}
if (!logged[msg]) {
logged[msg] = true
logger.warn("IntlProvider", err)
}
}}
>
{children}
</IntlProvider>
)
}