mirror of
https://github.com/JustAnimeCore/JustAnime.git
synced 2026-04-17 13:51:44 +00:00
language toggle
This commit is contained in:
@@ -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 (
|
||||
|
||||
@@ -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';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user