This commit is contained in:
オスカー、 2024-07-20 23:01:01 +09:00
parent 5946b63ec9
commit de023d8c99
Signed by: SWREI
GPG Key ID: 139D6573F92DA9F7
6 changed files with 84 additions and 17 deletions

32
locales/index.d.ts vendored
View File

@ -5104,11 +5104,11 @@ export interface Locale extends ILocale {
*/ */
"thankYou": string; "thankYou": string;
/** /**
* *
*/ */
"hideSensitiveInformation": string; "hideSensitiveInformation": string;
/** /**
* '' . *
*/ */
"youAreHidingSensitiveInformation": string; "youAreHidingSensitiveInformation": string;
"_bubbleGame": { "_bubbleGame": {
@ -10403,11 +10403,11 @@ export interface Locale extends ILocale {
*/ */
"about": string; "about": string;
/** /**
* *
*/ */
"itsHidden": string; "itsHidden": string;
/** /**
* *
*/ */
"itsNotHidden": string; "itsNotHidden": string;
/** /**
@ -10422,6 +10422,18 @@ export interface Locale extends ILocale {
* *
*/ */
"directMessagesDescription": string; "directMessagesDescription": string;
/**
*
*/
"drive": string;
/**
*
*/
"driveUse": string;
/**
*
*/
"driveDescription": string;
/** /**
* *
*/ */
@ -10434,6 +10446,18 @@ export interface Locale extends ILocale {
* *
*/ */
"moderationLogDescription": string; "moderationLogDescription": string;
/**
*
*/
"roles": string;
/**
*
*/
"rolesUse": string;
/**
*
*/
"rolesDescription": string;
}; };
} }
declare const locales: { declare const locales: {

View File

@ -1271,8 +1271,8 @@ here: "こちら"
credits: "スタッフロール" credits: "スタッフロール"
timeWillCome: "いつかこの欄にあなたの名前が書かれる日が来るのでしょうか?" timeWillCome: "いつかこの欄にあなたの名前が書かれる日が来るのでしょうか?"
thankYou: "オスカーはあなたと一緒にサーフィンします。 いつまでも。" thankYou: "オスカーはあなたと一緒にサーフィンします。 いつまでも。"
hideSensitiveInformation: "민감한 정보 숨기기" hideSensitiveInformation: ""
youAreHidingSensitiveInformation: "이 노트는 ''에 의해 숨겨졌습니다." youAreHidingSensitiveInformation: ""
_bubbleGame: _bubbleGame:
howToPlay: "遊び方" howToPlay: "遊び方"
@ -2768,11 +2768,17 @@ _skebStatus:
_hideSensitiveInformation: _hideSensitiveInformation:
use: "" use: ""
about: "" about: ""
itsHidden: "숨겨짐" itsHidden: ""
itsNotHidden: "표시됨" itsNotHidden: ""
directMessages: "" directMessages: ""
directMessagesUse: "" directMessagesUse: ""
directMessagesDescription: "" directMessagesDescription: ""
drive: ""
driveUse: ""
driveDescription: ""
moderationLog: "" moderationLog: ""
moderationLogUse: "" moderationLogUse: ""
moderationLogDescription: "" moderationLogDescription: ""
roles: ""
rolesUse: ""
rolesDescription: ""

View File

@ -1257,6 +1257,8 @@ alwaysConfirmFollow: "팔로우할 때 항상 확인하기"
credits: "엔딩 크레딧" credits: "엔딩 크레딧"
timeWillCome: "언젠가 이 칸에 당신의 이름이 쓰여지는 날이 올까요?" timeWillCome: "언젠가 이 칸에 당신의 이름이 쓰여지는 날이 올까요?"
thankYou: "오스카는 당신과 함께 서핑할 것입니다. 언제까지고." thankYou: "오스카는 당신과 함께 서핑할 것입니다. 언제까지고."
hideSensitiveInformation: "민감한 정보 숨기기"
youAreHidingSensitiveInformation: "'프라이빗 모드'에 의해 숨겨졌습니다."
_bubbleGame: _bubbleGame:
howToPlay: "설명" howToPlay: "설명"
hold: "홀드" hold: "홀드"
@ -2648,3 +2650,20 @@ _skebStatus:
yenX: "JPY {x}" yenX: "JPY {x}"
nWorks: "납품 실적 {n}건" nWorks: "납품 실적 {n}건"
nRequests: "거래 실적 {n}건" nRequests: "거래 실적 {n}건"
_hideSensitiveInformation:
use: "'프라이빗 모드'를 활성화하기"
about: "이 기능을 활성화하면 타인이 내 화면을 보고 있거나, 공공장소 등에서 Misskey를 이용할 때 프라이버시 보호에 도움이 될 수 있습니다."
itsHidden: "숨겨짐"
itsNotHidden: "표시됨"
directMessages: "다이렉트 노트"
directMessagesUse: "다이렉트 노트를 숨기기"
directMessagesDescription: "이 옵션을 활성화하면 다이렉트 노트의 내용이 기본적으로 표시되지 않게 됩니다."
drive: "드라이브"
driveUse: "파일 목록을 숨기기"
driveDescription: "이 옵션을 활성화하면 드라이브의 파일 목록이 표시되지 않게 됩니다. (드라이브 내의 파일 첨부가 어려워집니다.)"
moderationLog: "중재 기록"
moderationLogUse: "중재 기록을 숨기기"
moderationLogDescription: "이 옵션을 활성화하면 유저 프로필에서 중재자가 작성한 중재 기록이 표시되지 않게 됩니다."
roles: "역할"
rolesUse: "할당된 역할 숨기기"
rolesDescription: "이 옵션을 활성화하면 유저 프로필에서 '공개'로 설정되지 않은 역할이 표시되지 않게 됩니다."

View File

@ -5,7 +5,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template> <template>
<div <div
v-if="muted === false" v-if="muted === false && isRedacted === false"
v-show="!isDeleted" v-show="!isDeleted"
ref="rootEl" ref="rootEl"
v-hotkey="keymap" v-hotkey="keymap"
@ -138,7 +138,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</div> </div>
</article> </article>
</div> </div>
<div v-else :class="$style.muted" :style="hideMutedNotes ? 'display: none' : undefined" @click="muted = false"> <div v-else-if="!isRedacted" :class="$style.muted" :style="hideMutedNotes ? 'display: none' : undefined" @click="muted = false">
<I18n v-if="muted === 'sensitiveMute'" :src="i18n.ts.userSaysSomethingSensitive" tag="small"> <I18n v-if="muted === 'sensitiveMute'" :src="i18n.ts.userSaysSomethingSensitive" tag="small">
<template #name> <template #name>
<MkA v-user-preview="appearNote.userId" :to="userPage(appearNote.user)"> <MkA v-user-preview="appearNote.userId" :to="userPage(appearNote.user)">
@ -154,13 +154,16 @@ SPDX-License-Identifier: AGPL-3.0-only
</template> </template>
</I18n> </I18n>
</div> </div>
<div v-else :class="$style.muted" :style="hideMutedNotes ? 'display: none' : undefined" @click="isRedacted = false; muted = false">
<I18n :src="i18n.ts.youAreHidingSensitiveInformation" tag="small"/>
</div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { computed, inject, onMounted, ref, shallowRef, Ref, watch, provide } from 'vue'; import { computed, inject, onMounted, ref, shallowRef, Ref, watch, provide } from 'vue';
import * as mfm from 'mfm-js'; import * as mfm from 'mfm-js';
import * as Misskey from 'misskey-js'; import * as Misskey from 'misskey-js';
import MkButton from './MkButton.vue'; import MkButton from '@/components/MkButton.vue';
import MkNoteSub from '@/components/MkNoteSub.vue'; import MkNoteSub from '@/components/MkNoteSub.vue';
import MkNoteHeader from '@/components/MkNoteHeader.vue'; import MkNoteHeader from '@/components/MkNoteHeader.vue';
import MkNoteSimple from '@/components/MkNoteSimple.vue'; import MkNoteSimple from '@/components/MkNoteSimple.vue';

View File

@ -87,27 +87,27 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkFolder> </MkFolder>
<MkFolder v-if="hideSensitiveInformation"> <MkFolder v-if="hideSensitiveInformation">
<template #label>{{ i18n.ts._hideSensitiveInformation.drive }}</template> <template #label>{{ i18n.ts._hideSensitiveInformation.drive }}</template>
<template v-if="hideDirectMessages" #suffix>{{ i18n.ts._hideSensitiveInformation.itsHidden }}</template> <template v-if="hideDriveFileList" #suffix>{{ i18n.ts._hideSensitiveInformation.itsHidden }}</template>
<template v-else #suffix>{{ i18n.ts._hideSensitiveInformation.itsNotHidden }}</template> <template v-else #suffix>{{ i18n.ts._hideSensitiveInformation.itsNotHidden }}</template>
<MkSwitch v-model="hideDirectMessages"> <MkSwitch v-model="hideDriveFileList">
{{ i18n.ts._hideSensitiveInformation.driveUse }} {{ i18n.ts._hideSensitiveInformation.driveUse }}
<template #caption>{{ i18n.ts._hideSensitiveInformation.driveDescription }}</template> <template #caption>{{ i18n.ts._hideSensitiveInformation.driveDescription }}</template>
</MkSwitch> </MkSwitch>
</MkFolder> </MkFolder>
<MkFolder v-if="hideSensitiveInformation && $i.isModerator"> <MkFolder v-if="hideSensitiveInformation && $i.isModerator">
<template #label>{{ i18n.ts._hideSensitiveInformation.moderationLog }}</template> <template #label>{{ i18n.ts._hideSensitiveInformation.moderationLog }}</template>
<template v-if="hideDirectMessages" #suffix>{{ i18n.ts._hideSensitiveInformation.itsHidden }}</template> <template v-if="hideModerationLog" #suffix>{{ i18n.ts._hideSensitiveInformation.itsHidden }}</template>
<template v-else #suffix>{{ i18n.ts._hideSensitiveInformation.itsNotHidden }}</template> <template v-else #suffix>{{ i18n.ts._hideSensitiveInformation.itsNotHidden }}</template>
<MkSwitch v-model="hideDirectMessages"> <MkSwitch v-model="hideModerationLog">
{{ i18n.ts._hideSensitiveInformation.moderationLogUse }} {{ i18n.ts._hideSensitiveInformation.moderationLogUse }}
<template #caption>{{ i18n.ts._hideSensitiveInformation.moderationLogDescription }}</template> <template #caption>{{ i18n.ts._hideSensitiveInformation.moderationLogDescription }}</template>
</MkSwitch> </MkSwitch>
</MkFolder> </MkFolder>
<MkFolder v-if="hideSensitiveInformation && $i.isModerator"> <MkFolder v-if="hideSensitiveInformation && $i.isModerator">
<template #label>{{ i18n.ts._hideSensitiveInformation.roles }}</template> <template #label>{{ i18n.ts._hideSensitiveInformation.roles }}</template>
<template v-if="hideDirectMessages" #suffix>{{ i18n.ts._hideSensitiveInformation.itsHidden }}</template> <template v-if="hideRoleList" #suffix>{{ i18n.ts._hideSensitiveInformation.itsHidden }}</template>
<template v-else #suffix>{{ i18n.ts._hideSensitiveInformation.itsNotHidden }}</template> <template v-else #suffix>{{ i18n.ts._hideSensitiveInformation.itsNotHidden }}</template>
<MkSwitch v-model="hideDirectMessages"> <MkSwitch v-model="hideRoleList">
{{ i18n.ts._hideSensitiveInformation.rolesUse }} {{ i18n.ts._hideSensitiveInformation.rolesUse }}
<template #caption>{{ i18n.ts._hideSensitiveInformation.rolesDescription }}</template> <template #caption>{{ i18n.ts._hideSensitiveInformation.rolesDescription }}</template>
</MkSwitch> </MkSwitch>
@ -147,6 +147,9 @@ const rememberNoteVisibility = computed(defaultStore.makeGetterSetter('rememberN
const keepCw = computed(defaultStore.makeGetterSetter('keepCw')); const keepCw = computed(defaultStore.makeGetterSetter('keepCw'));
const hideSensitiveInformation = computed(defaultStore.makeGetterSetter('hideSensitiveInformation')); const hideSensitiveInformation = computed(defaultStore.makeGetterSetter('hideSensitiveInformation'));
const hideDirectMessages = computed(defaultStore.makeGetterSetter('hideDirectMessages')); const hideDirectMessages = computed(defaultStore.makeGetterSetter('hideDirectMessages'));
const hideDriveFileList = computed(defaultStore.makeGetterSetter('hideDriveFileList'));
const hideModerationLog = computed(defaultStore.makeGetterSetter('hideModerationLog'));
const hideRoleList = computed(defaultStore.makeGetterSetter('hideRoleList'));
function save() { function save() {
misskeyApi('i/update', { misskeyApi('i/update', {

View File

@ -164,6 +164,18 @@ export const defaultStore = markRaw(new Storage('base', {
where: 'device', where: 'device',
default: false, default: false,
}, },
hideDriveFileList: {
where: 'device',
default: false,
},
hideModerationLog: {
where: 'device',
default: false,
},
hideRoleList: {
where: 'device',
default: false,
},
showPreview: { showPreview: {
where: 'device', where: 'device',
default: false, default: false,