diff --git a/locales/index.d.ts b/locales/index.d.ts
index cee973a0a2..9c7cf467ba 100644
--- a/locales/index.d.ts
+++ b/locales/index.d.ts
@@ -13217,6 +13217,22 @@ export interface Locale extends ILocale {
* Hibernated
*/
"hibernated": string;
+ /**
+ * When replying to a post with a Content Warning, automatically use the same CW for the reply.
+ */
+ "keepCwDescription": string;
+ /**
+ * Disabled (do not keep CWs)
+ */
+ "keepCwDisabled": string;
+ /**
+ * Enabled (copy CWs verbatim)
+ */
+ "keepCwEnabled": string;
+ /**
+ * Enabled (copy CW and prepend "RE:", like email)
+ */
+ "keepCwPrependRe": string;
}
declare const locales: {
[lang: string]: Locale;
diff --git a/packages/frontend/src/components/MkPostForm.vue b/packages/frontend/src/components/MkPostForm.vue
index c1d78301de..bbacdfda4d 100644
--- a/packages/frontend/src/components/MkPostForm.vue
+++ b/packages/frontend/src/components/MkPostForm.vue
@@ -373,7 +373,9 @@ if (props.specified) {
// keep cw when reply
if (prefer.s.keepCw && props.reply && props.reply.cw) {
useCw.value = true;
- cw.value = props.reply.cw;
+ cw.value = prefer.s.keepCw === 'prepend-re'
+ ? `RE: ${props.reply.cw}`
+ : props.reply.cw;
}
// apply default CW
diff --git a/packages/frontend/src/components/MkSelect.vue b/packages/frontend/src/components/MkSelect.vue
index cf4e4eda74..511a45c165 100644
--- a/packages/frontend/src/components/MkSelect.vue
+++ b/packages/frontend/src/components/MkSelect.vue
@@ -39,32 +39,34 @@ SPDX-License-Identifier: AGPL-3.0-only
-
+
+