Merge branch 'improve_settings_reusability' into shigusegubu-vue3

This commit is contained in:
Henry Jameson 2023-05-08 22:06:23 +03:00
commit 2e2d2bd5b5
15 changed files with 327 additions and 369 deletions

View file

@ -1,8 +1,7 @@
<template> <template>
<component <button
:is="normalButton ? 'button' : 'label'"
class="media-upload" class="media-upload"
:class="{ disabled: disabled, ['media-upload button-default btn']: normalButton }" :class="[normalButton ? 'button-default btn' : 'button-unstyled', { disabled }]"
:title="$t('tool_tip.media_upload')" :title="$t('tool_tip.media_upload')"
@click="onClick" @click="onClick"
> >
@ -31,7 +30,7 @@
:accept="acceptTypes" :accept="acceptTypes"
@change="change" @change="change"
> >
</component> </button>
</template> </template>
<script src="./media_upload.js"></script> <script src="./media_upload.js"></script>

View file

@ -45,6 +45,9 @@ const Popover = {
// Lets hover popover stay when clicking inside of it // Lets hover popover stay when clicking inside of it
stayOnClick: Boolean, stayOnClick: Boolean,
// Use styled button (to avoid nested buttons)
normalButton: Boolean,
triggerAttrs: { triggerAttrs: {
type: Object, type: Object,
default: {} default: {}

View file

@ -5,7 +5,8 @@
> >
<button <button
ref="trigger" ref="trigger"
class="button-unstyled popover-trigger-button" class="popover-trigger-button"
:class="normalButton ? 'button-default btn' : 'button-unstyled'"
type="button" type="button"
v-bind="triggerAttrs" v-bind="triggerAttrs"
@click="onClick" @click="onClick"

View file

@ -11,19 +11,17 @@
<h3>{{ $t('admin_dash.frontend.default_frontend') }}</h3> <h3>{{ $t('admin_dash.frontend.default_frontend') }}</h3>
<p>{{ $t('admin_dash.frontend.default_frontend_tip') }}</p> <p>{{ $t('admin_dash.frontend.default_frontend_tip') }}</p>
<p>{{ $t('admin_dash.frontend.default_frontend_tip2') }}</p> <p>{{ $t('admin_dash.frontend.default_frontend_tip2') }}</p>
</li> <ul class="setting-list">
<li> <li>
<StringSetting path=":pleroma.:frontends.:primary.name"> <StringSetting path=":pleroma.:frontends.:primary.name" />
NAME </li>
</StringSetting> <li>
</li> <StringSetting path=":pleroma.:frontends.:primary.ref" />
<li> </li>
<StringSetting path=":pleroma.:frontends.:primary.ref"> <li>
REF <GroupSetting path=":pleroma.:frontends.:primary" />
</StringSetting> </li>
</li> </ul>
<li>
<GroupSetting path=":pleroma.:frontends.:primary" />
</li> </li>
</ul> </ul>
<div class="setting-list"> <div class="setting-list">
@ -81,7 +79,6 @@
<button <button
class="button button-default btn" class="button button-default btn"
type="button" type="button"
:title="$t('admin_dash.frontend.update')"
@click="update(frontend)" @click="update(frontend)"
> >
{{ {{
@ -116,7 +113,7 @@
<button <button
class="button button-default btn dropdown-button" class="button button-default btn dropdown-button"
type="button" type="button"
:title="$t('admin_dash.frontend.update')" :title="$t('admin_dash.frontend.more_install_options')"
> >
<FAIcon icon="chevron-down" /> <FAIcon icon="chevron-down" />
</button> </button>
@ -124,7 +121,7 @@
</Popover> </Popover>
</span> </span>
<span <span
v-if="frontend.name !== 'admin-fe'" v-if="frontend.installed && frontend.name !== 'admin-fe'"
class="btn-group" class="btn-group"
> >
<button <button
@ -134,7 +131,6 @@
adminDraft[':pleroma'][':frontends'][':primary'].name === frontend.name && adminDraft[':pleroma'][':frontends'][':primary'].name === frontend.name &&
adminDraft[':pleroma'][':frontends'][':primary'].ref === frontend.refs[0] adminDraft[':pleroma'][':frontends'][':primary'].ref === frontend.refs[0]
" "
:title="$t('admin_dash.frontend.update')"
@click="setDefault(frontend)" @click="setDefault(frontend)"
> >
{{ {{
@ -168,7 +164,7 @@
<button <button
class="button button-default btn dropdown-button" class="button button-default btn dropdown-button"
type="button" type="button"
:title="$t('admin_dash.frontend.update')" :title="$t('admin_dash.frontend.more_default_options')"
> >
<FAIcon icon="chevron-down" /> <FAIcon icon="chevron-down" />
</button> </button>

View file

@ -4,34 +4,22 @@
<h2>{{ $t('admin_dash.instance.instance') }}</h2> <h2>{{ $t('admin_dash.instance.instance') }}</h2>
<ul class="setting-list"> <ul class="setting-list">
<li> <li>
<StringSetting path=":pleroma.:instance.:name"> <StringSetting path=":pleroma.:instance.:name" />
NAME
</StringSetting>
</li> </li>
<li> <li>
<StringSetting path=":pleroma.:instance.:email"> <StringSetting path=":pleroma.:instance.:email" />
ADMIN EMAIL
</StringSetting>
</li> </li>
<li> <li>
<StringSetting path=":pleroma.:instance.:description"> <StringSetting path=":pleroma.:instance.:description" />
DESCRIPTION
</StringSetting>
</li> </li>
<li> <li>
<StringSetting path=":pleroma.:instance.:short_description"> <StringSetting path=":pleroma.:instance.:short_description" />
SHORT DESCRIPTION
</StringSetting>
</li> </li>
<li> <li>
<AttachmentSetting path=":pleroma.:instance.:instance_thumbnail"> <AttachmentSetting path=":pleroma.:instance.:instance_thumbnail" />
INSTANCE THUMBNAIL
</AttachmentSetting>
</li> </li>
<li> <li>
<AttachmentSetting path=":pleroma.:instance.:background_image"> <AttachmentSetting path=":pleroma.:instance.:background_image" />
BACKGROUND IMAGE
</AttachmentSetting>
</li> </li>
</ul> </ul>
</div> </div>
@ -39,82 +27,65 @@
<h2>{{ $t('admin_dash.instance.registrations') }}</h2> <h2>{{ $t('admin_dash.instance.registrations') }}</h2>
<ul class="setting-list"> <ul class="setting-list">
<li> <li>
<BooleanSetting path=":pleroma.:instance.:registrations_open"> <BooleanSetting path=":pleroma.:instance.:registrations_open" />
REGISTRATIONS OPEN
</BooleanSetting>
<ul class="setting-list suboptions"> <ul class="setting-list suboptions">
<li> <li>
<BooleanSetting <BooleanSetting
path=":pleroma.:instance.:invites_enabled" path=":pleroma.:instance.:invites_enabled"
parent-path=":pleroma.:instance.:registrations_open" parent-path=":pleroma.:instance.:registrations_open"
parent-invert parent-invert
> />
INVITES ENABLED
</BooleanSetting>
</li> </li>
</ul> </ul>
</li> </li>
<li> <li>
<BooleanSetting path=":pleroma.:instance.:birthday_required"> <BooleanSetting path=":pleroma.:instance.:birthday_required" />
BDEY REQUIRED
</BooleanSetting>
<ul class="setting-list suboptions"> <ul class="setting-list suboptions">
<li> <li>
<IntegerSetting <IntegerSetting
path=":pleroma.:instance.:birthday_min_age" path=":pleroma.:instance.:birthday_min_age"
parent-path=":pleroma.:instance.:birthday_required" parent-path=":pleroma.:instance.:birthday_required"
> />
BDEY age of consent
</IntegerSetting>
</li> </li>
</ul> </ul>
</li> </li>
<li> <li>
<BooleanSetting path=":pleroma.:instance.:account_activation_required"> <BooleanSetting path=":pleroma.:instance.:account_activation_required" />
ACTIVATION REQUIRED
</BooleanSetting>
</li> </li>
<li> <li>
<BooleanSetting path=":pleroma.:instance.:account_approval_required"> <BooleanSetting path=":pleroma.:instance.:account_approval_required" />
APPROVAL REQUIRED
</BooleanSetting>
</li> </li>
<li> <li>
<h3>{{ $t('admin_dash.instance.captcha_header') }}</h3> <h3>{{ $t('admin_dash.instance.captcha_header') }}</h3>
</li> <ul class="setting-list">
<li>
<BooleanSetting :path="[':pleroma', 'Pleroma.Captcha', ':enabled']">
CAPTCHA
</BooleanSetting>
<ul class="setting-list suboptions">
<li> <li>
<ChoiceSetting <BooleanSetting :path="[':pleroma', 'Pleroma.Captcha', ':enabled']" />
:path="[':pleroma', 'Pleroma.Captcha', ':method']" <ul class="setting-list suboptions">
:parent-path="[':pleroma', 'Pleroma.Captcha', ':enabled']" <li>
:option-label-map="{ <ChoiceSetting
'Pleroma.Captcha.Native': $t('admin_dash.captcha.native'), :path="[':pleroma', 'Pleroma.Captcha', ':method']"
'Pleroma.Captcha.Kocaptcha': $t('admin_dash.captcha.kocaptcha') :parent-path="[':pleroma', 'Pleroma.Captcha', ':enabled']"
}" :option-label-map="{
> 'Pleroma.Captcha.Native': $t('admin_dash.captcha.native'),
CAPTCHA TYPE 'Pleroma.Captcha.Kocaptcha': $t('admin_dash.captcha.kocaptcha')
</ChoiceSetting> }"
<IntegerSetting />
:path="[':pleroma', 'Pleroma.Captcha', ':seconds_valid']" <IntegerSetting
:parent-path="[':pleroma', 'Pleroma.Captcha', ':enabled']" :path="[':pleroma', 'Pleroma.Captcha', ':seconds_valid']"
> :parent-path="[':pleroma', 'Pleroma.Captcha', ':enabled']"
VALID />
</IntegerSetting> </li>
</li> <li
</ul> v-if="adminDraft[':pleroma']['Pleroma.Captcha'][':enabled'] && adminDraft[':pleroma']['Pleroma.Captcha'][':method'] === 'Pleroma.Captcha.Kocaptcha'"
<ul >
v-if="adminDraft[':pleroma']['Pleroma.Captcha'][':enabled'] && adminDraft[':pleroma']['Pleroma.Captcha'][':method'] === 'Pleroma.Captcha.Kocaptcha'" <h4>{{ $t('admin_dash.instance.kocaptcha') }}</h4>
class="setting-list suboptions" <ul class="setting-list">
> <li>
<h4>{{ $t('admin_dash.instance.kocaptcha') }}</h4> <StringSetting :path="[':pleroma', 'Pleroma.Captcha.Kocaptcha', ':endpoint']" />
<li> </li>
<StringSetting :path="[':pleroma', 'Pleroma.Captcha.Kocaptcha', ':endpoint']"> </ul>
cockAPTCHA ENDPOINT </li>
</StringSetting> </ul>
</li> </li>
</ul> </ul>
</li> </li>
@ -124,101 +95,98 @@
<h2>{{ $t('admin_dash.instance.access') }}</h2> <h2>{{ $t('admin_dash.instance.access') }}</h2>
<ul class="setting-list"> <ul class="setting-list">
<li> <li>
<BooleanSetting path=":pleroma.:instance.:public"> <BooleanSetting
PUBLIC override-backend-description
</BooleanSetting> override-backend-description-label
path=":pleroma.:instance.:public"
/>
</li>
<li>
<ChoiceSetting
override-backend-description
override-backend-description-label
path=":pleroma.:instance.:limit_to_local_content"
/>
</li> </li>
<li> <li>
<h3>{{ $t('admin_dash.instance.restrict.header') }}</h3> <h3>{{ $t('admin_dash.instance.restrict.header') }}</h3>
</li> <p>
<li> {{ $t('admin_dash.instance.restrict.description') }}
<ChoiceSetting path=":pleroma.:instance.:limit_to_local_content"> </p>
SEARCH RESTRICTION <ul class="setting-list">
</ChoiceSetting> <li>
</li> <h4>{{ $t('admin_dash.instance.restrict.timelines') }}</h4>
<li> <ul class="setting-list">
<h4>{{ $t('admin_dash.instance.restrict.timelines') }}</h4> <li>
</li> <BooleanSetting
<li> path=":pleroma.:restrict_unauthenticated.:timelines.:local"
<BooleanSetting indeterminate-state=":if_instance_is_private"
path=":pleroma.:restrict_unauthenticated.:timelines.:local" swap-description-and-label
indeterminate-state=":if_instance_is_private" hide-description
swap-description-and-label />
hide-description </li>
> <li>
LOCAL TIMELINES <BooleanSetting
</BooleanSetting> path=":pleroma.:restrict_unauthenticated.:timelines.:federated"
</li> indeterminate-state=":if_instance_is_private"
<li> swap-description-and-label
<BooleanSetting hide-description
path=":pleroma.:restrict_unauthenticated.:timelines.:federated" />
indeterminate-state=":if_instance_is_private" </li>
swap-description-and-label <li>
hide-description <GroupSetting path=":pleroma.:restrict_unauthenticated.:timelines" />
> </li>
FED TIMELINES </ul>
</BooleanSetting> </li>
</li> <li>
<li> <h4>{{ $t('admin_dash.instance.restrict.profiles') }}</h4>
<GroupSetting path=":pleroma.:restrict_unauthenticated.:timelines"> <ul class="setting-list">
TIMELINES <li>
</GroupSetting> <BooleanSetting
</li> path=":pleroma.:restrict_unauthenticated.:profiles.:local"
<li> indeterminate-state=":if_instance_is_private"
<h4>{{ $t('admin_dash.instance.restrict.profiles') }}</h4> swap-description-and-label
</li> hide-description
<li> />
<BooleanSetting </li>
path=":pleroma.:restrict_unauthenticated.:profiles.:local" <li>
indeterminate-state=":if_instance_is_private" <BooleanSetting
swap-description-and-label path=":pleroma.:restrict_unauthenticated.:profiles.:remote"
hide-description indeterminate-state=":if_instance_is_private"
> swap-description-and-label
LOCAL PROFILES hide-description
</BooleanSetting> />
</li> </li>
<li> <li>
<BooleanSetting <GroupSetting path=":pleroma.:restrict_unauthenticated.:profiles" />
path=":pleroma.:restrict_unauthenticated.:profiles.:remote" </li>
indeterminate-state=":if_instance_is_private" </ul>
swap-description-and-label </li>
hide-description <li>
> <h4>{{ $t('admin_dash.instance.restrict.activities') }}</h4>
FED PROFILES <ul class="setting-list">
</BooleanSetting> <li>
</li> <BooleanSetting
<li> path=":pleroma.:restrict_unauthenticated.:activities.:local"
<GroupSetting path=":pleroma.:restrict_unauthenticated.:profiles"> indeterminate-state=":if_instance_is_private"
PROFILES swap-description-and-label
</GroupSetting> hide-description
</li> />
<li> </li>
<h4>{{ $t('admin_dash.instance.restrict.activities') }}</h4> <li>
</li> <BooleanSetting
<li> path=":pleroma.:restrict_unauthenticated.:activities.:remote"
<BooleanSetting indeterminate-state=":if_instance_is_private"
path=":pleroma.:restrict_unauthenticated.:activities.:local" swap-description-and-label
indeterminate-state=":if_instance_is_private" hide-description
swap-description-and-label />
hide-description </li>
> <li>
LOCAL STATUSES <GroupSetting path=":pleroma.:restrict_unauthenticated.:activities" />
</BooleanSetting> </li>
</li> </ul>
<li> </li>
<BooleanSetting </ul>
path=":pleroma.:restrict_unauthenticated.:activities.:remote"
indeterminate-state=":if_instance_is_private"
swap-description-and-label
hide-description
>
FED STATUSES
</BooleanSetting>
</li>
<li>
<GroupSetting path=":pleroma.:restrict_unauthenticated.:activities">
STATUSES
</GroupSetting>
</li> </li>
</ul> </ul>
</div> </div>

View file

@ -5,146 +5,128 @@
<ul class="setting-list"> <ul class="setting-list">
<li> <li>
<h3>{{ $t('admin_dash.limits.posts') }}</h3> <h3>{{ $t('admin_dash.limits.posts') }}</h3>
</li> <ul class="setting-list">
<li> <li>
<IntegerSetting <IntegerSetting
source="admin" source="admin"
path=":pleroma.:instance.:limit" path=":pleroma.:instance.:limit"
draft-mode draft-mode
> />
POST LIMIT </li>
</IntegerSetting> <li>
</li> <IntegerSetting
<li> source="admin"
<IntegerSetting path=":pleroma.:instance.:remote_limit"
source="admin" expert="1"
path=":pleroma.:instance.:remote_limit" draft-mode
expert="1" />
draft-mode </li>
> </ul>
POST LIMIT (remote)
</IntegerSetting>
</li> </li>
<li> <li>
<h3>{{ $t('admin_dash.limits.uploads') }}</h3> <h3>{{ $t('admin_dash.limits.uploads') }}</h3>
</li> <ul class="setting-list">
<li> <li>
<IntegerSetting <IntegerSetting
source="admin" source="admin"
path=":pleroma.:instance.:description_limit" path=":pleroma.:instance.:description_limit"
draft-mode draft-mode
> />
IMAGE DESCRIPTION LIMIT </li>
</IntegerSetting> <li>
</li> <IntegerSetting
<li> source="admin"
<IntegerSetting path=":pleroma.:instance.:upload_limit"
source="admin" draft-mode
path=":pleroma.:instance.:upload_limit" />
draft-mode </li>
> <li>
UPLOAD LIMIT KiB <IntegerSetting
</IntegerSetting> source="admin"
</li> path=":pleroma.:instance.:max_media_attachments"
<li> draft-mode
<IntegerSetting />
source="admin" </li>
path=":pleroma.:instance.:max_media_attachments" </ul>
draft-mode
>
MAX ATTACHMENTS
</IntegerSetting>
</li> </li>
<li> <li>
<h3>{{ $t('admin_dash.limits.users') }}</h3> <h3>{{ $t('admin_dash.limits.users') }}</h3>
</li> <ul class="setting-list">
<li> <li>
<IntegerSetting <IntegerSetting
source="admin" source="admin"
path=":pleroma.:instance.:max_pinned_statuses" path=":pleroma.:instance.:max_pinned_statuses"
draft-mode draft-mode
> />
MAX PINNED POSTS </li>
</IntegerSetting> <li>
</li> <IntegerSetting
<li> source="admin"
<IntegerSetting path=":pleroma.:instance.:user_bio_length"
source="admin" draft-mode
path=":pleroma.:instance.:user_bio_length" />
draft-mode </li>
> <li>
BIO LENGTH <IntegerSetting
</IntegerSetting> source="admin"
</li> path=":pleroma.:instance.:user_name_length"
<li> draft-mode
<IntegerSetting />
source="admin" </li>
path=":pleroma.:instance.:user_name_length" <li>
draft-mode <h4>{{ $t('admin_dash.limits.profile_fields') }}</h4>
> <ul class="setting-list">
NAME LENGTH <li>
</IntegerSetting> <IntegerSetting
</li> source="admin"
<li> path=":pleroma.:instance.:max_account_fields"
<h4>{{ $t('admin_dash.limits.profile_fields') }}</h4> draft-mode
</li> />
<li> </li>
<IntegerSetting <li>
source="admin" <IntegerSetting
path=":pleroma.:instance.:max_account_fields" source="admin"
draft-mode path=":pleroma.:instance.:max_remote_account_fields"
> draft-mode
MAX ACCOUNT FIELDS expert="1"
</IntegerSetting> />
</li> </li>
<li> <li>
<IntegerSetting <IntegerSetting
source="admin" source="admin"
path=":pleroma.:instance.:max_remote_account_fields" path=":pleroma.:instance.:account_field_name_length"
draft-mode draft-mode
expert="1" />
> </li>
MAX ACCOUNT FIELDS (remote) <li>
</IntegerSetting> <IntegerSetting
</li> source="admin"
<li> path=":pleroma.:instance.:account_field_value_length"
<IntegerSetting draft-mode
source="admin" />
path=":pleroma.:instance.:account_field_name_length" </li>
draft-mode </ul>
> </li>
MAX ACCOUNT FIELD NAME <li>
</IntegerSetting> <h4>{{ $t('admin_dash.limits.user_uploads') }}</h4>
</li> <ul class="setting-list">
<li> <li>
<IntegerSetting <IntegerSetting
source="admin" source="admin"
path=":pleroma.:instance.:account_field_value_length" path=":pleroma.:instance.:avatar_upload_limit"
draft-mode draft-mode
> />
MAX ACCOUNT VALUE NAME </li>
</IntegerSetting> <li>
</li> <IntegerSetting
<li> source="admin"
<h4>{{ $t('admin_dash.limits.user_uploads') }}</h4> path=":pleroma.:instance.:banner_upload_limit"
</li> draft-mode
<li> />
<IntegerSetting </li>
source="admin" </ul>
path=":pleroma.:instance.:avatar_upload_limit" </li>
draft-mode </ul>
>
MAX AVATAR SIZE KiB
</IntegerSetting>
</li>
<li>
<IntegerSetting
source="admin"
path=":pleroma.:instance.:banner_upload_limit"
draft-mode
>
MAX BANNER SIZE KiB
</IntegerSetting>
</li> </li>
</ul> </ul>
</div> </div>

View file

@ -10,9 +10,10 @@
<template v-if="backendDescriptionLabel"> <template v-if="backendDescriptionLabel">
{{ backendDescriptionLabel + ' ' }} {{ backendDescriptionLabel + ' ' }}
</template> </template>
<template v-else> <template v-else-if="source === 'admin'">
<slot /> MISSING LABEL FOR {{ path }}
</template> </template>
<slot v-else />
</label> </label>
<p <p

View file

@ -10,16 +10,16 @@
@update:modelValue="update" @update:modelValue="update"
> >
<span <span
v-if="!!$slots.default"
class="label" class="label"
:class="{ 'faint': shouldBeDisabled }" :class="{ 'faint': shouldBeDisabled }"
> >
<template v-if="backendDescriptionLabel"> <template v-if="backendDescriptionLabel">
{{ backendDescriptionLabel }} {{ backendDescriptionLabel }}
</template> </template>
<template v-else> <template v-else-if="source === 'admin'">
<slot /> MISSING LABEL FOR {{ path }}
</template> </template>
<slot v-else />
</span> </span>
</Checkbox> </Checkbox>
<ModifiedIndicator <ModifiedIndicator
@ -35,6 +35,16 @@
> >
{{ backendDescriptionDescription + ' ' }} {{ backendDescriptionDescription + ' ' }}
</p> </p>
<!-- debugging -->
<!--
<p
v-else
class="setting-description"
:class="{ 'faint': shouldBeDisabled }"
>
MISSING DESCRIPTION FOR {{ path }}
</p>
-->
</label> </label>
</template> </template>

View file

@ -7,18 +7,12 @@
<Popover <Popover
v-if="$parent.isDirty" v-if="$parent.isDirty"
trigger="hover" trigger="hover"
normal-button
@click="$parent.commitDraft"
:trigger-attrs="{ 'aria-label': $t('settings.commit_value_tooltip') }" :trigger-attrs="{ 'aria-label': $t('settings.commit_value_tooltip') }"
> >
<template #trigger> <template #trigger>
&nbsp; {{ $t('settings.commit_value') }}
<button
class="button button-default btn"
type="button"
:title="$t('settings.commit_value')"
@click="$parent.commitDraft"
>
{{ $t('settings.commit_value') }}
</button>
</template> </template>
<template #content> <template #content>
<div class="modified-tooltip"> <div class="modified-tooltip">
@ -29,18 +23,12 @@
<Popover <Popover
v-if="$parent.isDirty" v-if="$parent.isDirty"
trigger="hover" trigger="hover"
normal-button
:trigger-attrs="{ 'aria-label': $t('settings.reset_value_tooltip') }" :trigger-attrs="{ 'aria-label': $t('settings.reset_value_tooltip') }"
@click="$parent.reset"
> >
<template #trigger> <template #trigger>
&nbsp; {{ $t('settings.reset_value') }}
<button
class="button button-default btn"
type="button"
:title="$t('settings.reset_value')"
@click="$parent.reset"
>
{{ $t('settings.reset_value') }}
</button>
</template> </template>
<template #content> <template #content>
<div class="modified-tooltip"> <div class="modified-tooltip">
@ -51,18 +39,12 @@
<Popover <Popover
v-if="$parent.canHardReset" v-if="$parent.canHardReset"
trigger="hover" trigger="hover"
normal-button
@click="$parent.hardReset"
:trigger-attrs="{ 'aria-label': $t('settings.hard_reset_value_tooltip') }" :trigger-attrs="{ 'aria-label': $t('settings.hard_reset_value_tooltip') }"
> >
<template #trigger> <template #trigger>
&nbsp; {{ $t('settings.hard_reset_value') }}
<button
class="button button-default btn"
type="button"
:title="$t('settings.hard_reset_value')"
@click="$parent.hardReset"
>
{{ $t('settings.hard_reset_value') }}
</button>
</template> </template>
<template #content> <template #content>
<div class="modified-tooltip"> <div class="modified-tooltip">
@ -92,6 +74,10 @@ export default {
.DraftButtons { .DraftButtons {
display: inline-block; display: inline-block;
position: relative; position: relative;
.button-default {
margin-left: 0.5em;
}
} }
.draft-tooltip { .draft-tooltip {

View file

@ -10,9 +10,10 @@
<template v-if="backendDescriptionLabel"> <template v-if="backendDescriptionLabel">
{{ backendDescriptionLabel + ' ' }} {{ backendDescriptionLabel + ' ' }}
</template> </template>
<template v-else> <template v-else-if="source === 'admin'">
<slot /> MISSING LABEL FOR {{ path }}
</template> </template>
<slot v-else />
</label> </label>
<input <input
:id="path" :id="path"

View file

@ -45,11 +45,18 @@
<script src="./size_setting.js"></script> <script src="./size_setting.js"></script>
<style lang="scss"> <style lang="scss">
.css-unit-input, .SizeSetting {
.css-unit-input select { .number-input {
margin-left: 0.5em; max-width: 6.5em;
width: 4em; }
max-width: 4em;
min-width: 4em; .css-unit-input,
.css-unit-input select {
margin-left: 0.5em;
width: 4em;
max-width: 4em;
min-width: 4em;
}
} }
</style> </style>

View file

@ -10,9 +10,10 @@
<template v-if="backendDescriptionLabel"> <template v-if="backendDescriptionLabel">
{{ backendDescriptionLabel + ' ' }} {{ backendDescriptionLabel + ' ' }}
</template> </template>
<template v-else> <template v-else-if="source === 'admin'">
<slot /> MISSING LABEL FOR {{ path }}
</template> </template>
<slot v-else />
</label> </label>
<input <input
:id="path" :id="path"

View file

@ -48,9 +48,5 @@
color: var(--cRed, $fallback--cRed); color: var(--cRed, $fallback--cRed);
color: $fallback--cRed; color: $fallback--cRed;
} }
.number-input {
max-width: 6em;
}
} }
} }

View file

@ -48,9 +48,5 @@
color: var(--cRed, $fallback--cRed); color: var(--cRed, $fallback--cRed);
color: $fallback--cRed; color: $fallback--cRed;
} }
.number-input {
max-width: 6em;
}
} }
} }

View file

@ -869,7 +869,8 @@
"kocaptcha": "KoCaptcha settings", "kocaptcha": "KoCaptcha settings",
"access": "Instance access", "access": "Instance access",
"restrict": { "restrict": {
"header": "Restrict access", "header": "Restrict access for anonymous visitors",
"description": "Detailed setting for allowing/disallowing access to certain aspects of API. By default (indeterminate state) it will disallow if instance is not public, ticked checkbox means disallow access even if instance is public, unticked means allow access even if instance is private. Please note that unexpected behavior might happen if some settings are set, i.e. if profile access is disabled posts will show without profile information.",
"timelines": "Timelines access", "timelines": "Timelines access",
"profiles": "User profiles access", "profiles": "User profiles access",
"activities": "Statues/activities access" "activities": "Statues/activities access"
@ -892,6 +893,8 @@
"is_default_custom": "(Default, version: {version})", "is_default_custom": "(Default, version: {version})",
"install": "Install", "install": "Install",
"install_version": "Install version {version}", "install_version": "Install version {version}",
"more_install_options": "More install options",
"more_default_options": "More default setting options",
"set_default": "Set default", "set_default": "Set default",
"set_default_version": "Set version {version} as default", "set_default_version": "Set version {version} as default",
"wip_notice": "Please note that this section is a WIP and lacks certain features as backend implementation of front-end management is incomplete.", "wip_notice": "Please note that this section is a WIP and lacks certain features as backend implementation of front-end management is incomplete.",
@ -903,6 +906,14 @@
"temp_overrides": { "temp_overrides": {
":pleroma": { ":pleroma": {
":instance": { ":instance": {
":public": {
"label": "Instance is public",
"description": "Disabling this will make all API accessible only for logged-in users, this will make Public and Federated timelines inaccessible to anonymous visitors."
},
":limit_to_local_content": {
"label": "Limit search to local content",
"description": "Disables global network search for unauthenticated (default), all users or none"
},
":description_limit": { ":description_limit": {
"label": "Limit", "label": "Limit",
"description": "Character limit for attachment descriptions" "description": "Character limit for attachment descriptions"