diff options
Diffstat (limited to 'packages/frontend/src/pages/admin')
| -rw-r--r-- | packages/frontend/src/pages/admin/modlog.ModLog.vue | 5 | ||||
| -rw-r--r-- | packages/frontend/src/pages/admin/settings.vue | 32 |
2 files changed, 21 insertions, 16 deletions
diff --git a/packages/frontend/src/pages/admin/modlog.ModLog.vue b/packages/frontend/src/pages/admin/modlog.ModLog.vue index 1e144394fb..9bbe5f2e42 100644 --- a/packages/frontend/src/pages/admin/modlog.ModLog.vue +++ b/packages/frontend/src/pages/admin/modlog.ModLog.vue @@ -170,6 +170,11 @@ SPDX-License-Identifier: AGPL-3.0-only <CodeDiff :context="5" :hideHeader="true" :oldString="log.info.before ?? ''" :newString="log.info.after ?? ''" maxHeight="300px"/> </div> </template> + <template v-else-if="log.type === 'updateProxyAccountDescription'"> + <div :class="$style.diff"> + <CodeDiff :context="5" :hideHeader="true" :oldString="log.info.before ?? ''" :newString="log.info.after ?? ''" maxHeight="300px"/> + </div> + </template> <details> <summary>raw</summary> diff --git a/packages/frontend/src/pages/admin/settings.vue b/packages/frontend/src/pages/admin/settings.vue index ea7603a45a..aed593fc54 100644 --- a/packages/frontend/src/pages/admin/settings.vue +++ b/packages/frontend/src/pages/admin/settings.vue @@ -238,15 +238,17 @@ SPDX-License-Identifier: AGPL-3.0-only <MkFolder> <template #icon><i class="ti ti-ghost"></i></template> <template #label>{{ i18n.ts.proxyAccount }}</template> + <template v-if="proxyAccountForm.modified.value" #footer> + <MkFormFooter :form="proxyAccountForm"/> + </template> <div class="_gaps"> <MkInfo>{{ i18n.ts.proxyAccountDescription }}</MkInfo> - <MkKeyValue> - <template #key>{{ i18n.ts.proxyAccount }}</template> - <template #value>{{ proxyAccount ? `@${proxyAccount.username}` : i18n.ts.none }}</template> - </MkKeyValue> - <MkButton primary @click="chooseProxyAccount">{{ i18n.ts.selectAccount }}</MkButton> + <MkTextarea v-model="proxyAccountForm.state.description" :max="500" tall mfmAutocomplete :mfmPreview="true"> + <template #label>{{ i18n.ts._profile.description }}</template> + <template #caption>{{ i18n.ts._profile.youCanIncludeHashtags }}</template> + </MkTextarea> </div> </MkFolder> </div> @@ -256,7 +258,7 @@ SPDX-License-Identifier: AGPL-3.0-only </template> <script lang="ts" setup> -import { ref, computed } from 'vue'; +import { ref, computed, reactive } from 'vue'; import XHeader from './_header_.vue'; import MkSwitch from '@/components/MkSwitch.vue'; import MkInput from '@/components/MkInput.vue'; @@ -277,7 +279,7 @@ import MkRadios from '@/components/MkRadios.vue'; const meta = await misskeyApi('admin/meta'); -const proxyAccount = ref(meta.proxyAccountId ? await misskeyApi('users/show', { userId: meta.proxyAccountId }) : null); +const proxyAccount = await misskeyApi('users/show', { userId: meta.proxyAccountId }); const infoForm = useForm({ name: meta.name ?? '', @@ -378,16 +380,14 @@ const federationForm = useForm({ fetchInstance(true); }); -function chooseProxyAccount() { - os.selectUser({ localOnly: true }).then(user => { - proxyAccount.value = user; - os.apiWithDialog('admin/update-meta', { - proxyAccountId: user.id, - }).then(() => { - fetchInstance(true); - }); +const proxyAccountForm = useForm({ + description: proxyAccount.description, +}, async (state) => { + await os.apiWithDialog('admin/update-proxy-account', { + description: state.description, }); -} + fetchInstance(true); +}); const headerTabs = computed(() => []); |