Files
event-manager/dashboard/src/components/LanguageSwitcher.vue
T
xadm 786cbc724f
CI / Server (push) Has been cancelled
Linters / Frappe Linter (push) Has been cancelled
Linters / Vulnerable Dependency Check (push) Has been cancelled
UI Tests / Playwright E2E Tests (push) Has been cancelled
Initialize fork and rebrand app to event_manager
2026-05-11 09:56:57 +02:00

31 lines
907 B
Vue

<template>
<Dropdown :options="languageOptions">
<template #default="{ open }">
<Button variant="ghost" size="md" :loading="isSwitching">
<LucideLanguages class="w-4 h-4" />
</Button>
</template>
</Dropdown>
</template>
<script setup>
import { useLanguage } from "@/composables/useLanguage";
import { Button, Dropdown } from "frappe-ui";
import { computed } from "vue";
import LucideLanguages from "~icons/lucide/languages";
const { availableLanguages, currentLanguage, changeLanguage, isSwitching } = useLanguage();
const languageOptions = computed(() => {
if (!availableLanguages.data || availableLanguages.data.length === 0) {
return [];
}
return availableLanguages.data.map((lang) => ({
label: lang.language_name || lang.name,
icon: currentLanguage.value === lang.language_code ? "check" : undefined,
onClick: () => changeLanguage(lang.language_code),
}));
});
</script>