165 lines
6 KiB
Vue
165 lines
6 KiB
Vue
<script setup lang="ts">
|
|
const { t } = useI18n()
|
|
|
|
useHydratedHead({
|
|
title: () => `${t('settings.preferences.label')} | ${t('nav.settings')}`,
|
|
})
|
|
|
|
const userSettings = useUserSettings()
|
|
</script>
|
|
|
|
<template>
|
|
<MainContent back-on-small-screen>
|
|
<template #title>
|
|
<h1 text-lg font-bold flex items-center gap-2 @click="$scrollToTop">
|
|
{{ $t('settings.preferences.label') }}
|
|
</h1>
|
|
</template>
|
|
<SettingsToggleItem
|
|
:checked="getPreferences(userSettings, 'hideAltIndicatorOnPosts')"
|
|
@click="togglePreferences('hideAltIndicatorOnPosts')"
|
|
>
|
|
{{ $t('settings.preferences.hide_alt_indi_on_posts') }}
|
|
</SettingsToggleItem>
|
|
<SettingsToggleItem
|
|
:checked="getPreferences(userSettings, 'hideAccountHoverCard')"
|
|
@click="togglePreferences('hideAccountHoverCard')"
|
|
>
|
|
{{ $t('settings.preferences.hide_account_hover_card') }}
|
|
</SettingsToggleItem>
|
|
<SettingsToggleItem
|
|
:checked="getPreferences(userSettings, 'enableAutoplay')"
|
|
:disabled="getPreferences(userSettings, 'enableDataSaving')"
|
|
@click="togglePreferences('enableAutoplay')"
|
|
>
|
|
{{ $t('settings.preferences.enable_autoplay') }}
|
|
</SettingsToggleItem>
|
|
<SettingsToggleItem
|
|
:checked="getPreferences(userSettings, 'optimizeForLowPerformanceDevice')"
|
|
@click="togglePreferences('optimizeForLowPerformanceDevice')"
|
|
>
|
|
{{ $t('settings.preferences.optimize_for_low_performance_device') }}
|
|
</SettingsToggleItem>
|
|
<SettingsToggleItem
|
|
:checked="getPreferences(userSettings, 'enableDataSaving')"
|
|
@click="togglePreferences('enableDataSaving')"
|
|
>
|
|
{{ $t("settings.preferences.enable_data_saving") }}
|
|
<template #description>
|
|
{{ $t("settings.preferences.enable_data_saving_description") }}
|
|
</template>
|
|
</SettingsToggleItem>
|
|
<SettingsToggleItem
|
|
:checked="getPreferences(userSettings, 'enablePinchToZoom')"
|
|
@click="togglePreferences('enablePinchToZoom')"
|
|
>
|
|
{{ $t('settings.preferences.enable_pinch_to_zoom') }}
|
|
</SettingsToggleItem>
|
|
<SettingsToggleItem
|
|
:checked="getPreferences(userSettings, 'useStarFavoriteIcon')"
|
|
@click="togglePreferences('useStarFavoriteIcon')"
|
|
>
|
|
{{ $t('settings.preferences.use_star_favorite_icon') }}
|
|
</SettingsToggleItem>
|
|
<h2 px6 py4 mt2 font-bold text-xl flex="~ gap-1" items-center>
|
|
<div i-ri-hearts-line />
|
|
{{ $t('settings.preferences.wellbeing') }}
|
|
</h2>
|
|
<SettingsToggleItem
|
|
:checked="getPreferences(userSettings, 'grayscaleMode')"
|
|
@click="togglePreferences('grayscaleMode')"
|
|
>
|
|
{{ $t('settings.preferences.grayscale_mode') }}
|
|
</SettingsToggleItem>
|
|
<SettingsToggleItem
|
|
:checked="getPreferences(userSettings, 'hideBoostCount')"
|
|
@click="togglePreferences('hideBoostCount')"
|
|
>
|
|
{{ $t('settings.preferences.hide_boost_count') }}
|
|
</SettingsToggleItem>
|
|
<SettingsToggleItem
|
|
:checked="getPreferences(userSettings, 'hideFavoriteCount')"
|
|
@click="togglePreferences('hideFavoriteCount')"
|
|
>
|
|
{{ $t('settings.preferences.hide_favorite_count') }}
|
|
</SettingsToggleItem>
|
|
<SettingsToggleItem
|
|
:checked="getPreferences(userSettings, 'hideReplyCount')"
|
|
@click="togglePreferences('hideReplyCount')"
|
|
>
|
|
{{ $t('settings.preferences.hide_reply_count') }}
|
|
</SettingsToggleItem>
|
|
<SettingsToggleItem
|
|
:checked="getPreferences(userSettings, 'hideFollowerCount')"
|
|
@click="togglePreferences('hideFollowerCount')"
|
|
>
|
|
{{ $t('settings.preferences.hide_follower_count') }}
|
|
</SettingsToggleItem>
|
|
<SettingsToggleItem
|
|
:checked="getPreferences(userSettings, 'hideUsernameEmojis')"
|
|
@click="togglePreferences('hideUsernameEmojis')"
|
|
>
|
|
{{ $t("settings.preferences.hide_username_emojis") }}
|
|
<template #description>
|
|
{{ $t('settings.preferences.hide_username_emojis_description') }}
|
|
</template>
|
|
</SettingsToggleItem>
|
|
<SettingsToggleItem
|
|
:checked="getPreferences(userSettings, 'hideNews')"
|
|
@click="togglePreferences('hideNews')"
|
|
>
|
|
{{ $t("settings.preferences.hide_news") }}
|
|
</SettingsToggleItem>
|
|
<SettingsToggleItem
|
|
:checked="getPreferences(userSettings, 'zenMode')"
|
|
@click="togglePreferences('zenMode')"
|
|
>
|
|
{{ $t("settings.preferences.zen_mode") }}
|
|
<template #description>
|
|
{{ $t('settings.preferences.zen_mode_description') }}
|
|
</template>
|
|
</SettingsToggleItem>
|
|
<h2 px6 py4 mt2 font-bold text-xl flex="~ gap-1" items-center>
|
|
<div i-ri-flask-line />
|
|
{{ $t('settings.preferences.title') }}
|
|
</h2>
|
|
<!-- Embedded Media -->
|
|
<SettingsToggleItem
|
|
:checked="getPreferences(userSettings, 'experimentalEmbeddedMedia')"
|
|
@click="togglePreferences('experimentalEmbeddedMedia')"
|
|
>
|
|
{{ $t('settings.preferences.embedded_media') }}
|
|
<template #description>
|
|
{{ $t('settings.preferences.embedded_media_description') }}
|
|
</template>
|
|
</SettingsToggleItem>
|
|
<SettingsToggleItem
|
|
:checked="getPreferences(userSettings, 'experimentalVirtualScroller')"
|
|
@click="togglePreferences('experimentalVirtualScroller')"
|
|
>
|
|
{{ $t('settings.preferences.virtual_scroll') }}
|
|
<template #description>
|
|
{{ $t('settings.preferences.virtual_scroll_description') }}
|
|
</template>
|
|
</SettingsToggleItem>
|
|
<SettingsToggleItem
|
|
:checked="getPreferences(userSettings, 'experimentalGitHubCards')"
|
|
@click="togglePreferences('experimentalGitHubCards')"
|
|
>
|
|
{{ $t('settings.preferences.github_cards') }}
|
|
<template #description>
|
|
{{ $t('settings.preferences.github_cards_description') }}
|
|
</template>
|
|
</SettingsToggleItem>
|
|
<SettingsToggleItem
|
|
:checked="getPreferences(userSettings, 'experimentalUserPicker')"
|
|
@click="togglePreferences('experimentalUserPicker')"
|
|
>
|
|
{{ $t('settings.preferences.user_picker') }}
|
|
<template #description>
|
|
{{ $t('settings.preferences.user_picker_description') }}
|
|
</template>
|
|
</SettingsToggleItem>
|
|
</MainContent>
|
|
</template>
|