From 75da1fd17af621ac48e95056e917692a4bcbaea9 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Mon, 21 Oct 2024 19:12:32 +0900 Subject: [PATCH] wip --- locales/index.d.ts | 12 ++++- locales/ja-JP.yml | 6 ++- .../frontend/src/pages/settings/privacy.vue | 50 +++++++++++++++---- 3 files changed, 55 insertions(+), 13 deletions(-) diff --git a/locales/index.d.ts b/locales/index.d.ts index cbfff1dbd0..86d712a260 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -5220,7 +5220,7 @@ export interface Locale extends ILocale { */ "makeNotesFollowersOnlyBefore": string; /** - * この機能が有効になっている間、設定された日時より過去、または設定された時間を経過したノートがフォロワーのみ表示可能になります。無効に戻すと、ノートの公開状態も元に戻ります。 + * この機能が有効になっている間、設定された日時より過去、または設定された時間を経過しているノートがフォロワーのみ表示可能になります。無効に戻すと、ノートの公開状態も元に戻ります。 */ "makeNotesFollowersOnlyBeforeDescription": string; /** @@ -5228,13 +5228,21 @@ export interface Locale extends ILocale { */ "makeNotesHiddenBefore": string; /** - * この機能が有効になっている間、設定された日時より過去、または設定された時間を経過したノートが自分のみ表示可能(非公開化)になります。無効に戻すと、ノートの公開状態も元に戻ります。 + * この機能が有効になっている間、設定された日時より過去、または設定された時間を経過しているノートが自分のみ表示可能(非公開化)になります。無効に戻すと、ノートの公開状態も元に戻ります。 */ "makeNotesHiddenBeforeDescription": string; /** * リモートサーバーに連合されたノートには効果が及ばない場合があります。 */ "mayNotEffectForFederatedNotes": string; + /** + * 指定した時間を経過しているノート + */ + "notesHavePassedSpecifiedPeriod": string; + /** + * 指定した日時より前のノート + */ + "notesOlderThanSpecifiedDateAndTime": string; }; "_abuseUserReport": { /** diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 5d0805ac7c..bec34894c1 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1302,10 +1302,12 @@ _accountSettings: requireSigninToViewContentsDescription2: "URLプレビュー(OGP)、Webページへの埋め込み、ノートの引用に対応していないサーバーからの表示も不可になります。" requireSigninToViewContentsDescription3: "リモートサーバーに連合されたコンテンツでは、これらの制限が適用されない場合があります。" makeNotesFollowersOnlyBefore: "過去のノートをフォロワーのみ表示可能にする" - makeNotesFollowersOnlyBeforeDescription: "この機能が有効になっている間、設定された日時より過去、または設定された時間を経過したノートがフォロワーのみ表示可能になります。無効に戻すと、ノートの公開状態も元に戻ります。" + makeNotesFollowersOnlyBeforeDescription: "この機能が有効になっている間、設定された日時より過去、または設定された時間を経過しているノートがフォロワーのみ表示可能になります。無効に戻すと、ノートの公開状態も元に戻ります。" makeNotesHiddenBefore: "過去のノートを非公開化する" - makeNotesHiddenBeforeDescription: "この機能が有効になっている間、設定された日時より過去、または設定された時間を経過したノートが自分のみ表示可能(非公開化)になります。無効に戻すと、ノートの公開状態も元に戻ります。" + makeNotesHiddenBeforeDescription: "この機能が有効になっている間、設定された日時より過去、または設定された時間を経過しているノートが自分のみ表示可能(非公開化)になります。無効に戻すと、ノートの公開状態も元に戻ります。" mayNotEffectForFederatedNotes: "リモートサーバーに連合されたノートには効果が及ばない場合があります。" + notesHavePassedSpecifiedPeriod: "指定した時間を経過しているノート" + notesOlderThanSpecifiedDateAndTime: "指定した日時より前のノート" _abuseUserReport: forward: "転送" diff --git a/packages/frontend/src/pages/settings/privacy.vue b/packages/frontend/src/pages/settings/privacy.vue index ccb6ebeca0..c159ce0638 100644 --- a/packages/frontend/src/pages/settings/privacy.vue +++ b/packages/frontend/src/pages/settings/privacy.vue @@ -57,20 +57,31 @@ SPDX-License-Identifier: AGPL-3.0-only - + {{ i18n.ts._accountSettings.makeNotesFollowersOnlyBefore }} - {{ i18n.ts.none }} - {{ '1h ago' }} - {{ '1d ago' }} - {{ '3d ago' }} - {{ '1w ago' }} - {{ '1m ago' }} - {{ '1y ago' }} + + + + {{ i18n.ts.none }} + {{ i18n.ts._accountSettings.notesHavePassedSpecifiedPeriod }} + {{ i18n.ts._accountSettings.notesOlderThanSpecifiedDateAndTime }} + + + + {{ '1h ago' }} + {{ '1d ago' }} + {{ '3d ago' }} + {{ '1w ago' }} + {{ '1m ago' }} + {{ '1y ago' }} + + + {{ i18n.ts._accountSettings.makeNotesFollowersOnlyBeforeDescription }} {{ i18n.ts._accountSettings.mayNotEffectForFederatedNotes }} - + {{ i18n.ts._accountSettings.makeNotesHiddenBefore }} @@ -127,6 +138,7 @@ import { defaultStore } from '@/store.js'; import { i18n } from '@/i18n.js'; import { signinRequired } from '@/account.js'; import { definePageMetadata } from '@/scripts/page-metadata.js'; +import FormSlot from '@/components/form/slot.vue'; const $i = signinRequired(); @@ -148,6 +160,26 @@ const defaultNoteLocalOnly = computed(defaultStore.makeGetterSetter('defaultNote const rememberNoteVisibility = computed(defaultStore.makeGetterSetter('rememberNoteVisibility')); const keepCw = computed(defaultStore.makeGetterSetter('keepCw')); +const makeNotesFollowersOnlyBefore_type = computed(() => { + if (makeNotesFollowersOnlyBefore.value === null) { + return null; + } else if (makeNotesFollowersOnlyBefore.value >= 0) { + return 'absolute'; + } else { + return 'relative'; + } +}); + +const makeNotesHiddenBefore_type = computed(() => { + if (makeNotesHiddenBefore.value === null) { + return null; + } else if (makeNotesHiddenBefore.value >= 0) { + return 'absolute'; + } else { + return 'relative'; + } +}); + function save() { misskeyApi('i/update', { isLocked: !!isLocked.value,