diff options
| author | かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> | 2025-07-06 19:36:11 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-06 19:36:11 +0900 |
| commit | a8abb03d1785791ab40e57ab49c87640914532c9 (patch) | |
| tree | f80ea7a393a278e29f9642e86be8b341fcb4b95b /packages/frontend/src/widgets/WidgetUserList.vue | |
| parent | Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop (diff) | |
| download | misskey-a8abb03d1785791ab40e57ab49c87640914532c9.tar.gz misskey-a8abb03d1785791ab40e57ab49c87640914532c9.tar.bz2 misskey-a8abb03d1785791ab40e57ab49c87640914532c9.zip | |
refactor(frontend): Formまわりの型強化 (#16260)
* refactor(frontend): Formまわりの型強化
* fix
* avoid non-null assertion and add null check for safety
* refactor
* avoid non-null assertion and add null check for safety
* Update clip.vue
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Diffstat (limited to 'packages/frontend/src/widgets/WidgetUserList.vue')
| -rw-r--r-- | packages/frontend/src/widgets/WidgetUserList.vue | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/packages/frontend/src/widgets/WidgetUserList.vue b/packages/frontend/src/widgets/WidgetUserList.vue index eb86732817..d87ea5ade2 100644 --- a/packages/frontend/src/widgets/WidgetUserList.vue +++ b/packages/frontend/src/widgets/WidgetUserList.vue @@ -28,7 +28,7 @@ import { ref } from 'vue'; import * as Misskey from 'misskey-js'; import { useWidgetPropsManager } from './widget.js'; import type { WidgetComponentEmits, WidgetComponentExpose, WidgetComponentProps } from './widget.js'; -import type { GetFormResultType } from '@/utility/form.js'; +import type { FormWithDefault, GetFormResultType } from '@/utility/form.js'; import MkContainer from '@/components/MkContainer.vue'; import * as os from '@/os.js'; import { misskeyApi } from '@/utility/misskey-api.js'; @@ -40,15 +40,15 @@ const name = 'userList'; const widgetPropsDef = { showHeader: { - type: 'boolean' as const, + type: 'boolean', default: true, }, listId: { - type: 'string' as const, - default: null, + type: 'string', + default: null as string | null, hidden: true, }, -}; +} satisfies FormWithDefault; type WidgetProps = GetFormResultType<typeof widgetPropsDef>; @@ -61,7 +61,7 @@ const { widgetProps, configure, save } = useWidgetPropsManager(name, emit, ); -const list = ref<Misskey.entities.UserList>(); +const list = ref<Misskey.entities.UserList | null>(null); const users = ref<Misskey.entities.UserDetailed[]>([]); const fetching = ref(true); @@ -74,7 +74,7 @@ async function chooseList() { })), default: widgetProps.listId, }); - if (canceled) return; + if (canceled || list == null) return; widgetProps.listId = list.id; save(); @@ -92,7 +92,7 @@ const fetch = () => { }).then(_list => { list.value = _list; misskeyApi('users/show', { - userIds: list.value.userIds, + userIds: list.value.userIds ?? [], }).then(_users => { users.value = _users; fetching.value = false; |