elk/components/nav/NavFooter.vue

100 lines
3.3 KiB
Vue
Raw Normal View History

2022-11-15 17:14:10 +00:00
<script setup lang="ts">
2023-02-23 11:17:28 +00:00
const buildInfo = useBuildInfo()
2022-12-02 02:18:36 +00:00
const timeAgoOptions = useTimeAgoOptions()
2023-03-21 04:20:36 +00:00
const config = useRuntimeConfig()
const userSettings = useUserSettings()
2022-12-26 19:33:19 +00:00
const buildTimeDate = new Date(buildInfo.time)
const buildTimeAgo = useTimeAgo(buildTimeDate, timeAgoOptions)
const colorMode = useColorMode()
function toggleDark() {
colorMode.preference = colorMode.value === 'dark' ? 'light' : 'dark'
}
2022-11-15 17:14:10 +00:00
</script>
<template>
2022-11-27 23:29:21 +00:00
<footer p4 text-sm text-secondary-light flex="~ col">
<div flex="~ gap2" items-center mb4>
2022-12-27 17:49:15 +00:00
<CommonTooltip :content="$t('nav.toggle_theme')">
<button flex i-ri:sun-line dark-i-ri:moon-line text-lg :aria-label="$t('nav.toggle_theme')" @click="toggleDark()" />
2022-11-28 07:16:22 +00:00
</CommonTooltip>
2022-12-27 17:49:15 +00:00
<CommonTooltip :content="$t('nav.zen_mode')">
2022-11-28 07:16:22 +00:00
<button
flex
text-lg
:class="getPreferences(userSettings, 'zenMode') ? 'i-ri:layout-right-2-line' : 'i-ri:layout-right-line'"
2022-12-27 17:49:15 +00:00
:aria-label="$t('nav.zen_mode')"
@click="togglePreferences('zenMode')"
2022-11-28 07:16:22 +00:00
/>
</CommonTooltip>
<CommonTooltip :content="$t('magic_keys.dialog_header')">
<button flex i-ri:keyboard-box-line dark-i-ri:keyboard-box-line text-lg :aria-label="$t('magic_keys.dialog_header')" @click="toggleKeyboardShortcuts" />
</CommonTooltip>
<CommonTooltip :content="$t('settings.about.sponsor_action')">
<NuxtLink
flex
text-lg
i-ri-heart-3-line hover="i-ri-heart-3-fill text-rose"
:aria-label="$t('settings.about.sponsor_action')"
href="https://github.com/sponsors/elk-zone"
target="_blank"
/>
</CommonTooltip>
</div>
2022-12-22 09:28:03 +00:00
<div>
2023-01-03 11:15:15 +00:00
<i18n-t v-if="isHydrated" keypath="nav.built_at">
2022-12-26 19:33:19 +00:00
<time :datetime="String(buildTimeDate)" :title="$d(buildTimeDate, 'long')">{{ buildTimeAgo }}</time>
2022-12-04 18:18:39 +00:00
</i18n-t>
2023-01-03 17:24:39 +00:00
<span v-else>
{{ $t('nav.built_at', [$d(buildTimeDate, 'shortDate')]) }}
</span>
2023-01-04 13:26:30 +00:00
&middot;
<NuxtLink
v-if="buildInfo.env === 'release'"
external
:href="`https://github.com/elk-zone/elk/releases/tag/v${buildInfo.version}`"
target="_blank"
font-mono
>
v{{ buildInfo.version }}
</NuxtLink>
2023-01-04 13:26:30 +00:00
<span v-else>{{ buildInfo.env }}</span>
2022-12-26 19:33:19 +00:00
<template v-if="buildInfo.commit && buildInfo.branch !== 'release'">
&middot;
<NuxtLink
external
2022-12-26 19:33:19 +00:00
:href="`https://github.com/elk-zone/elk/commit/${buildInfo.commit}`"
target="_blank"
font-mono
>
2023-02-23 11:17:28 +00:00
{{ buildInfo.shortCommit }}
</NuxtLink>
</template>
</div>
<div>
2023-01-03 17:24:39 +00:00
<NuxtLink cursor-pointer hover:underline to="/settings/about">
{{ $t('settings.about.label') }}
</NuxtLink>
2023-03-21 04:20:36 +00:00
<template v-if="config.public.privacyPolicyUrl">
2023-01-27 08:45:23 +00:00
&middot;
2023-03-21 04:20:36 +00:00
<NuxtLink cursor-pointer hover:underline :to="config.public.privacyPolicyUrl">
2023-01-27 08:45:23 +00:00
{{ $t('nav.privacy') }}
</NuxtLink>
</template>
2023-01-03 17:24:39 +00:00
&middot;
<NuxtLink href="/m.webtoo.ls/@elk" target="_blank">
Mastodon
</NuxtLink>
2023-01-03 17:24:39 +00:00
&middot;
<NuxtLink href="https://chat.elk.zone" target="_blank" external>
Discord
</NuxtLink>
2023-01-03 17:24:39 +00:00
&middot;
<NuxtLink href="https://github.com/elk-zone/elk" target="_blank" external>
GitHub
</NuxtLink>
2022-11-30 01:45:52 +00:00
</div>
2022-11-27 23:29:21 +00:00
</footer>
2022-11-15 17:14:10 +00:00
</template>