From b941c896aa5512240de9121a1850d55aa5f8b68b Mon Sep 17 00:00:00 2001
From: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Date: Wed, 14 Jan 2026 14:02:50 +0900
Subject: refactor(frontend): MkRadiosの指定をpropsから行うように (#16597)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* refactor(frontend): MkRadiosの指定をpropsから行うように
* spdx
* fix lint
* fix: mkradiosを動的slotsに対応させる
* fix: remove comment [ci skip]
* fix lint
* fix lint
* migrate
* rename
* fix
* fix
* fix types
* remove unused imports
* fix
* wip
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
---
packages/frontend/src/pages/settings/deck.vue | 32 +++++--
.../frontend/src/pages/settings/emoji-palette.vue | 53 +++++++----
packages/frontend/src/pages/settings/navbar.vue | 10 +-
.../frontend/src/pages/settings/preferences.vue | 102 ++++++++++++++-------
.../src/pages/settings/statusbar.statusbar.vue | 16 ++--
5 files changed, 142 insertions(+), 71 deletions(-)
(limited to 'packages/frontend/src/pages/settings')
diff --git a/packages/frontend/src/pages/settings/deck.vue b/packages/frontend/src/pages/settings/deck.vue
index 6ff08b5499..40fee6caaf 100644
--- a/packages/frontend/src/pages/settings/deck.vue
+++ b/packages/frontend/src/pages/settings/deck.vue
@@ -40,31 +40,43 @@ SPDX-License-Identifier: AGPL-3.0-only
-
+
{{ i18n.ts._deck.columnAlign }}
-
-
-
+
{{ i18n.ts._deck.deckMenuPosition }}
-
-
-
+
{{ i18n.ts._deck.navbarPosition }}
-
-
-
diff --git a/packages/frontend/src/pages/settings/emoji-palette.vue b/packages/frontend/src/pages/settings/emoji-palette.vue
index 0f41d9b777..cb665554cd 100644
--- a/packages/frontend/src/pages/settings/emoji-palette.vue
+++ b/packages/frontend/src/pages/settings/emoji-palette.vue
@@ -63,38 +63,33 @@ SPDX-License-Identifier: AGPL-3.0-only
-
+
{{ i18n.ts.size }}
-
-
-
-
-
-
+
{{ i18n.ts.numberOfColumn }}
-
-
-
-
-
-
+
{{ i18n.ts.height }}
-
-
-
-
@@ -126,6 +121,7 @@ SPDX-License-Identifier: AGPL-3.0-only
import { computed, ref, watch } from 'vue';
import XPalette from './emoji-palette.palette.vue';
import type { MkSelectItem } from '@/components/MkSelect.vue';
+import type { MkRadiosOption } from '@/components/MkRadios.vue';
import { genId } from '@/utility/id.js';
import MkFeatureBanner from '@/components/MkFeatureBanner.vue';
import MkRadios from '@/components/MkRadios.vue';
@@ -158,8 +154,31 @@ const emojiPaletteForMainDef = computed(() => [
})),
]);
const emojiPickerScale = prefer.model('emojiPickerScale');
+const emojiPickerScaleDef = [
+ { label: i18n.ts.small, value: 1 },
+ { label: i18n.ts.medium, value: 2 },
+ { label: i18n.ts.large, value: 3 },
+ { label: i18n.ts.large + '+', value: 4 },
+ { label: i18n.ts.large + '++', value: 5 },
+] as MkRadiosOption[];
+
const emojiPickerWidth = prefer.model('emojiPickerWidth');
+const emojiPickerWidthDef = [
+ { label: '5', value: 1 },
+ { label: '6', value: 2 },
+ { label: '7', value: 3 },
+ { label: '8', value: 4 },
+ { label: '9', value: 5 },
+] as MkRadiosOption[];
+
const emojiPickerHeight = prefer.model('emojiPickerHeight');
+const emojiPickerHeightDef = [
+ { label: i18n.ts.small, value: 1 },
+ { label: i18n.ts.medium, value: 2 },
+ { label: i18n.ts.large, value: 3 },
+ { label: i18n.ts.large + '+', value: 4 },
+] as MkRadiosOption[];
+
const emojiPickerStyle = prefer.model('emojiPickerStyle');
const palettesSyncEnabled = ref(prefer.isSyncEnabled('emojiPalettes'));
diff --git a/packages/frontend/src/pages/settings/navbar.vue b/packages/frontend/src/pages/settings/navbar.vue
index 880e4321ed..997a9f00c2 100644
--- a/packages/frontend/src/pages/settings/navbar.vue
+++ b/packages/frontend/src/pages/settings/navbar.vue
@@ -32,10 +32,14 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ i18n.ts.save }}
-
+
{{ i18n.ts.display }}
-
-
diff --git a/packages/frontend/src/pages/settings/preferences.vue b/packages/frontend/src/pages/settings/preferences.vue
index 13f76fac98..7d85565ced 100644
--- a/packages/frontend/src/pages/settings/preferences.vue
+++ b/packages/frontend/src/pages/settings/preferences.vue
@@ -31,12 +31,16 @@ SPDX-License-Identifier: AGPL-3.0-only
-
+
{{ i18n.ts.overridedDeviceKind }}
-
-
-
-
@@ -121,11 +125,15 @@ SPDX-License-Identifier: AGPL-3.0-only
-
+
{{ i18n.ts.emojiStyle }}
-
-
-
@@ -240,11 +248,15 @@ SPDX-License-Identifier: AGPL-3.0-only
-
+
{{ i18n.ts.reactionsDisplaySize }}
-
-
-
@@ -259,12 +271,16 @@ SPDX-License-Identifier: AGPL-3.0-only
-
+
{{ i18n.ts.mediaListWithOneImageAppearance }}
-
-
-
-
@@ -394,22 +410,30 @@ SPDX-License-Identifier: AGPL-3.0-only
-
+
{{ i18n.ts.position }}
-
-
-
-
-
+
{{ i18n.ts.stackAxis }}
-
-
@@ -578,12 +602,16 @@ SPDX-License-Identifier: AGPL-3.0-only
-
+
{{ i18n.ts.fontSize }}
-
-
-
-
@@ -792,10 +820,14 @@ SPDX-License-Identifier: AGPL-3.0-only
-
+
{{ i18n.ts.hemisphere }}
-
-
{{ i18n.ts._hemisphere.caption }}
@@ -925,7 +957,7 @@ const contextMenu = prefer.model('contextMenu');
const menuStyle = prefer.model('menuStyle');
const makeEveryTextElementsSelectable = prefer.model('makeEveryTextElementsSelectable');
-const fontSize = ref(miLocalStorage.getItem('fontSize'));
+const fontSize = ref(miLocalStorage.getItem('fontSize') as '1' | '2' | '3' | null);
const useSystemFont = ref(miLocalStorage.getItem('useSystemFont') != null);
watch(lang, () => {
diff --git a/packages/frontend/src/pages/settings/statusbar.statusbar.vue b/packages/frontend/src/pages/settings/statusbar.statusbar.vue
index b69fd2596d..83c8a7b9a7 100644
--- a/packages/frontend/src/pages/settings/statusbar.statusbar.vue
+++ b/packages/frontend/src/pages/settings/statusbar.statusbar.vue
@@ -17,13 +17,17 @@ SPDX-License-Identifier: AGPL-3.0-only
Black
-
+
{{ i18n.ts.size }}
-
-
-
-
-
--
cgit v1.2.3-freya