From d02460a0730b8717d9503a50f7fa4be21759d29a Mon Sep 17 00:00:00 2001 From: Tejas Panchal Date: Sun, 15 Feb 2026 11:43:26 +0530 Subject: [PATCH] language toggle --- src/context/LanguageContext.jsx | 9 +++++++-- src/utils/getSafetitle.js | 13 ++++++++----- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/context/LanguageContext.jsx b/src/context/LanguageContext.jsx index cec8067..6b6ab6c 100644 --- a/src/context/LanguageContext.jsx +++ b/src/context/LanguageContext.jsx @@ -5,14 +5,19 @@ const LanguageContext = createContext(); export const LanguageProvider = ({ children }) => { const [language, setLanguage] = useState(() => { const storedLanguage = localStorage.getItem('language'); - return storedLanguage ? storedLanguage : 'EN'; + const lang = storedLanguage ? storedLanguage.toUpperCase() : 'EN'; + return ['EN', 'JP'].includes(lang) ? lang : 'EN'; }); + useEffect(() => { localStorage.setItem('language', language); }, [language]); const toggleLanguage = (lang) => { - setLanguage(lang); + const normalizedLang = lang.toUpperCase(); + if (['EN', 'JP'].includes(normalizedLang)) { + setLanguage(normalizedLang); + } }; return ( diff --git a/src/utils/getSafetitle.js b/src/utils/getSafetitle.js index 1c5dd53..aa17ea4 100644 --- a/src/utils/getSafetitle.js +++ b/src/utils/getSafetitle.js @@ -1,9 +1,12 @@ export default function getSafeTitle(title, language = 'EN', jpTitle = '') { - if (!title) return ''; - + if (!title) return jpTitle || ''; + + // Handle language preference + if (language === 'JP' && jpTitle) return jpTitle; + // If title is already a string, return it if (typeof title === 'string') return title; - + // If title is an object, extract based on language preference if (typeof title === 'object') { if (language === 'EN') { @@ -13,6 +16,6 @@ export default function getSafeTitle(title, language = 'EN', jpTitle = '') { return title.native || title.romaji || title.userPreferred || title.english || jpTitle || 'Unknown Title'; } } - - return 'Unknown Title'; + + return jpTitle || 'Unknown Title'; }