From 0c4b299b0b7b3b04714616fd1c57b8057f3a55c6 Mon Sep 17 00:00:00 2001 From: marciobever Date: Sun, 3 May 2026 16:08:51 +0000 Subject: [PATCH] Fix: Ultimate SSR safety for CyberTheme and i18n --- src/lib/i18n.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/i18n.ts b/src/lib/i18n.ts index 1129c12..f427140 100644 --- a/src/lib/i18n.ts +++ b/src/lib/i18n.ts @@ -2,7 +2,7 @@ import { useState, useEffect } from 'react'; export type Language = 'pt' | 'en' | 'es'; -const translations = { +const translations: Record = { pt: { nav: { home: 'Início', articles: 'Artigos', contact: 'Contato', language: 'Idioma' }, footer: { rights: 'Todos os direitos reservados', builtWith: 'Construído com' } @@ -23,7 +23,7 @@ export function useLanguage() { useEffect(() => { if (typeof window !== 'undefined') { const saved = localStorage.getItem('lang'); - if (saved && (translations as any)[saved]) { + if (saved && translations[saved as Language]) { setLangState(saved as Language); } } @@ -32,7 +32,7 @@ export function useLanguage() { useEffect(() => { const handleLangChange = (e: Event) => { const detail = (e as CustomEvent).detail; - if (detail && (translations as any)[detail]) { + if (detail && translations[detail as Language]) { setLangState(detail); } }; @@ -52,6 +52,6 @@ export function useLanguage() { lang, setLanguage: setLang, setLang, - t: (translations as any)[lang] || translations.pt + t: translations[lang] || translations.pt }; }