From d4654dd7bd5bf1c7faa74ed89f592448c0076be8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=8B=E3=81=A3=E3=81=93=E3=81=8B=E3=82=8A?= <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Sat, 13 Sep 2025 21:00:33 +0900 Subject: [PATCH] =?UTF-8?q?refactor(frontend):=20os.select,=20MkSelect?= =?UTF-8?q?=E3=81=AEitem=E6=8C=87=E5=AE=9A=E3=82=92=E3=82=AA=E3=83=96?= =?UTF-8?q?=E3=82=B8=E3=82=A7=E3=82=AF=E3=83=88=E3=81=AB=E3=82=88=E3=82=8B?= =?UTF-8?q?=E5=AE=9A=E7=BE=A9=E3=81=AB=E7=B5=B1=E4=B8=80=E3=81=97=E3=80=81?= =?UTF-8?q?=E5=9E=8B=E3=82=92=E7=8B=AD=E3=82=81=E3=82=8B=20(#16475)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * refactor(frontend): MkSelectのitem指定をオブジェクトによる定義に統一 * fix * spdx * fix * fix os.select * fix lint * add comment * fix * fix: os.select対応漏れを修正 * fix * fix * fix: MkSelectのmodelに対する型チェックを厳格化 * fix * fix * fix * Update packages/frontend/src/components/MkEmbedCodeGenDialog.vue Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com> * fix * fix types * fix * fix * Update packages/frontend/src/pages/admin/roles.editor.vue Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com> * fix: MkSelectに直接配列を指定している場合に正常に型が解決されるように --------- Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com> --- .../src/components/MkAntennaEditor.vue | 43 +++-- packages/frontend/src/components/MkAsUi.vue | 18 +- packages/frontend/src/components/MkDialog.vue | 34 ++-- .../src/components/MkEmbedCodeGenDialog.vue | 19 +- .../frontend/src/components/MkFormDialog.vue | 24 ++- .../src/components/MkInstanceStats.vue | 126 +++++++++---- .../src/components/MkPaginationControl.vue | 14 +- .../frontend/src/components/MkPollEditor.vue | 38 ++-- .../frontend/src/components/MkPostForm.vue | 10 +- .../src/components/MkRoleSelectDialog.vue | 8 +- packages/frontend/src/components/MkSelect.vue | 174 ++++++------------ .../components/MkWatermarkEditorDialog.vue | 16 +- .../frontend/src/components/MkWidgets.vue | 14 +- .../frontend/src/composables/use-mkselect.ts | 38 ++++ packages/frontend/src/os.ts | 44 +---- .../frontend/src/pages/about.federation.vue | 89 ++++----- packages/frontend/src/pages/admin-user.vue | 43 +++-- .../src/pages/admin/RolesEditorFormula.vue | 51 ++--- .../notification-recipient.editor.vue | 42 +++-- .../abuse-report/notification-recipient.vue | 18 +- packages/frontend/src/pages/admin/abuses.vue | 52 ++++-- packages/frontend/src/pages/admin/ads.vue | 26 ++- .../src/pages/admin/announcements.vue | 16 +- ...ustom-emojis-manager.local.list.search.vue | 16 +- .../admin/custom-emojis-manager.register.vue | 16 +- .../frontend/src/pages/admin/federation.vue | 63 ++++--- packages/frontend/src/pages/admin/files.vue | 18 +- packages/frontend/src/pages/admin/invites.vue | 39 ++-- .../frontend/src/pages/admin/moderation.vue | 28 +-- packages/frontend/src/pages/admin/modlog.vue | 16 +- .../src/pages/admin/overview.heatmap.vue | 24 ++- .../frontend/src/pages/admin/roles.editor.vue | 36 ++-- .../frontend/src/pages/admin/roles.role.vue | 10 +- packages/frontend/src/pages/admin/roles.vue | 12 +- packages/frontend/src/pages/admin/users.vue | 64 ++++--- .../pages/avatar-decoration-edit-dialog.vue | 8 +- packages/frontend/src/pages/debug.vue | 43 +++-- .../frontend/src/pages/drop-and-fusion.vue | 22 ++- .../frontend/src/pages/emoji-edit-dialog.vue | 8 +- .../frontend/src/pages/flash/flash-edit.vue | 16 +- packages/frontend/src/pages/instance-info.vue | 34 ++-- .../frontend/src/pages/page-editor/common.ts | 11 +- .../src/pages/page-editor/page-editor.vue | 16 +- .../src/pages/settings/drive-cleaner.vue | 20 +- .../src/pages/settings/emoji-palette.vue | 32 +++- .../frontend/src/pages/settings/navbar.vue | 4 +- .../notifications.notification-config.vue | 31 +++- .../src/pages/settings/preferences.vue | 87 +++++---- .../frontend/src/pages/settings/privacy.vue | 110 +++++++---- .../frontend/src/pages/settings/profile.vue | 19 +- .../src/pages/settings/sounds.sound.vue | 15 +- .../pages/settings/statusbar.statusbar.vue | 31 +++- .../src/pages/settings/theme.manage.vue | 28 ++- packages/frontend/src/preferences/manager.ts | 14 +- packages/frontend/src/preferences/utility.ts | 2 +- packages/frontend/src/ui/deck.vue | 2 +- .../frontend/src/ui/deck/antenna-column.vue | 16 +- .../frontend/src/ui/deck/channel-column.vue | 7 +- packages/frontend/src/ui/deck/list-column.vue | 15 +- .../src/ui/deck/role-timeline-column.vue | 7 +- packages/frontend/src/ui/deck/tl-column.vue | 8 +- packages/frontend/src/utility/form.ts | 3 +- .../frontend/src/utility/get-user-menu.ts | 20 +- .../frontend/src/widgets/WidgetUserList.vue | 8 +- 64 files changed, 1171 insertions(+), 765 deletions(-) create mode 100644 packages/frontend/src/composables/use-mkselect.ts diff --git a/packages/frontend/src/components/MkAntennaEditor.vue b/packages/frontend/src/components/MkAntennaEditor.vue index e2febf7225..a41fdbc45d 100644 --- a/packages/frontend/src/components/MkAntennaEditor.vue +++ b/packages/frontend/src/components/MkAntennaEditor.vue @@ -10,17 +10,11 @@ SPDX-License-Identifier: AGPL-3.0-only - + - - - - - - + - @@ -52,7 +46,7 @@ SPDX-License-Identifier: AGPL-3.0-only -