You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.2 KiB
Vue
48 lines
1.2 KiB
Vue
<script setup lang="ts">
|
|
import VPIconLanguages from 'vitepress/dist/client/theme-default/components/icons/VPIconLanguages.vue'
|
|
import VPFlyout from 'vitepress/dist/client/theme-default/components/VPFlyout.vue'
|
|
import VPMenuLink from 'vitepress/dist/client/theme-default/components/VPMenuLink.vue'
|
|
import { useData } from 'vitepress'
|
|
import { useLangs } from '../composables/langs'
|
|
|
|
const { theme } = useData()
|
|
const { localeLinks, currentLang } = useLangs({ correspondingLink: true })
|
|
</script>
|
|
|
|
<template>
|
|
<VPFlyout
|
|
v-if="localeLinks.length && currentLang.label"
|
|
class="VPNavBarTranslations"
|
|
:icon="VPIconLanguages"
|
|
:label="theme.langMenuLabel || 'Change language'"
|
|
>
|
|
<div class="items">
|
|
<p class="title">{{ currentLang.label }}</p>
|
|
|
|
<template v-for="locale in localeLinks" :key="locale.link">
|
|
<VPMenuLink :item="locale" />
|
|
</template>
|
|
</div>
|
|
</VPFlyout>
|
|
</template>
|
|
|
|
<style scoped>
|
|
.VPNavBarTranslations {
|
|
display: none;
|
|
}
|
|
|
|
@media (min-width: 1280px) {
|
|
.VPNavBarTranslations {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
}
|
|
|
|
.title {
|
|
padding: 0 24px 0 12px;
|
|
line-height: 32px;
|
|
font-size: 14px;
|
|
font-weight: 700;
|
|
color: var(--vp-c-text-1);
|
|
}
|
|
</style> |