mirror of
https://example.com
synced 2024-11-22 12:16:40 +09:00
feat: add "re:" at the beginning of CW reply comment (close #52)
This commit is contained in:
parent
714f9a01be
commit
f635236f00
6 changed files with 29 additions and 1 deletions
|
@ -17,6 +17,8 @@
|
|||
|
||||
## 細かい変更点
|
||||
|
||||
- 閲覧注意の投稿への返信で注釈の先頭に "re:" をつける設定を追加
|
||||
- 返信で閲覧注意は維持したいけどそのままの注釈を用いるのには違和感を覚えることがよくあるため
|
||||
- NSFW メディアを隠す設定をブラウザごとの設定からブラウザごとかつアカウントごとの設定に変更
|
||||
- 「このアカウントでは NSFW の画像を常に表示したい」みたいな需要が私にあったため
|
||||
- インスタンスティッカーをデフォルトで常に表示する
|
||||
|
|
|
@ -1132,6 +1132,7 @@ hideFollowButtons: "Hide follow buttons in notifications and user pages"
|
|||
forMobile: "Mobile"
|
||||
replaceChatButtonWithAccountButton: "Replace chat button at the bottom with account switch button"
|
||||
replaceWidgetsButtonWithReloadButton: "Replace widgets button at the bottom with reload button"
|
||||
addRe: "Add \"re:\" at the beginning of comment in reply to CW'd post"
|
||||
|
||||
_sensitiveMediaDetection:
|
||||
description: "Reduces the effort of server moderation through automatically recognizing
|
||||
|
|
|
@ -992,6 +992,7 @@ hideFollowButtons: "新規フォロワーの通知とユーザーページの ..
|
|||
forMobile: "モバイル向け"
|
||||
replaceChatButtonWithAccountButton: "画面下部のチャットのボタンをアカウント切り替えボタンに変更する"
|
||||
replaceWidgetsButtonWithReloadButton: "画面下部のウィジェットのボタンを再読み込みボタンに変更する"
|
||||
addRe: "閲覧注意の投稿への返信で、注釈の先頭に\"re:\"を追加する"
|
||||
|
||||
_sensitiveMediaDetection:
|
||||
description: "機械学習を使って自動でセンシティブなメディアを検出し、モデレーションに役立てられます。サーバーの負荷が少し増えます。"
|
||||
|
|
|
@ -518,10 +518,23 @@ if (props.specified) {
|
|||
pushVisibleUser(props.specified);
|
||||
}
|
||||
|
||||
const addRe = (s: string) => {
|
||||
if (
|
||||
!defaultStore.state.addRe ||
|
||||
s.trim() === "" ||
|
||||
s.slice(0, 3).toLowerCase() === "re:"
|
||||
)
|
||||
return s;
|
||||
return `re: ${s}`;
|
||||
};
|
||||
|
||||
// keep cw when reply
|
||||
if (defaultStore.state.keepCw && props.reply && props.reply.cw) {
|
||||
useCw = true;
|
||||
cw = props.reply.cw;
|
||||
cw =
|
||||
props.reply.user.username === $i.username
|
||||
? props.reply.cw
|
||||
: addRe(props.reply.cw);
|
||||
}
|
||||
|
||||
function watchForDraft() {
|
||||
|
|
|
@ -77,6 +77,12 @@
|
|||
{{ i18n.ts.reflectMayTakeTime }}</template
|
||||
></FormSwitch
|
||||
>
|
||||
<FormSwitch v-model="addRe" class="_formBlock"
|
||||
>{{ i18n.ts.addRe
|
||||
}}<span class="_beta">{{
|
||||
i18n.ts.originalFeature
|
||||
}}</span></FormSwitch
|
||||
>
|
||||
|
||||
<FormSelect v-model="serverDisconnectedBehavior" class="_formBlock">
|
||||
<template #label>{{ i18n.ts.whenServerDisconnected }}</template>
|
||||
|
@ -405,6 +411,7 @@ const replaceChatButtonWithAccountButton = computed(
|
|||
const replaceWidgetsButtonWithReloadButton = computed(
|
||||
defaultStore.makeGetterSetter("replaceWidgetsButtonWithReloadButton"),
|
||||
);
|
||||
const addRe = computed(defaultStore.makeGetterSetter("addRe"));
|
||||
|
||||
watch(swipeOnDesktop, () => {
|
||||
defaultStore.set("swipeOnMobile", true);
|
||||
|
|
|
@ -358,6 +358,10 @@ export const defaultStore = markRaw(
|
|||
where: "device",
|
||||
default: true,
|
||||
},
|
||||
addRe: {
|
||||
where: "account",
|
||||
default: true,
|
||||
},
|
||||
}),
|
||||
);
|
||||
|
||||
|
|
Loading…
Reference in a new issue