feat(nav-user): add language toggle functionality to user menu

This commit is contained in:
2025-11-04 16:56:51 -06:00
parent ab57c6cd79
commit f886498bac

View File

@@ -9,14 +9,26 @@
import CreditCardIcon from "@lucide/svelte/icons/credit-card";
import LogOutIcon from "@lucide/svelte/icons/log-out";
import SparklesIcon from "@lucide/svelte/icons/sparkles";
import LanguagesIcon from "@lucide/svelte/icons/languages";
import { logout } from "$lib/auth";
import { setLocale, locales } from "$lib/paraglide/runtime";
import { page } from "$app/state";
let { user }: { user: { name: string; email: string; avatar: string } } = $props();
const sidebar = useSidebar();
// Estado reactivo del idioma actual
let currentLocale = $derived(page.data.locale || 'en');
async function handleLogout() {
await logout();
}
function toggleLanguage() {
// Alternar entre 'en' y 'es'
const newLocale = currentLocale === 'en' ? 'es' : 'en';
setLocale(newLocale);
}
</script>
<Sidebar.Menu>
@@ -82,6 +94,11 @@
</DropdownMenu.Item>
</DropdownMenu.Group>
<DropdownMenu.Separator />
<DropdownMenu.Item onclick={toggleLanguage}>
<LanguagesIcon />
Language: {currentLocale.toUpperCase()}
</DropdownMenu.Item>
<DropdownMenu.Separator />
<DropdownMenu.Item onclick={handleLogout}>
<LogOutIcon />
Log out