diff --git a/locales/en-US.yml b/locales/en-US.yml
index 10c84425b..24fc39244 100644
--- a/locales/en-US.yml
+++ b/locales/en-US.yml
@@ -1153,6 +1153,7 @@ detectPostLanguage: "Automatically detect the language and show a translate butt
for posts in foreign languages"
vibrate: "Play vibrations"
openServerInfo: "Show server information by clicking the server ticker on a post"
+iconSet: "Icon set"
_sensitiveMediaDetection:
description: "Reduces the effort of server moderation through automatically recognizing
@@ -2152,3 +2153,9 @@ _feeds:
rss: "RSS"
atom: "Atom"
jsonFeed: "JSON feed"
+_iconSets:
+ bold: "Bold"
+ light: "Light"
+ regular: "Regular"
+ fill: "Filled"
+ duotone: "Duotone"
diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml
index 8f136ed24..31d817b7b 100644
--- a/locales/ja-JP.yml
+++ b/locales/ja-JP.yml
@@ -991,6 +991,7 @@ remindMeLater: "また後で"
addRe: "閲覧注意の投稿への返信で、注釈の先頭に\"re:\"を追加する"
languageForTranslation: "投稿翻訳に使用する言語"
detectPostLanguage: "投稿の言語を自動検出し、外国語の投稿に翻訳ボタンを表示する"
+iconSet: "アイコンのスタイル"
_sensitiveMediaDetection:
description: "機械学習を使って自動でセンシティブなメディアを検出し、モデレーションに役立てられます。サーバーの負荷が少し増えます。"
@@ -1994,3 +1995,9 @@ indexableDescription: MastodonやFirefishなどの検索機能に、あなたの
clickToShowPatterns: クリックしてトラックを表示
vibrate: 振動を有効にする
indexable: 投稿検索に登録
+_iconSets:
+ bold: "太め"
+ light: "細め"
+ regular: "標準"
+ fill: "塗りつぶし"
+ duotone: "2色"
diff --git a/packages/client/package.json b/packages/client/package.json
index 7e9236b51..890aba4ab 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -31,6 +31,7 @@
"@types/uuid": "9.0.3",
"@vitejs/plugin-vue": "4.3.4",
"@vue/compiler-sfc": "3.3.4",
+ "@vue/runtime-core": "3.3.4",
"autobind-decorator": "2.4.0",
"autosize": "6.0.1",
"blurhash": "2.0.5",
diff --git a/packages/client/src/account.ts b/packages/client/src/account.ts
index 1f8d512a0..761ebe5e0 100644
--- a/packages/client/src/account.ts
+++ b/packages/client/src/account.ts
@@ -3,8 +3,9 @@ import type * as firefish from "firefish-js";
import { i18n } from "./i18n";
import { del, get, set } from "@/scripts/idb-proxy";
import { apiUrl } from "@/config";
-import { alert, api, popup, popupMenu, success, waiting } from "@/os";
+import { alert, api, popup, popupMenu, waiting } from "@/os";
import { reloadChannel, unisonReload } from "@/scripts/unison-reload";
+import icon from "@/scripts/icon";
// TODO: 他のタブと永続化されたstateを同期
@@ -249,7 +250,7 @@ export async function openAccountMenu(
...accountItemPromises,
{
type: "parent",
- icon: "ph-plus ph-bold ph-lg",
+ icon: `${icon("ph-plus")}`,
text: i18n.ts.addAccount,
children: [
{
@@ -268,13 +269,13 @@ export async function openAccountMenu(
},
{
type: "link",
- icon: "ph-users ph-bold ph-lg",
+ icon: `${icon("ph-users")}`,
text: i18n.ts.manageAccounts,
to: "/settings/accounts",
},
{
type: "button",
- icon: "ph-sign-out ph-bold ph-lg",
+ icon: `${icon("ph-sign-out")}`,
text: i18n.ts.logout,
action: () => {
signout();
diff --git a/packages/client/src/components/MkAbuseReportWindow.vue b/packages/client/src/components/MkAbuseReportWindow.vue
index 383978943..8d5675868 100644
--- a/packages/client/src/components/MkAbuseReportWindow.vue
+++ b/packages/client/src/components/MkAbuseReportWindow.vue
@@ -8,7 +8,7 @@
>