From e7a185e2c49a09ef67f4b78288535c4596ad3003 Mon Sep 17 00:00:00 2001 From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Sun, 27 Oct 2024 17:12:28 +0900 Subject: [PATCH] =?UTF-8?q?refactor(frontend):=20=E3=81=A7=E3=81=8D?= =?UTF-8?q?=E3=82=8B=E3=81=A0=E3=81=91any=E3=82=92=E9=99=A4=E5=8E=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/MkAntennaEditor.vue | 2 +- .../src/components/MkChannelPreview.vue | 3 +- packages/frontend/src/components/MkDialog.vue | 4 +-- packages/frontend/src/components/MkDrive.vue | 8 ++--- .../src/components/MkEmojiPicker.section.vue | 2 +- .../frontend/src/components/MkEmojiPicker.vue | 4 +-- .../src/components/MkExtensionInstaller.vue | 2 +- .../frontend/src/components/MkHeatmap.vue | 1 + packages/frontend/src/components/MkInput.vue | 8 ++--- .../components/MkNotificationSelectWindow.vue | 2 +- .../src/components/MkObjectView.value.vue | 10 +++--- .../frontend/src/components/MkPageWindow.vue | 2 +- .../frontend/src/components/MkPopupMenu.vue | 2 +- .../frontend/src/components/MkPostForm.vue | 20 +++-------- .../src/components/MkPostFormAttaches.vue | 8 ++--- .../src/components/MkPostFormDialog.vue | 16 ++------- packages/frontend/src/components/MkRadio.vue | 8 ++--- .../components/MkReactionsViewer.details.vue | 3 +- .../frontend/src/components/MkSuperMenu.vue | 33 +++++++++++++++++-- .../frontend/src/components/MkUrlPreview.vue | 10 +++--- .../MkUserAnnouncementEditDialog.vue | 8 +++-- .../src/components/MkUsersTooltip.vue | 4 +-- packages/frontend/src/components/MkWindow.vue | 11 +++++-- .../frontend/src/components/form/suspense.vue | 6 ++-- .../frontend/src/components/global/MkMfm.ts | 4 +-- packages/frontend/src/nirax.ts | 12 ++++--- packages/frontend/src/os.ts | 28 +++++++++------- .../src/pages/custom-emojis-manager.vue | 26 +++++++-------- .../frontend/src/pages/emoji-edit-dialog.vue | 21 ++++++------ packages/frontend/src/pages/lookup.vue | 2 +- .../page-editor/els/page-editor.el.image.vue | 5 +-- .../page-editor/els/page-editor.el.note.vue | 13 +++++--- .../els/page-editor.el.section.vue | 12 +++---- .../page-editor/els/page-editor.el.text.vue | 5 +-- packages/frontend/src/pages/registry.keys.vue | 2 +- .../src/pages/reversi/game.setting.vue | 6 ++-- packages/frontend/src/pages/scratchpad.vue | 6 +++- .../frontend/src/pages/settings/accounts.vue | 2 +- packages/frontend/src/pages/user/home.vue | 2 +- packages/frontend/src/router/definition.ts | 2 +- packages/frontend/src/router/main.ts | 8 ++--- .../frontend/src/scripts/check-word-mute.ts | 3 +- packages/frontend/src/scripts/form.ts | 16 ++++----- packages/frontend/src/scripts/misskey-api.ts | 6 ++-- packages/frontend/src/scripts/select-file.ts | 6 ++-- packages/frontend/src/scripts/shuffle.ts | 5 +-- packages/frontend/src/scripts/upload.ts | 8 ++--- packages/frontend/src/store.ts | 9 ++--- packages/frontend/src/types/post-form.ts | 22 +++++++++++++ .../frontend/src/widgets/WidgetPhotos.vue | 4 +-- 50 files changed, 236 insertions(+), 176 deletions(-) create mode 100644 packages/frontend/src/types/post-form.ts diff --git a/packages/frontend/src/components/MkAntennaEditor.vue b/packages/frontend/src/components/MkAntennaEditor.vue index 2386ba6fa7..e622d57f1e 100644 --- a/packages/frontend/src/components/MkAntennaEditor.vue +++ b/packages/frontend/src/components/MkAntennaEditor.vue @@ -160,7 +160,7 @@ async function deleteAntenna() { function addUser() { os.selectUser({ includeSelf: true }).then(user => { users.value = users.value.trim(); - users.value += '\n@' + Misskey.acct.toString(user as any); + users.value += '\n@' + Misskey.acct.toString(user); users.value = users.value.trim(); }); } diff --git a/packages/frontend/src/components/MkChannelPreview.vue b/packages/frontend/src/components/MkChannelPreview.vue index 99580df5e2..c470042b79 100644 --- a/packages/frontend/src/components/MkChannelPreview.vue +++ b/packages/frontend/src/components/MkChannelPreview.vue @@ -47,11 +47,12 @@ SPDX-License-Identifier: AGPL-3.0-only diff --git a/packages/frontend/src/components/MkEmojiPicker.vue b/packages/frontend/src/components/MkEmojiPicker.vue index 219950f135..8187d991e7 100644 --- a/packages/frontend/src/components/MkEmojiPicker.vue +++ b/packages/frontend/src/components/MkEmojiPicker.vue @@ -409,7 +409,7 @@ function computeButtonTitle(ev: MouseEvent): void { elm.title = getEmojiName(emoji); } -function chosen(emoji: any, ev?: MouseEvent) { +function chosen(emoji: string | Misskey.entities.EmojiSimple | UnicodeEmojiDef, ev?: MouseEvent) { const el = ev && (ev.currentTarget ?? ev.target) as HTMLElement | null | undefined; if (el) { const rect = el.getBoundingClientRect(); @@ -426,7 +426,7 @@ function chosen(emoji: any, ev?: MouseEvent) { // 最近使った絵文字更新 if (!pinned.value?.includes(key)) { let recents = defaultStore.state.recentlyUsedEmojis; - recents = recents.filter((emoji: any) => emoji !== key); + recents = recents.filter((emoji) => emoji !== key); recents.unshift(key); defaultStore.set('recentlyUsedEmojis', recents.splice(0, 32)); } diff --git a/packages/frontend/src/components/MkExtensionInstaller.vue b/packages/frontend/src/components/MkExtensionInstaller.vue index b41604b2c3..d59b20435e 100644 --- a/packages/frontend/src/components/MkExtensionInstaller.vue +++ b/packages/frontend/src/components/MkExtensionInstaller.vue @@ -73,7 +73,7 @@ export type Extension = { author: string; description?: string; permissions?: string[]; - config?: Record; + config?: Record; }; } | { type: 'theme'; diff --git a/packages/frontend/src/components/MkHeatmap.vue b/packages/frontend/src/components/MkHeatmap.vue index 0cc0df9911..49ab934362 100644 --- a/packages/frontend/src/components/MkHeatmap.vue +++ b/packages/frontend/src/components/MkHeatmap.vue @@ -15,6 +15,7 @@ SPDX-License-Identifier: AGPL-3.0-only diff --git a/packages/frontend/src/components/MkPageWindow.vue b/packages/frontend/src/components/MkPageWindow.vue index 4777da2848..02c84df447 100644 --- a/packages/frontend/src/components/MkPageWindow.vue +++ b/packages/frontend/src/components/MkPageWindow.vue @@ -58,7 +58,7 @@ const windowRouter = routerFactory(props.initialPath); const contents = shallowRef(null); const pageMetadata = ref(null); const windowEl = shallowRef>(); -const history = ref<{ path: string; key: any; }[]>([{ +const history = ref<{ path: string; key: string; }[]>([{ path: windowRouter.getCurrentPath(), key: windowRouter.getCurrentKey(), }]); diff --git a/packages/frontend/src/components/MkPopupMenu.vue b/packages/frontend/src/components/MkPopupMenu.vue index 26c251a8d2..df664e49f7 100644 --- a/packages/frontend/src/components/MkPopupMenu.vue +++ b/packages/frontend/src/components/MkPopupMenu.vue @@ -19,7 +19,7 @@ defineProps<{ items: MenuItem[]; align?: 'center' | string; width?: number; - src?: any; + src?: HTMLElement | null; returnFocusTo?: HTMLElement | null; }>(); diff --git a/packages/frontend/src/components/MkPostForm.vue b/packages/frontend/src/components/MkPostForm.vue index b6b80082d3..f2fe048449 100644 --- a/packages/frontend/src/components/MkPostForm.vue +++ b/packages/frontend/src/components/MkPostForm.vue @@ -129,25 +129,13 @@ import { miLocalStorage } from '@/local-storage.js'; import { claimAchievement } from '@/scripts/achievements.js'; import { emojiPicker } from '@/scripts/emoji-picker.js'; import { mfmFunctionPicker } from '@/scripts/mfm-function-picker.js'; +import type { PostFormProps } from '@/types/post-form.js'; const $i = signinRequired(); const modal = inject('modal'); -const props = withDefaults(defineProps<{ - reply?: Misskey.entities.Note; - renote?: Misskey.entities.Note; - channel?: Misskey.entities.Channel; // TODO - mention?: Misskey.entities.User; - specified?: Misskey.entities.UserDetailed; - initialText?: string; - initialCw?: string; - initialVisibility?: (typeof Misskey.noteVisibilities)[number]; - initialFiles?: Misskey.entities.DriveFile[]; - initialLocalOnly?: boolean; - initialVisibleUsers?: Misskey.entities.UserDetailed[]; - initialNote?: Misskey.entities.Note; - instant?: boolean; +const props = withDefaults(defineProps { - if (typeof key !== 'string') return; + }, (key, value) => { + if (typeof key !== 'string' || typeof value !== 'string') return; if (key === 'text') { text.value = value; } if (key === 'cw') { useCw.value = value !== null; cw.value = value; } }); diff --git a/packages/frontend/src/components/MkPostFormAttaches.vue b/packages/frontend/src/components/MkPostFormAttaches.vue index ee7038df64..56e026aa3c 100644 --- a/packages/frontend/src/components/MkPostFormAttaches.vue +++ b/packages/frontend/src/components/MkPostFormAttaches.vue @@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only