diff --git a/locales/en-US.yml b/locales/en-US.yml
index 503786c08..86e7620dd 100644
--- a/locales/en-US.yml
+++ b/locales/en-US.yml
@@ -2125,3 +2125,8 @@ _feeds:
rss: "RSS"
atom: "Atom"
jsonFeed: "JSON feed"
+cwStyle: "Content Warning appearance"
+_cwStyle:
+ modern: "Modern"
+ classic: "Classic (Misskey/Foundkey-like)"
+ alternative: "Alternative (Firefish-like)"
diff --git a/packages/client/src/components/MkCwButton.vue b/packages/client/src/components/MkCwButton.vue
index f6e076628..18227897d 100644
--- a/packages/client/src/components/MkCwButton.vue
+++ b/packages/client/src/components/MkCwButton.vue
@@ -2,12 +2,12 @@
@@ -18,6 +18,7 @@ import { length } from "stringz";
import type * as misskey from "iceshrimp-js";
import { concat } from "@/scripts/array";
import { i18n } from "@/i18n";
+import {defaultStore} from "@/store";
const props = defineProps<{
modelValue: boolean;
@@ -43,6 +44,8 @@ const label = computed(() => {
] as string[][]).join(", ");
});
+const cwButton = computed (() => `_button_${defaultStore.state.cwStyle}`);
+
const toggle = () => {
emit("update:modelValue", !props.modelValue);
};
@@ -57,7 +60,7 @@ defineExpose({
diff --git a/packages/client/src/components/MkShowMoreButton.vue b/packages/client/src/components/MkShowMoreButton.vue
index 87bdcfa45..872ddd5ec 100644
--- a/packages/client/src/components/MkShowMoreButton.vue
+++ b/packages/client/src/components/MkShowMoreButton.vue
@@ -2,7 +2,7 @@