From 5b4115e21a6822a434a9bfbbd53f22b3ca961239 Mon Sep 17 00:00:00 2001 From: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Sat, 13 Sep 2025 08:33:14 +0900 Subject: refactor(frontend): フロントエンドの型エラー解消(途中まで) (#16539) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(frontend): FormLinkをボタンとして使用した際にエラーが出る問題を修正 * refactor(frontend): フロントエンドの型エラー解消 * remove unused ts-expect-error * migrate * remove unrelated changes * fix lint * more type fixes --- packages/frontend/src/pages/admin/roles.editor.vue | 1 - 1 file changed, 1 deletion(-) (limited to 'packages/frontend/src/pages/admin/roles.editor.vue') diff --git a/packages/frontend/src/pages/admin/roles.editor.vue b/packages/frontend/src/pages/admin/roles.editor.vue index e98b4f0129..66004a44bb 100644 --- a/packages/frontend/src/pages/admin/roles.editor.vue +++ b/packages/frontend/src/pages/admin/roles.editor.vue @@ -830,7 +830,6 @@ import { watch, ref, computed } from 'vue'; import { throttle } from 'throttle-debounce'; import * as Misskey from 'misskey-js'; import RolesEditorFormula from './RolesEditorFormula.vue'; -import type { GetMkSelectValueTypesFromDef, MkSelectItem } from '@/components/MkSelect.vue'; import MkInput from '@/components/MkInput.vue'; import MkColorInput from '@/components/MkColorInput.vue'; import MkSelect from '@/components/MkSelect.vue'; -- cgit v1.3.1-freya From d4654dd7bd5bf1c7faa74ed89f592448c0076be8 Mon Sep 17 00:00:00 2001 From: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Sat, 13 Sep 2025 21:00:33 +0900 Subject: refactor(frontend): os.select, MkSelectのitem指定をオブジェクトによる定義に統一し、型を狭める (#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> --- .../frontend/src/components/MkAntennaEditor.vue | 43 +++-- packages/frontend/src/components/MkAsUi.vue | 18 ++- packages/frontend/src/components/MkDialog.vue | 34 ++-- .../src/components/MkEmbedCodeGenDialog.vue | 19 ++- packages/frontend/src/components/MkFormDialog.vue | 24 ++- .../frontend/src/components/MkInstanceStats.vue | 126 ++++++++++----- .../src/components/MkPaginationControl.vue | 14 +- packages/frontend/src/components/MkPollEditor.vue | 38 +++-- packages/frontend/src/components/MkPostForm.vue | 10 +- .../frontend/src/components/MkRoleSelectDialog.vue | 8 +- packages/frontend/src/components/MkSelect.vue | 176 +++++++-------------- .../src/components/MkWatermarkEditorDialog.vue | 16 +- packages/frontend/src/components/MkWidgets.vue | 14 +- packages/frontend/src/composables/use-mkselect.ts | 38 +++++ packages/frontend/src/os.ts | 44 +----- packages/frontend/src/pages/about.federation.vue | 89 +++++------ packages/frontend/src/pages/admin-user.vue | 43 +++-- .../src/pages/admin/RolesEditorFormula.vue | 51 +++--- .../abuse-report/notification-recipient.editor.vue | 42 +++-- .../admin/abuse-report/notification-recipient.vue | 18 ++- packages/frontend/src/pages/admin/abuses.vue | 52 ++++-- packages/frontend/src/pages/admin/ads.vue | 26 +-- .../frontend/src/pages/admin/announcements.vue | 18 ++- .../custom-emojis-manager.local.list.search.vue | 16 +- .../pages/admin/custom-emojis-manager.register.vue | 16 +- packages/frontend/src/pages/admin/federation.vue | 63 +++++--- packages/frontend/src/pages/admin/files.vue | 18 ++- packages/frontend/src/pages/admin/invites.vue | 39 +++-- packages/frontend/src/pages/admin/moderation.vue | 28 ++-- packages/frontend/src/pages/admin/modlog.vue | 16 +- .../frontend/src/pages/admin/overview.heatmap.vue | 24 +-- packages/frontend/src/pages/admin/roles.editor.vue | 36 +++-- packages/frontend/src/pages/admin/roles.role.vue | 10 +- packages/frontend/src/pages/admin/roles.vue | 12 +- packages/frontend/src/pages/admin/users.vue | 64 +++++--- .../src/pages/avatar-decoration-edit-dialog.vue | 8 +- packages/frontend/src/pages/debug.vue | 43 +++-- packages/frontend/src/pages/drop-and-fusion.vue | 22 ++- packages/frontend/src/pages/emoji-edit-dialog.vue | 8 +- packages/frontend/src/pages/flash/flash-edit.vue | 16 +- packages/frontend/src/pages/instance-info.vue | 34 ++-- packages/frontend/src/pages/page-editor/common.ts | 11 +- .../frontend/src/pages/page-editor/page-editor.vue | 16 +- .../frontend/src/pages/settings/drive-cleaner.vue | 20 ++- .../frontend/src/pages/settings/emoji-palette.vue | 32 ++-- packages/frontend/src/pages/settings/navbar.vue | 4 +- .../settings/notifications.notification-config.vue | 31 +++- .../frontend/src/pages/settings/preferences.vue | 87 ++++++---- packages/frontend/src/pages/settings/privacy.vue | 110 ++++++++----- packages/frontend/src/pages/settings/profile.vue | 19 ++- .../frontend/src/pages/settings/sounds.sound.vue | 15 +- .../src/pages/settings/statusbar.statusbar.vue | 31 +++- .../frontend/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 +- packages/frontend/src/ui/deck/antenna-column.vue | 16 +- packages/frontend/src/ui/deck/channel-column.vue | 7 +- packages/frontend/src/ui/deck/list-column.vue | 15 +- .../frontend/src/ui/deck/role-timeline-column.vue | 7 +- packages/frontend/src/ui/deck/tl-column.vue | 8 +- packages/frontend/src/utility/form.ts | 3 +- packages/frontend/src/utility/get-user-menu.ts | 20 +-- packages/frontend/src/widgets/WidgetUserList.vue | 8 +- 64 files changed, 1173 insertions(+), 767 deletions(-) create mode 100644 packages/frontend/src/composables/use-mkselect.ts (limited to 'packages/frontend/src/pages/admin/roles.editor.vue') 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 - diff --git a/packages/frontend/src/components/MkNotification.vue b/packages/frontend/src/components/MkNotification.vue index 21104b41df..45a74e3f02 100644 --- a/packages/frontend/src/components/MkNotification.vue +++ b/packages/frontend/src/components/MkNotification.vue @@ -7,7 +7,7 @@ SPDX-License-Identifier: AGPL-3.0-only
- +
@@ -23,6 +23,8 @@ SPDX-License-Identifier: AGPL-3.0-only [$style.t_mention]: notification.type === 'mention', [$style.t_quote]: notification.type === 'quote', [$style.t_pollEnded]: notification.type === 'pollEnded', + [$style.t_scheduledNotePosted]: notification.type === 'scheduledNotePosted', + [$style.t_scheduledNotePostFailed]: notification.type === 'scheduledNotePostFailed', [$style.t_achievementEarned]: notification.type === 'achievementEarned', [$style.t_exportCompleted]: notification.type === 'exportCompleted', [$style.t_login]: notification.type === 'login', @@ -39,6 +41,8 @@ SPDX-License-Identifier: AGPL-3.0-only + + @@ -60,6 +64,8 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ i18n.ts._notification.pollEnded }} + {{ i18n.ts._notification.scheduledNotePosted }} + {{ i18n.ts._notification.scheduledNotePostFailed }} {{ i18n.ts._notification.newNote }}: {{ i18n.ts._notification.roleAssigned }} {{ i18n.ts._notification.chatRoomInvitationReceived }} @@ -103,6 +109,11 @@ SPDX-License-Identifier: AGPL-3.0-only + + + + +
{{ notification.role.name }}
@@ -338,6 +349,16 @@ function getActualReactedUsersCount(notification: Misskey.entities.Notification) pointer-events: none; } +.t_scheduledNotePosted { + background: var(--eventOther); + pointer-events: none; +} + +.t_scheduledNotePostFailed { + background: var(--eventOther); + pointer-events: none; +} + .t_achievementEarned { background: var(--eventAchievement); pointer-events: none; diff --git a/packages/frontend/src/components/MkPostForm.vue b/packages/frontend/src/components/MkPostForm.vue index 17f93a4ec8..c1b950a6c8 100644 --- a/packages/frontend/src/components/MkPostForm.vue +++ b/packages/frontend/src/components/MkPostForm.vue @@ -15,9 +15,9 @@ SPDX-License-Identifier: AGPL-3.0-only
- +