727d05915f
* fix: rtl arrows on settings page * fix: border on settings page for RTL languages * fix: RTL fixes for logo, search box and logout icon * fix: RTL layout bugs in conversations * chore: remove rtl setting icon * improve arabic locale * add new entries to arabic locale * chore: include number format * fix: RTL layout on several pages * fix: RTL layout of account header and sign in modal * fix: always display account handle in LTR * fix: move character counter in publish widget to left side for RTL * fix: remove border-ss-none unocss rule * fix: many RTL fixes * fix: RTL fixes for many pages * fix: use viewer's direction in all content * chore: use new arabic plural rules * chore: flip arrow on main content header * chore: fix StatusPoll and show_new_items for zh-TW * chore: StatusPoll tooltip on bottom * chore: add `en` variants to i18n conf * chore: update entry to use new plural rule * fix: automatic content direction for status * fix: direction for account handle * fix: direction of polls Co-authored-by: userquin <userquin@gmail.com> Co-authored-by: Jean-Paul Khawam <jeanpaulkhawam@protonmail.com> Co-authored-by: Daniel Roe <daniel@roe.dev>
69 lines
2 KiB
Vue
69 lines
2 KiB
Vue
<script lang="ts" setup>
|
|
definePageMeta({
|
|
wideLayout: true,
|
|
})
|
|
|
|
const route = useRoute()
|
|
|
|
const isRootPath = computedEager(() => route.name === 'settings')
|
|
</script>
|
|
|
|
<template>
|
|
<div>
|
|
<div min-h-screen flex>
|
|
<div border="e base" :class="isRootPath ? 'block lg:flex-none flex-1' : 'hidden lg:block'">
|
|
<MainContent>
|
|
<template #title>
|
|
<div text-lg font-bold flex items-center gap-2 @click="$scrollToTop">
|
|
<div i-ri:settings-4-line />
|
|
<span>{{ $t('nav.settings') }}</span>
|
|
</div>
|
|
</template>
|
|
<div xl:w-97 lg:w-78 w-full>
|
|
<SettingsNavItem
|
|
v-show="currentUser"
|
|
:command="!!currentUser"
|
|
icon="i-ri:user-line"
|
|
:text="$t('settings.profile.label')"
|
|
to="/settings/profile"
|
|
/>
|
|
<SettingsNavItem
|
|
command
|
|
icon="i-ri-compasses-2-line"
|
|
:text="$t('settings.interface.label')"
|
|
to="/settings/interface"
|
|
/>
|
|
<SettingsNavItem
|
|
command
|
|
icon="i-ri-globe-line"
|
|
:text="$t('settings.language.label')"
|
|
to="/settings/language"
|
|
/>
|
|
<SettingsNavItem
|
|
command
|
|
icon="i-ri:settings-2-line"
|
|
:text="$t('settings.preferences.label')"
|
|
to="/settings/preferences"
|
|
/>
|
|
<SettingsNavItem
|
|
command
|
|
icon="i-ri-group-line"
|
|
:text="$t('settings.users.label')"
|
|
to="/settings/users"
|
|
/>
|
|
<SettingsNavItem
|
|
command
|
|
icon="i-ri:information-line"
|
|
:text="$t('settings.about.label')"
|
|
to="/settings/about"
|
|
/>
|
|
</div>
|
|
</MainContent>
|
|
</div>
|
|
<div flex-1 :class="isRootPath ? 'hidden lg:block' : 'block'">
|
|
<NuxtPage />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|