pleroma-fe/src/components/settings_modal/tabs/general_tab.vue

209 lines
6.3 KiB
Vue
Raw Normal View History

<template>
2025-11-24 17:06:55 +02:00
<div>
2025-12-10 18:34:19 +02:00
<div class="setting-section">
2025-11-24 17:06:55 +02:00
<h3>{{ $t('settings.format_and_language') }}</h3>
2020-05-25 03:43:55 +03:00
<ul class="setting-list">
2025-12-10 18:34:19 +02:00
<h4>{{ $t('settings.interfaceLanguage') }}</h4>
<interface-language-switcher
v-model="language"
class="lang-selector"
@update="val => language = val"
/>
<h4>
{{ $t('settings.email_language') }}
{{ ' ' }}
<ProfileSettingIndicator :is-profile="true" />
</h4>
<interface-language-switcher
v-model="emailLanguage"
class="lang-selector"
:profile="true"
@update:model-value="updateProfile()"
/>
2020-05-25 03:43:55 +03:00
<li>
2025-11-24 17:06:55 +02:00
<BooleanSetting path="useAbsoluteTimeFormat">
2025-10-15 16:53:16 +03:00
{{ $t('settings.absolute_time_format') }}
</BooleanSetting>
2020-05-25 03:43:55 +03:00
</li>
2025-11-24 17:06:55 +02:00
<li>
<ChoiceSetting
id="absoluteTime12h"
path="absoluteTime12h"
:options="absoluteTime12hOptions"
>
{{ $t('settings.absolute_time_format_12h') }}
</ChoiceSetting>
</li>
</ul>
<h3>{{ $t('settings.scale_and_font') }}</h3>
<ul class="setting-list">
<li>
<UnitSetting
path="textSize"
:step="0.1"
:units="['px', 'rem']"
:reset-default="{ 'px': 14, 'rem': 1 }"
timed-apply-mode
>
{{ $t('settings.text_size') }}
</UnitSetting>
<div>
<small>
<i18n-t
scope="global"
keypath="settings.text_size_tip"
tag="span"
>
<code>px</code>
<code>rem</code>
</i18n-t>
<br>
<i18n-t
scope="global"
keypath="settings.text_size_tip2"
tag="span"
>
<code>14px</code>
</i18n-t>
</small>
</div>
</li>
<li>
<FontControl
:model-value="mergedConfig.theme3hacks.fonts.interface"
name="ui"
:label="$t('settings.style.fonts.components_inline.interface')"
:fallback="{ family: 'sans-serif' }"
no-inherit="1"
@update:model-value="v => updateFont('interface', v)"
/>
</li>
<li>
<FontControl
:model-value="mergedConfig.theme3hacks.fonts.input"
name="input"
:fallback="{ family: 'inherit' }"
:label="$t('settings.style.fonts.components_inline.input')"
@update:model-value="v => updateFont('input', v)"
/>
</li>
<li>
<UnitSetting
path="emojiSize"
:step="0.1"
:units="['px', 'rem']"
:reset-default="{ 'px': 32, 'rem': 2.2 }"
>
{{ $t('settings.emoji_size') }}
</UnitSetting>
<ul
class="setting-list suboptions"
>
<li>
<FloatSetting
v-if="user"
path="emojiReactionsScale"
>
{{ $t('settings.emoji_reactions_scale') }}
</FloatSetting>
</li>
</ul>
</li>
</ul>
<h3>{{ $t('settings.timelines') }}</h3>
<ul class="setting-list">
2020-05-25 03:43:55 +03:00
<li>
2022-02-28 18:23:32 +02:00
<BooleanSetting path="streaming">
2020-05-25 03:43:55 +03:00
{{ $t('settings.streaming') }}
</BooleanSetting>
<ul class="setting-list suboptions">
2020-05-25 03:43:55 +03:00
<li>
<BooleanSetting
path="pauseOnUnfocused"
2023-03-12 17:28:14 +02:00
parent-path="streaming"
>
2020-05-25 03:43:55 +03:00
{{ $t('settings.pause_on_unfocused') }}
</BooleanSetting>
2020-05-25 03:43:55 +03:00
</li>
</ul>
</li>
<li>
2022-02-28 18:23:32 +02:00
<BooleanSetting
path="useStreamingApi"
expert="1"
>
2020-05-25 03:43:55 +03:00
{{ $t('settings.useStreamingApi') }}
</BooleanSetting>
2020-05-25 03:43:55 +03:00
</li>
2025-11-24 17:06:55 +02:00
</ul>
2025-11-25 19:35:52 +02:00
<h3 v-if="expertLevel > 0">
{{ $t('settings.confirmations') }}
</h3>
<ul
v-if="expertLevel > 0"
class="setting-list"
>
<li class="select-multiple">
<span class="label">{{ $t('settings.confirm_dialogs') }}</span>
<ul class="option-list">
<li>
<BooleanSetting path="modalOnRepeat">
{{ $t('settings.confirm_dialogs_repeat') }}
</BooleanSetting>
</li>
<li>
<BooleanSetting path="modalOnUnfollow">
{{ $t('settings.confirm_dialogs_unfollow') }}
</BooleanSetting>
</li>
<li>
2025-07-27 17:28:21 +00:00
<BooleanSetting
v-if="!blockExpirationSupported"
path="modalOnBlock"
>
{{ $t('settings.confirm_dialogs_block') }}
</BooleanSetting>
</li>
<li>
<BooleanSetting path="modalOnMuteConversation">
{{ $t('settings.confirm_dialogs_mute_conversation') }}
</BooleanSetting>
</li>
<li>
<BooleanSetting path="modalOnMuteDomain">
{{ $t('settings.confirm_dialogs_mute_domain') }}
</BooleanSetting>
</li>
<li>
<BooleanSetting path="modalOnDelete">
{{ $t('settings.confirm_dialogs_delete') }}
</BooleanSetting>
</li>
<li>
<BooleanSetting path="modalOnLogout">
{{ $t('settings.confirm_dialogs_logout') }}
</BooleanSetting>
</li>
<li>
<BooleanSetting path="modalOnApproveFollow">
{{ $t('settings.confirm_dialogs_approve_follow') }}
</BooleanSetting>
</li>
<li>
<BooleanSetting path="modalOnDenyFollow">
{{ $t('settings.confirm_dialogs_deny_follow') }}
</BooleanSetting>
</li>
2022-09-27 18:47:50 -04:00
<li>
<BooleanSetting path="modalOnRemoveUserFromFollowers">
{{ $t('settings.confirm_dialogs_remove_follower') }}
</BooleanSetting>
</li>
</ul>
</li>
2020-05-25 03:43:55 +03:00
</ul>
</div>
2025-11-24 17:06:55 +02:00
</div>
</template>
<script src="./general_tab.js"></script>