From 4c520fa6931a7f64d5a5b9d19f257210bd7640b3 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Fri, 1 Aug 2025 11:07:09 +0900 Subject: [PATCH] =?UTF-8?q?enhance(frontend):=20=E3=82=B5=E3=83=BC?= =?UTF-8?q?=E3=83=90=E3=83=BC=E3=81=AE=E5=88=9D=E6=9C=9F=E8=A8=AD=E5=AE=9A?= =?UTF-8?q?=E3=82=A6=E3=82=A3=E3=82=B6=E3=83=BC=E3=83=89=E3=82=92=E3=82=84?= =?UTF-8?q?=E3=82=8A=E7=9B=B4=E3=81=9B=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- locales/index.d.ts | 8 +++ locales/ja-JP.yml | 2 + .../src/components/MkServerSetupWizard.vue | 10 ++-- .../components/MkServerSetupWizardDialog.vue | 57 +++++++++++++++++++ .../frontend/src/pages/admin/settings.vue | 18 ++++++ packages/frontend/src/pages/welcome.setup.vue | 9 ++- 6 files changed, 99 insertions(+), 5 deletions(-) create mode 100644 packages/frontend/src/components/MkServerSetupWizardDialog.vue diff --git a/locales/index.d.ts b/locales/index.d.ts index 088b89b79f..1be8811a25 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -6558,6 +6558,14 @@ export interface Locale extends ILocale { * サーバーで受信したリモートのコンテンツを含め、サーバー内の全てのコンテンツを無条件でインターネットに公開することはリスクが伴います。特に、分散型の特性を知らない閲覧者にとっては、リモートのコンテンツであってもサーバー内で作成されたコンテンツであると誤って認識してしまう可能性があるため、注意が必要です。 */ "userGeneratedContentsVisibilityForVisitor_description2": string; + /** + * サーバーの初期設定ウィザードをやり直しますか? + */ + "restartServerSetupWizardConfirm_title": string; + /** + * 現在の一部の設定はリセットされます。 + */ + "restartServerSetupWizardConfirm_text": string; "_userGeneratedContentsVisibilityForVisitor": { /** * 全て公開 diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 5bd2fc6e17..d4edfc5aab 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1667,6 +1667,8 @@ _serverSettings: userGeneratedContentsVisibilityForVisitor: "非利用者に対するユーザー作成コンテンツの公開範囲" userGeneratedContentsVisibilityForVisitor_description: "モデレーションが行き届きにくい不適切なリモートコンテンツなどが、自サーバー経由で図らずもインターネットに公開されてしまうことによるトラブル防止などに役立ちます。" userGeneratedContentsVisibilityForVisitor_description2: "サーバーで受信したリモートのコンテンツを含め、サーバー内の全てのコンテンツを無条件でインターネットに公開することはリスクが伴います。特に、分散型の特性を知らない閲覧者にとっては、リモートのコンテンツであってもサーバー内で作成されたコンテンツであると誤って認識してしまう可能性があるため、注意が必要です。" + restartServerSetupWizardConfirm_title: "サーバーの初期設定ウィザードをやり直しますか?" + restartServerSetupWizardConfirm_text: "現在の一部の設定はリセットされます。" _userGeneratedContentsVisibilityForVisitor: all: "全て公開" diff --git a/packages/frontend/src/components/MkServerSetupWizard.vue b/packages/frontend/src/components/MkServerSetupWizard.vue index 65e0d6d9de..e5614d63d7 100644 --- a/packages/frontend/src/components/MkServerSetupWizard.vue +++ b/packages/frontend/src/components/MkServerSetupWizard.vue @@ -196,12 +196,14 @@ const props = withDefaults(defineProps<{ }>(), { }); -const q_name = ref(''); +const currentMeta = await misskeyApi('admin/meta'); + +const q_name = ref(currentMeta.name ?? ''); const q_use = ref('single'); const q_scale = ref('small'); -const q_federation = ref('yes'); -const q_adminName = ref(''); -const q_adminEmail = ref(''); +const q_federation = ref(currentMeta.federation === 'none' ? 'no' : 'yes'); +const q_adminName = ref(currentMeta.maintainerName ?? ''); +const q_adminEmail = ref(currentMeta.maintainerEmail ?? ''); const serverSettings = computed(() => { let enableReactionsBuffering; diff --git a/packages/frontend/src/components/MkServerSetupWizardDialog.vue b/packages/frontend/src/components/MkServerSetupWizardDialog.vue new file mode 100644 index 0000000000..ea2c5dd47f --- /dev/null +++ b/packages/frontend/src/components/MkServerSetupWizardDialog.vue @@ -0,0 +1,57 @@ + + + + + + + diff --git a/packages/frontend/src/pages/admin/settings.vue b/packages/frontend/src/pages/admin/settings.vue index f6a2eb1c27..d079b4cb0c 100644 --- a/packages/frontend/src/pages/admin/settings.vue +++ b/packages/frontend/src/pages/admin/settings.vue @@ -287,6 +287,10 @@ SPDX-License-Identifier: AGPL-3.0-only + + + Open setup wizard + @@ -425,6 +429,20 @@ const proxyAccountForm = useForm({ fetchInstance(true); }); +async function openSetupWizard() { + const { canceled } = await os.confirm({ + type: 'warning', + title: i18n.ts._serverSettings.restartServerSetupWizardConfirm_title, + text: i18n.ts._serverSettings.restartServerSetupWizardConfirm_text, + }); + if (canceled) return; + + const { dispose } = await os.popupAsyncWithDialog(import('@/components/MkServerSetupWizardDialog.vue').then(x => x.default), { + }, { + closed: () => dispose(), + }); +} + const headerTabs = computed(() => []); definePage(() => ({ diff --git a/packages/frontend/src/pages/welcome.setup.vue b/packages/frontend/src/pages/welcome.setup.vue index 3e2d086858..393ba98d30 100644 --- a/packages/frontend/src/pages/welcome.setup.vue +++ b/packages/frontend/src/pages/welcome.setup.vue @@ -87,7 +87,14 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ i18n.ts._serverSetupWizard.settingsYouMakeHereCanBeChangedLater }}
- + + + + {{ i18n.ts._serverSetupWizard.skipSettings }}