api-client/components/smart/ChangeLanguage.vue

36 lines
896 B
Vue
Raw Normal View History

2021-07-02 05:01:29 +00:00
<template>
2021-08-02 15:27:18 +00:00
<span class="inline-flex">
2021-07-02 05:01:29 +00:00
<tippy
ref="language"
2021-07-08 07:30:41 +00:00
interactive
2021-07-03 13:14:58 +00:00
tabindex="-1"
2021-07-02 05:01:29 +00:00
trigger="click"
theme="popover"
arrow
:animate-fill="false"
>
<template #trigger>
2021-08-02 15:27:18 +00:00
<ButtonSecondary
2021-07-03 13:14:58 +00:00
v-tippy="{ theme: 'tooltip' }"
:title="$t('choose_language')"
class="font-medium focus:outline-none"
2021-08-02 15:27:18 +00:00
outline
:label="`${
$i18n.locales.find(({ code }) => code == $i18n.locale).name
}`"
/>
2021-07-02 05:01:29 +00:00
</template>
<nuxt-link
2021-07-13 23:49:08 +00:00
v-for="(locale, index) in $i18n.locales.filter(
2021-07-02 05:01:29 +00:00
({ code }) => code !== $i18n.locale
)"
2021-07-13 23:49:08 +00:00
:key="`locale-${index}`"
:to="switchLocalePath(locale.code)"
@click="$refs.language.tippy().hide()"
>
2021-08-02 15:27:18 +00:00
<SmartItem :label="locale.name" />
</nuxt-link>
2021-07-02 05:01:29 +00:00
</tippy>
</span>
</template>