diff --git a/locales/ja-NY.yml b/locales/ja-NY.yml
index 546270ad8..41be997b4 100644
--- a/locales/ja-NY.yml
+++ b/locales/ja-NY.yml
@@ -827,6 +827,14 @@ leaveGroupConfirm: "「{name}」から抜けるにゃ?"
useDrawerReactionPickerForMobile: "モバイルデバイスのときドロワーで表示"
welcomeBackWithName: "おかえりにゃさいにゃ、{name}さん!"
clickToFinishEmailVerification: "[{ok}]を押して、メールアドレスの確認を完了してくださいにゃ。"
+emojiGen: "絵文字を生成"
+emojiAlign: "文字揃え"
+emojiSizeSetting: "サイズ調整"
+emojiSizeFixed: "文字サイズを固定する"
+emojiStretch: "自動で伸縮しない"
+emojiGenerate: "生成"
+emojiColor: "カラーコード"
+emojiApproval: "絵文字を登録"
_emailUnavailable:
used: "既に使用されているにゃ"
diff --git a/packages/client/src/pages/admin/emojigen.vue b/packages/client/src/pages/admin/emojigen.vue
new file mode 100644
index 000000000..2287d869c
--- /dev/null
+++ b/packages/client/src/pages/admin/emojigen.vue
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
diff --git a/packages/client/src/pages/admin/emojis.vue b/packages/client/src/pages/admin/emojis.vue
index a080ee9c2..732fe7d7c 100644
--- a/packages/client/src/pages/admin/emojis.vue
+++ b/packages/client/src/pages/admin/emojis.vue
@@ -202,7 +202,16 @@ const menu = (ev: MouseEvent) => {
});
});
}
- }], ev.currentTarget ?? ev.target);
+ },{
+ icon: 'fas fa-recycle',
+ text: i18n.ts.emojigen,
+ action: async
+
+ }
+
+
+
+ ], ev.currentTarget ?? ev.target);
};
const setCategoryBulk = async () => {
@@ -298,13 +307,13 @@ defineExpose({
.empty {
margin: var(--margin);
}
-
+
.ldhfsamy {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
grid-gap: 12px;
margin: var(--margin) 0;
-
+
> .emoji {
display: flex;
align-items: center;
diff --git a/packages/client/src/pages/admin/index.vue b/packages/client/src/pages/admin/index.vue
index 6b11650f4..d9fb4f4ed 100644
--- a/packages/client/src/pages/admin/index.vue
+++ b/packages/client/src/pages/admin/index.vue
@@ -2,7 +2,7 @@
-
+
@@ -120,7 +120,12 @@ export default defineComponent({
text: i18n.ts.customEmojis,
to: '/admin/emojis',
active: page.value === 'emojis',
- }, {
+ },{
+ icon: 'fas fa-laugh',
+ text: i18n.ts.emojiGen,
+ to: '/admin/emojigen',
+ active: page.value === 'emojigen',
+ },{
icon: 'fas fa-globe',
text: i18n.ts.federation,
to: '/admin/federation',