This commit is contained in:
syuilo 2024-10-21 19:12:32 +09:00
parent f93db3f218
commit 75da1fd17a
3 changed files with 55 additions and 13 deletions

12
locales/index.d.ts vendored
View File

@ -5220,7 +5220,7 @@ export interface Locale extends ILocale {
*/ */
"makeNotesFollowersOnlyBefore": string; "makeNotesFollowersOnlyBefore": string;
/** /**
* *
*/ */
"makeNotesFollowersOnlyBeforeDescription": string; "makeNotesFollowersOnlyBeforeDescription": string;
/** /**
@ -5228,13 +5228,21 @@ export interface Locale extends ILocale {
*/ */
"makeNotesHiddenBefore": string; "makeNotesHiddenBefore": string;
/** /**
* () * ()
*/ */
"makeNotesHiddenBeforeDescription": string; "makeNotesHiddenBeforeDescription": string;
/** /**
* *
*/ */
"mayNotEffectForFederatedNotes": string; "mayNotEffectForFederatedNotes": string;
/**
*
*/
"notesHavePassedSpecifiedPeriod": string;
/**
*
*/
"notesOlderThanSpecifiedDateAndTime": string;
}; };
"_abuseUserReport": { "_abuseUserReport": {
/** /**

View File

@ -1302,10 +1302,12 @@ _accountSettings:
requireSigninToViewContentsDescription2: "URLプレビュー(OGP)、Webページへの埋め込み、ートの引用に対応していないサーバーからの表示も不可になります。" requireSigninToViewContentsDescription2: "URLプレビュー(OGP)、Webページへの埋め込み、ートの引用に対応していないサーバーからの表示も不可になります。"
requireSigninToViewContentsDescription3: "リモートサーバーに連合されたコンテンツでは、これらの制限が適用されない場合があります。" requireSigninToViewContentsDescription3: "リモートサーバーに連合されたコンテンツでは、これらの制限が適用されない場合があります。"
makeNotesFollowersOnlyBefore: "過去のノートをフォロワーのみ表示可能にする" makeNotesFollowersOnlyBefore: "過去のノートをフォロワーのみ表示可能にする"
makeNotesFollowersOnlyBeforeDescription: "この機能が有効になっている間、設定された日時より過去、または設定された時間を経過しノートがフォロワーのみ表示可能になります。無効に戻すと、ノートの公開状態も元に戻ります。" makeNotesFollowersOnlyBeforeDescription: "この機能が有効になっている間、設定された日時より過去、または設定された時間を経過しているノートがフォロワーのみ表示可能になります。無効に戻すと、ノートの公開状態も元に戻ります。"
makeNotesHiddenBefore: "過去のノートを非公開化する" makeNotesHiddenBefore: "過去のノートを非公開化する"
makeNotesHiddenBeforeDescription: "この機能が有効になっている間、設定された日時より過去、または設定された時間を経過しノートが自分のみ表示可能(非公開化)になります。無効に戻すと、ノートの公開状態も元に戻ります。" makeNotesHiddenBeforeDescription: "この機能が有効になっている間、設定された日時より過去、または設定された時間を経過しているノートが自分のみ表示可能(非公開化)になります。無効に戻すと、ノートの公開状態も元に戻ります。"
mayNotEffectForFederatedNotes: "リモートサーバーに連合されたノートには効果が及ばない場合があります。" mayNotEffectForFederatedNotes: "リモートサーバーに連合されたノートには効果が及ばない場合があります。"
notesHavePassedSpecifiedPeriod: "指定した時間を経過しているノート"
notesOlderThanSpecifiedDateAndTime: "指定した日時より前のノート"
_abuseUserReport: _abuseUserReport:
forward: "転送" forward: "転送"

View File

@ -57,20 +57,31 @@ SPDX-License-Identifier: AGPL-3.0-only
</template> </template>
</MkSwitch> </MkSwitch>
<MkSelect v-model="makeNotesFollowersOnlyBefore" @update:modelValue="save()"> <FormSlot>
<template #label>{{ i18n.ts._accountSettings.makeNotesFollowersOnlyBefore }}</template> <template #label>{{ i18n.ts._accountSettings.makeNotesFollowersOnlyBefore }}</template>
<div class="_gaps_s">
<MkSelect :modelValue="makeNotesFollowersOnlyBefore_type" @update:modelValue="makeNotesFollowersOnlyBefore = $event === 'relative' ? -604800 : null">
<option :value="null">{{ i18n.ts.none }}</option> <option :value="null">{{ i18n.ts.none }}</option>
<option value="relative">{{ i18n.ts._accountSettings.notesHavePassedSpecifiedPeriod }}</option>
<option value="absolute">{{ i18n.ts._accountSettings.notesOlderThanSpecifiedDateAndTime }}</option>
</MkSelect>
<MkSelect v-if="makeNotesFollowersOnlyBefore_type === 'relative'" v-model="makeNotesFollowersOnlyBefore" @update:modelValue="save()">
<option :value="-3600">{{ '1h ago' }}</option> <option :value="-3600">{{ '1h ago' }}</option>
<option :value="-86400">{{ '1d ago' }}</option> <option :value="-86400">{{ '1d ago' }}</option>
<option :value="-259200">{{ '3d ago' }}</option> <option :value="-259200">{{ '3d ago' }}</option>
<option :value="-604800">{{ '1w ago' }}</option> <option :value="-604800">{{ '1w ago' }}</option>
<option :value="-2592000">{{ '1m ago' }}</option> <option :value="-2592000">{{ '1m ago' }}</option>
<option :value="-31104000">{{ '1y ago' }}</option> <option :value="-31104000">{{ '1y ago' }}</option>
</MkSelect>
</div>
<template #caption> <template #caption>
<div>{{ i18n.ts._accountSettings.makeNotesFollowersOnlyBeforeDescription }}</div> <div>{{ i18n.ts._accountSettings.makeNotesFollowersOnlyBeforeDescription }}</div>
<div><i class="ti ti-alert-triangle" style="color: var(--MI_THEME-warn);"></i> {{ i18n.ts._accountSettings.mayNotEffectForFederatedNotes }}</div> <div><i class="ti ti-alert-triangle" style="color: var(--MI_THEME-warn);"></i> {{ i18n.ts._accountSettings.mayNotEffectForFederatedNotes }}</div>
</template> </template>
</MkSelect> </FormSlot>
<MkSelect v-model="makeNotesHiddenBefore" @update:modelValue="save()"> <MkSelect v-model="makeNotesHiddenBefore" @update:modelValue="save()">
<template #label>{{ i18n.ts._accountSettings.makeNotesHiddenBefore }}</template> <template #label>{{ i18n.ts._accountSettings.makeNotesHiddenBefore }}</template>
@ -127,6 +138,7 @@ import { defaultStore } from '@/store.js';
import { i18n } from '@/i18n.js'; import { i18n } from '@/i18n.js';
import { signinRequired } from '@/account.js'; import { signinRequired } from '@/account.js';
import { definePageMetadata } from '@/scripts/page-metadata.js'; import { definePageMetadata } from '@/scripts/page-metadata.js';
import FormSlot from '@/components/form/slot.vue';
const $i = signinRequired(); const $i = signinRequired();
@ -148,6 +160,26 @@ const defaultNoteLocalOnly = computed(defaultStore.makeGetterSetter('defaultNote
const rememberNoteVisibility = computed(defaultStore.makeGetterSetter('rememberNoteVisibility')); const rememberNoteVisibility = computed(defaultStore.makeGetterSetter('rememberNoteVisibility'));
const keepCw = computed(defaultStore.makeGetterSetter('keepCw')); 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() { function save() {
misskeyApi('i/update', { misskeyApi('i/update', {
isLocked: !!isLocked.value, isLocked: !!isLocked.value,