Files
shahikitchen-prod/infrastructure/persistence/local-storage-language-repository.ts

18 lines
641 B
TypeScript

import type { LanguageRepository } from '@/domain/language/repository';
import { isLanguage, type Language } from '@/domain/language/entities';
import { STORAGE_KEYS } from '@/domain/shared/constants';
export class LocalStorageLanguageRepository implements LanguageRepository {
load(): Language | null {
if (typeof window === 'undefined') return null;
const saved = localStorage.getItem(STORAGE_KEYS.language);
if (saved && isLanguage(saved)) return saved;
return null;
}
save(language: Language): void {
if (typeof window === 'undefined') return;
localStorage.setItem(STORAGE_KEYS.language, language);
}
}