summaryrefslogtreecommitdiff
path: root/packages/frontend/src
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-10-04 08:46:27 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-10-04 08:46:27 +0900
commit17b83ff4c13e873b63262c349ea9c7bade0d656a (patch)
treef4b8e18a2a4d5b5f9c22c53f10ea50a6cf440053 /packages/frontend/src
parentfix: deck uiでuser listを見たときにリプライが表示されない (... (diff)
downloadmisskey-17b83ff4c13e873b63262c349ea9c7bade0d656a.tar.gz
misskey-17b83ff4c13e873b63262c349ea9c7bade0d656a.tar.bz2
misskey-17b83ff4c13e873b63262c349ea9c7bade0d656a.zip
enhance: TLキャッシュ容量を設定できるように
Diffstat (limited to 'packages/frontend/src')
-rw-r--r--packages/frontend/src/pages/admin/external-services.vue81
-rw-r--r--packages/frontend/src/pages/admin/index.vue5
-rw-r--r--packages/frontend/src/pages/admin/settings.vue40
-rw-r--r--packages/frontend/src/router.ts4
4 files changed, 117 insertions, 13 deletions
diff --git a/packages/frontend/src/pages/admin/external-services.vue b/packages/frontend/src/pages/admin/external-services.vue
new file mode 100644
index 0000000000..5944bf500a
--- /dev/null
+++ b/packages/frontend/src/pages/admin/external-services.vue
@@ -0,0 +1,81 @@
+<!--
+SPDX-FileCopyrightText: syuilo and other misskey contributors
+SPDX-License-Identifier: AGPL-3.0-only
+-->
+
+<template>
+<MkStickyContainer>
+ <template #header><XHeader :actions="headerActions" :tabs="headerTabs"/></template>
+ <MkSpacer :contentMax="700" :marginMin="16" :marginMax="32">
+ <FormSuspense :p="init">
+ <FormSection>
+ <template #label>DeepL Translation</template>
+
+ <div class="_gaps_m">
+ <MkInput v-model="deeplAuthKey">
+ <template #prefix><i class="ti ti-key"></i></template>
+ <template #label>DeepL Auth Key</template>
+ </MkInput>
+ <MkSwitch v-model="deeplIsPro">
+ <template #label>Pro account</template>
+ </MkSwitch>
+ </div>
+ </FormSection>
+ </FormSuspense>
+ </MkSpacer>
+ <template #footer>
+ <div :class="$style.footer">
+ <MkSpacer :contentMax="700" :marginMin="16" :marginMax="16">
+ <MkButton primary rounded @click="save"><i class="ti ti-check"></i> {{ i18n.ts.save }}</MkButton>
+ </MkSpacer>
+ </div>
+ </template>
+</MkStickyContainer>
+</template>
+
+<script lang="ts" setup>
+import { } from 'vue';
+import XHeader from './_header_.vue';
+import MkInput from '@/components/MkInput.vue';
+import MkButton from '@/components/MkButton.vue';
+import FormSuspense from '@/components/form/suspense.vue';
+import FormSection from '@/components/form/section.vue';
+import * as os from '@/os.js';
+import { fetchInstance } from '@/instance.js';
+import { i18n } from '@/i18n.js';
+import { definePageMetadata } from '@/scripts/page-metadata.js';
+
+let deeplAuthKey: string = $ref('');
+let deeplIsPro: boolean = $ref(false);
+
+async function init() {
+ const meta = await os.api('admin/meta');
+ deeplAuthKey = meta.deeplAuthKey;
+ deeplIsPro = meta.deeplIsPro;
+}
+
+function save() {
+ os.apiWithDialog('admin/update-meta', {
+ deeplAuthKey,
+ deeplIsPro,
+ }).then(() => {
+ fetchInstance();
+ });
+}
+
+const headerActions = $computed(() => []);
+
+const headerTabs = $computed(() => []);
+
+definePageMetadata({
+ title: i18n.ts.instanceBlocking,
+ icon: 'ti ti-ban',
+});
+</script>
+
+<style lang="scss" module>
+.footer {
+ -webkit-backdrop-filter: var(--blur, blur(15px));
+ backdrop-filter: var(--blur, blur(15px));
+}
+</style>
diff --git a/packages/frontend/src/pages/admin/index.vue b/packages/frontend/src/pages/admin/index.vue
index 944ba7b950..a508c20cf3 100644
--- a/packages/frontend/src/pages/admin/index.vue
+++ b/packages/frontend/src/pages/admin/index.vue
@@ -199,6 +199,11 @@ const menuDef = $computed(() => [{
to: '/admin/proxy-account',
active: currentPage?.route.name === 'proxy-account',
}, {
+ icon: 'ti ti-link',
+ text: i18n.ts.externalServices,
+ to: '/admin/external-services',
+ active: currentPage?.route.name === 'external-services',
+ }, {
icon: 'ti ti-adjustments',
text: i18n.ts.other,
to: '/admin/other-settings',
diff --git a/packages/frontend/src/pages/admin/settings.vue b/packages/frontend/src/pages/admin/settings.vue
index f93678d728..09a6cc7e2c 100644
--- a/packages/frontend/src/pages/admin/settings.vue
+++ b/packages/frontend/src/pages/admin/settings.vue
@@ -81,16 +81,24 @@ SPDX-License-Identifier: AGPL-3.0-only
</FormSection>
<FormSection>
- <template #label>DeepL Translation</template>
+ <template #label>Timeline caching</template>
<div class="_gaps_m">
- <MkInput v-model="deeplAuthKey">
- <template #prefix><i class="ti ti-key"></i></template>
- <template #label>DeepL Auth Key</template>
+ <MkInput v-model="perLocalUserUserTimelineCacheMax" type="number">
+ <template #label>perLocalUserUserTimelineCacheMax</template>
+ </MkInput>
+
+ <MkInput v-model="perRemoteUserUserTimelineCacheMax" type="number">
+ <template #label>perRemoteUserUserTimelineCacheMax</template>
+ </MkInput>
+
+ <MkInput v-model="perUserHomeTimelineCacheMax" type="number">
+ <template #label>perUserHomeTimelineCacheMax</template>
+ </MkInput>
+
+ <MkInput v-model="perUserListTimelineCacheMax" type="number">
+ <template #label>perUserListTimelineCacheMax</template>
</MkInput>
- <MkSwitch v-model="deeplIsPro">
- <template #label>Pro account</template>
- </MkSwitch>
</div>
</FormSection>
</div>
@@ -133,8 +141,10 @@ let cacheRemoteSensitiveFiles: boolean = $ref(false);
let enableServiceWorker: boolean = $ref(false);
let swPublicKey: any = $ref(null);
let swPrivateKey: any = $ref(null);
-let deeplAuthKey: string = $ref('');
-let deeplIsPro: boolean = $ref(false);
+let perLocalUserUserTimelineCacheMax: number = $ref(0);
+let perRemoteUserUserTimelineCacheMax: number = $ref(0);
+let perUserHomeTimelineCacheMax: number = $ref(0);
+let perUserListTimelineCacheMax: number = $ref(0);
async function init(): Promise<void> {
const meta = await os.api('admin/meta');
@@ -149,8 +159,10 @@ async function init(): Promise<void> {
enableServiceWorker = meta.enableServiceWorker;
swPublicKey = meta.swPublickey;
swPrivateKey = meta.swPrivateKey;
- deeplAuthKey = meta.deeplAuthKey;
- deeplIsPro = meta.deeplIsPro;
+ perLocalUserUserTimelineCacheMax = meta.perLocalUserUserTimelineCacheMax;
+ perRemoteUserUserTimelineCacheMax = meta.perRemoteUserUserTimelineCacheMax;
+ perUserHomeTimelineCacheMax = meta.perUserHomeTimelineCacheMax;
+ perUserListTimelineCacheMax = meta.perUserListTimelineCacheMax;
}
function save(): void {
@@ -166,8 +178,10 @@ function save(): void {
enableServiceWorker,
swPublicKey,
swPrivateKey,
- deeplAuthKey,
- deeplIsPro,
+ perLocalUserUserTimelineCacheMax,
+ perRemoteUserUserTimelineCacheMax,
+ perUserHomeTimelineCacheMax,
+ perUserListTimelineCacheMax,
}).then(() => {
fetchInstance();
});
diff --git a/packages/frontend/src/router.ts b/packages/frontend/src/router.ts
index 415d2f1974..20314711a4 100644
--- a/packages/frontend/src/router.ts
+++ b/packages/frontend/src/router.ts
@@ -436,6 +436,10 @@ export const routes = [{
name: 'proxy-account',
component: page(() => import('./pages/admin/proxy-account.vue')),
}, {
+ path: '/external-services',
+ name: 'external-services',
+ component: page(() => import('./pages/admin/external-services.vue')),
+ }, {
path: '/other-settings',
name: 'other-settings',
component: page(() => import('./pages/admin/other-settings.vue')),