feat(ui): use column layout for language modal
This commit is contained in:
parent
0672f7e966
commit
0659342715
|
@ -17,6 +17,7 @@ import PopoverRadioItem from '~/components/ui/popover/PopoverRadioItem.vue'
|
||||||
import PopoverSubmenu from '~/components/ui/popover/PopoverSubmenu.vue'
|
import PopoverSubmenu from '~/components/ui/popover/PopoverSubmenu.vue'
|
||||||
import Link from '~/components/ui/Link.vue'
|
import Link from '~/components/ui/Link.vue'
|
||||||
import Modal from '~/components/ui/Modal.vue'
|
import Modal from '~/components/ui/Modal.vue'
|
||||||
|
import Layout from '~/components/ui/Layout.vue'
|
||||||
|
|
||||||
const { showShortcutsModal } = defineProps<{
|
const { showShortcutsModal } = defineProps<{
|
||||||
showShortcutsModal : () => void
|
showShortcutsModal : () => void
|
||||||
|
@ -103,36 +104,35 @@ watchEffect(()=> {
|
||||||
{{ labels.settings }}
|
{{ labels.settings }}
|
||||||
</Link>
|
</Link>
|
||||||
</PopoverItem>
|
</PopoverItem>
|
||||||
<hr v-if="store.state.auth.authenticated"/>
|
<hr v-if="store.state.auth.authenticated && store.state.auth.profile?.avatar?.urls.medium_square_crop"/>
|
||||||
<PopoverItem @click="isLanguageModelOpen = true">
|
<PopoverItem @click="isLanguageModelOpen = true"
|
||||||
|
:aria-pressed="isLanguageModelOpen"
|
||||||
|
class="solid interactive"
|
||||||
|
>
|
||||||
<i class="bi bi-translate" />
|
<i class="bi bi-translate" />
|
||||||
{{ labels.language }}...
|
{{ labels.language }}...
|
||||||
<Modal v-model="isLanguageModelOpen" :title="labels.language" overPopover>
|
<Modal v-model="isLanguageModelOpen" :title="labels.language" overPopover>
|
||||||
|
<Layout columns :column-width="140">
|
||||||
<Button ghost v-for="(language, key) in SUPPORTED_LOCALES"
|
<Button ghost v-for="(language, key) in SUPPORTED_LOCALES"
|
||||||
|
thin
|
||||||
|
width="full"
|
||||||
|
align-text="left"
|
||||||
|
:aria-pressed="key===locale"
|
||||||
:key="key"
|
:key="key"
|
||||||
@click="setI18nLanguage(key)" >
|
@click="setI18nLanguage(key)"
|
||||||
|
>
|
||||||
{{ language }}
|
{{ language }}
|
||||||
</Button>
|
</Button>
|
||||||
|
</Layout>
|
||||||
</Modal>
|
</Modal>
|
||||||
</PopoverItem>
|
</PopoverItem>
|
||||||
<PopoverSubmenu>
|
|
||||||
<i class="bi bi-translate" />
|
|
||||||
{{ labels.language }}
|
|
||||||
<template #items>
|
|
||||||
<PopoverItem v-for="(language, key) in SUPPORTED_LOCALES"
|
|
||||||
:key="key"
|
|
||||||
@click="setI18nLanguage(key)" >
|
|
||||||
{{ language }}
|
|
||||||
</PopoverItem>
|
|
||||||
</template>
|
|
||||||
</PopoverSubmenu>
|
|
||||||
<PopoverSubmenu>
|
<PopoverSubmenu>
|
||||||
<i class="bi bi-palette-fill" />
|
<i class="bi bi-palette-fill" />
|
||||||
{{ labels.theme }}
|
{{ labels.theme }}
|
||||||
<template #items>
|
<template #items>
|
||||||
<PopoverItem v-for="th in themes"
|
<PopoverItem v-for="th in themes"
|
||||||
:key="th.key"
|
:key="th.key"
|
||||||
@click="theme= th.key" >
|
@click="theme=th.key" >
|
||||||
<i :class="th.icon" />
|
<i :class="th.icon" />
|
||||||
{{ th.name }}
|
{{ th.name }}
|
||||||
</PopoverItem>
|
</PopoverItem>
|
||||||
|
|
Loading…
Reference in New Issue