This commit is contained in:
Jason Rasmussen
2025-04-28 09:53:53 -04:00
committed by GitHub
parent 85ac0512a6
commit e6c575c33e
130 changed files with 354 additions and 323 deletions
@@ -51,4 +51,5 @@ class EventManager<EventMap extends Record<string, unknown[]>> {
export const eventManager = new EventManager<{
'user.login': [];
'auth.logout': [];
'language.change': [{ name: string; code: string; rtl?: boolean }];
}>();
@@ -0,0 +1,21 @@
import { langs } from '$lib/constants';
import { eventManager } from '$lib/stores/event-manager.svelte';
class LanguageManager {
rtl = $state(false);
setLanguage(code: string) {
const item = langs.find((item) => item.code === code);
if (!item) {
return;
}
this.rtl = item.rtl ?? false;
document.body.setAttribute('dir', item.rtl ? 'rtl' : 'ltr');
eventManager.emit('language.change', item);
}
}
export const languageManager = new LanguageManager();