diff options
Diffstat (limited to 'packages/frontend/src/pages/admin/settings.vue')
| -rw-r--r-- | packages/frontend/src/pages/admin/settings.vue | 118 |
1 files changed, 59 insertions, 59 deletions
diff --git a/packages/frontend/src/pages/admin/settings.vue b/packages/frontend/src/pages/admin/settings.vue index 86fbfa0827..f17284efa9 100644 --- a/packages/frontend/src/pages/admin/settings.vue +++ b/packages/frontend/src/pages/admin/settings.vue @@ -148,7 +148,7 @@ SPDX-License-Identifier: AGPL-3.0-only </template> <script lang="ts" setup> -import { } from 'vue'; +import { ref, computed } from 'vue'; import XHeader from './_header_.vue'; import MkSwitch from '@/components/MkSwitch.vue'; import MkInput from '@/components/MkInput.vue'; @@ -163,76 +163,76 @@ import { i18n } from '@/i18n.js'; import { definePageMetadata } from '@/scripts/page-metadata.js'; import MkButton from '@/components/MkButton.vue'; -let name: string | null = $ref(null); -let shortName: string | null = $ref(null); -let description: string | null = $ref(null); -let maintainerName: string | null = $ref(null); -let maintainerEmail: string | null = $ref(null); -let impressumUrl: string | null = $ref(null); -let pinnedUsers: string = $ref(''); -let cacheRemoteFiles: boolean = $ref(false); -let cacheRemoteSensitiveFiles: boolean = $ref(false); -let enableServiceWorker: boolean = $ref(false); -let swPublicKey: any = $ref(null); -let swPrivateKey: any = $ref(null); -let enableFanoutTimeline: boolean = $ref(false); -let enableFanoutTimelineDbFallback: boolean = $ref(false); -let perLocalUserUserTimelineCacheMax: number = $ref(0); -let perRemoteUserUserTimelineCacheMax: number = $ref(0); -let perUserHomeTimelineCacheMax: number = $ref(0); -let perUserListTimelineCacheMax: number = $ref(0); -let notesPerOneAd: number = $ref(0); +const name = ref<string | null>(null); +const shortName = ref<string | null>(null); +const description = ref<string | null>(null); +const maintainerName = ref<string | null>(null); +const maintainerEmail = ref<string | null>(null); +const impressumUrl = ref<string | null>(null); +const pinnedUsers = ref<string>(''); +const cacheRemoteFiles = ref<boolean>(false); +const cacheRemoteSensitiveFiles = ref<boolean>(false); +const enableServiceWorker = ref<boolean>(false); +const swPublicKey = ref<any>(null); +const swPrivateKey = ref<any>(null); +const enableFanoutTimeline = ref<boolean>(false); +const enableFanoutTimelineDbFallback = ref<boolean>(false); +const perLocalUserUserTimelineCacheMax = ref<number>(0); +const perRemoteUserUserTimelineCacheMax = ref<number>(0); +const perUserHomeTimelineCacheMax = ref<number>(0); +const perUserListTimelineCacheMax = ref<number>(0); +const notesPerOneAd = ref<number>(0); async function init(): Promise<void> { const meta = await os.api('admin/meta'); - name = meta.name; - shortName = meta.shortName; - description = meta.description; - maintainerName = meta.maintainerName; - maintainerEmail = meta.maintainerEmail; - impressumUrl = meta.impressumUrl; - pinnedUsers = meta.pinnedUsers.join('\n'); - cacheRemoteFiles = meta.cacheRemoteFiles; - cacheRemoteSensitiveFiles = meta.cacheRemoteSensitiveFiles; - enableServiceWorker = meta.enableServiceWorker; - swPublicKey = meta.swPublickey; - swPrivateKey = meta.swPrivateKey; - enableFanoutTimeline = meta.enableFanoutTimeline; - enableFanoutTimelineDbFallback = meta.enableFanoutTimelineDbFallback; - perLocalUserUserTimelineCacheMax = meta.perLocalUserUserTimelineCacheMax; - perRemoteUserUserTimelineCacheMax = meta.perRemoteUserUserTimelineCacheMax; - perUserHomeTimelineCacheMax = meta.perUserHomeTimelineCacheMax; - perUserListTimelineCacheMax = meta.perUserListTimelineCacheMax; - notesPerOneAd = meta.notesPerOneAd; + name.value = meta.name; + shortName.value = meta.shortName; + description.value = meta.description; + maintainerName.value = meta.maintainerName; + maintainerEmail.value = meta.maintainerEmail; + impressumUrl.value = meta.impressumUrl; + pinnedUsers.value = meta.pinnedUsers.join('\n'); + cacheRemoteFiles.value = meta.cacheRemoteFiles; + cacheRemoteSensitiveFiles.value = meta.cacheRemoteSensitiveFiles; + enableServiceWorker.value = meta.enableServiceWorker; + swPublicKey.value = meta.swPublickey; + swPrivateKey.value = meta.swPrivateKey; + enableFanoutTimeline.value = meta.enableFanoutTimeline; + enableFanoutTimelineDbFallback.value = meta.enableFanoutTimelineDbFallback; + perLocalUserUserTimelineCacheMax.value = meta.perLocalUserUserTimelineCacheMax; + perRemoteUserUserTimelineCacheMax.value = meta.perRemoteUserUserTimelineCacheMax; + perUserHomeTimelineCacheMax.value = meta.perUserHomeTimelineCacheMax; + perUserListTimelineCacheMax.value = meta.perUserListTimelineCacheMax; + notesPerOneAd.value = meta.notesPerOneAd; } async function save(): void { await os.apiWithDialog('admin/update-meta', { - name, - shortName: shortName === '' ? null : shortName, - description, - maintainerName, - maintainerEmail, - impressumUrl, - pinnedUsers: pinnedUsers.split('\n'), - cacheRemoteFiles, - cacheRemoteSensitiveFiles, - enableServiceWorker, - swPublicKey, - swPrivateKey, - enableFanoutTimeline, - enableFanoutTimelineDbFallback, - perLocalUserUserTimelineCacheMax, - perRemoteUserUserTimelineCacheMax, - perUserHomeTimelineCacheMax, - perUserListTimelineCacheMax, - notesPerOneAd, + name: name.value, + shortName: shortName.value === '' ? null : shortName.value, + description: description.value, + maintainerName: maintainerName.value, + maintainerEmail: maintainerEmail.value, + impressumUrl: impressumUrl.value, + pinnedUsers: pinnedUsers.value.split('\n'), + cacheRemoteFiles: cacheRemoteFiles.value, + cacheRemoteSensitiveFiles: cacheRemoteSensitiveFiles.value, + enableServiceWorker: enableServiceWorker.value, + swPublicKey: swPublicKey.value, + swPrivateKey: swPrivateKey.value, + enableFanoutTimeline: enableFanoutTimeline.value, + enableFanoutTimelineDbFallback: enableFanoutTimelineDbFallback.value, + perLocalUserUserTimelineCacheMax: perLocalUserUserTimelineCacheMax.value, + perRemoteUserUserTimelineCacheMax: perRemoteUserUserTimelineCacheMax.value, + perUserHomeTimelineCacheMax: perUserHomeTimelineCacheMax.value, + perUserListTimelineCacheMax: perUserListTimelineCacheMax.value, + notesPerOneAd: notesPerOneAd.value, }); fetchInstance(); } -const headerTabs = $computed(() => []); +const headerTabs = computed(() => []); definePageMetadata({ title: i18n.ts.general, |