diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml
index 0a42c60c4..a21de8ace 100644
--- a/locales/ja-JP.yml
+++ b/locales/ja-JP.yml
@@ -224,6 +224,7 @@ currentPassword: "現在の鍵"
newPassword: "新しい鍵"
newPasswordRetype: "新しい鍵(再入力)"
attachFile: "ファイルを添付"
+kao: "ฅ^>ω<^ฅ"
more: "もっとぉ!"
featured: "ハイライト"
usernameOrUserId: "ユーザー名かユーザーID"
diff --git a/packages/client/src/components/post-form.vue b/packages/client/src/components/post-form.vue
index 0b34bde54..dd9cedbf8 100644
--- a/packages/client/src/components/post-form.vue
+++ b/packages/client/src/components/post-form.vue
@@ -48,6 +48,7 @@
+
@@ -352,6 +353,46 @@ function chooseFileFrom(ev) {
});
}
+async function kao() {
+ const faces = [
+ "(=^・・^=)",
+ "v('ω')v",
+ "( ᐢ˙꒳˙ᐢ )",
+ "(。>﹏<。)",
+ "(Δ・x・Δ)",
+ "(´-ω-`)",
+ "(๑•﹏•)",
+ "(。ì _ í。)",
+ "(´×ω×`)",
+ "(´+ω+`)",
+ "(。-ω-)zzz",
+ "(><)",
+ "(。>ㅿ<。)",
+ "(´;ω;`)",
+ "ฅ^•ω•^ฅ",
+ "⊂(・﹏・⊂)",
+ "ᕦ(ò_óˇ)ᕤ",
+ "ᕙ(⇀‸↼‶)ᕗ",
+ "(・o・;)",
+ "(。ŏ﹏ŏ)",
+ "Σ(^._.^=ノ)ノ",
+ " (๑•̀ - •́)و✧",
+ "(,,> <,,)♡",
+ "o(>_<)o",
+ "(っ´・ω・)っ",
+ "(´。-ω(-ω-。`)ギュ",
+ ].map(kao => {
+ return { value: kao, text: kao }
+ })
+
+ const dialog = await os.select({
+ title: "ฅ(=✧ω✧=)ฅ",
+ items: faces,
+ })
+
+ text += dialog.result || ""
+}
+
function detachFile(id) {
files = files.filter(x => x.id != id);
}