diff --git a/locales/en-US.yml b/locales/en-US.yml index 221ade4028..ad517b888f 100644 --- a/locales/en-US.yml +++ b/locales/en-US.yml @@ -1330,6 +1330,8 @@ confirmWhenRevealingSensitiveMedia: "Confirm when revealing sensitive media" sensitiveMediaRevealConfirm: "This media might be sensitive. Are you sure you want to reveal it?" createdLists: "Created lists" createdAntennas: "Created antennas" +severAllFollowRelations: "Break follow relationships" +severAllFollowRelationsConfirm: "Really break all follow relationships? This is irreversible!" _delivery: status: "Delivery status" stop: "Suspend delivery" diff --git a/locales/index.d.ts b/locales/index.d.ts index f93ef14325..517a7bf87d 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -3128,6 +3128,10 @@ export interface Locale extends ILocale { * 返信にサーバー情報を表示する */ "showTickerOnReplies": string; + /** + * 猫の話し方を無効にする + */ + "disableCatSpeak": string; /** * 検索MFMの検索エンジン */ @@ -4429,10 +4433,6 @@ export interface Locale extends ILocale { * 連合なしにする */ "disableFederationOk": string; - /** - * 猫の話し方を無効にする - */ - "disableCatSpeak": string; /** * 現在このサーバーは招待制です。招待コードをお持ちの方のみ登録できます。 */ @@ -5337,6 +5337,14 @@ export interface Locale extends ILocale { * 作成したアンテナ */ "createdAntennas": string; + /** + * 以下の関係をすべて断ち切る + */ + "severAllFollowRelations": string; + /** + * 本当にすべての関係を断ち切りたいのですか?これは不可逆的だ。 + */ + "severAllFollowRelationsConfirm": string; "_delivery": { /** * 配信状態 @@ -5777,7 +5785,7 @@ export interface Locale extends ILocale { */ "social": string; /** - * バッッブルタイムラインでは、管理者が選択した接続サーバーからのメモを表示できます。 + * バブルタイムラインでは、管理者が選択した接続サーバーからの投稿を表示できます。 */ "bubble": string; /** @@ -9139,7 +9147,7 @@ export interface Locale extends ILocale { */ "global": string; /** - * バッッブル + * バブル */ "bubble": string; }; diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 70acc3adf4..5aec622638 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1330,6 +1330,8 @@ confirmWhenRevealingSensitiveMedia: "センシティブなメディアを表示 sensitiveMediaRevealConfirm: "センシティブなメディアです。表示しますか?" createdLists: "作成したリスト" createdAntennas: "作成したアンテナ" +severAllFollowRelations: "以下の関係をすべて断ち切る" +severAllFollowRelationsConfirm: "本当にすべての関係を断ち切りたいのですか?これは不可逆的だ。" _delivery: status: "配信状態" diff --git a/packages/frontend/src/pages/instance-info.vue b/packages/frontend/src/pages/instance-info.vue index 4ff26197d8..18dfa80d6b 100644 --- a/packages/frontend/src/pages/instance-info.vue +++ b/packages/frontend/src/pages/instance-info.vue @@ -43,6 +43,8 @@ SPDX-License-Identifier: AGPL-3.0-only {{ i18n.ts._delivery._type[suspensionState] }} + {{ i18n.ts.deleteAllFilesConfirm }} + {{ i18n.ts.severAllFollowRelations }} {{ i18n.ts._delivery.stop }} {{ i18n.ts._delivery.resume }} {{ i18n.ts.blockThisInstance }} @@ -270,6 +272,37 @@ function refreshMetadata(): void { }); } +async function deleteAllFiles(): void { + const confirm = await os.confirm({ + type: 'danger', + text: i18n.ts.deleteAllFilesConfirm, + }); + if (!confirm) return; + if (!instance.value) throw new Error('No instance?'); + await misskeyApi('admin/federation/delete-all-files', { + host: instance.value.host, + }); + await os.alert({ + text: 'Deletion of all files queued', + }); +} + +async function severAllFollowRelations(): void { + if (!instance.value) throw new Error('No instance?'); + + const confirm = await os.confirm({ + type: 'danger', + text: i18n.ts.severAllFollowRelationsConfirm, + }); + if (!confirm) return; + await misskeyApi('admin/federation/remove-all-following', { + host: instance.value.host, + }); + await os.alert({ + text: 'Severing all follow relations queued', + }); +} + fetch(); const headerActions = computed(() => [{