summaryrefslogtreecommitdiff
path: root/packages/frontend/src/widgets/WidgetUserList.vue
diff options
context:
space:
mode:
authorかっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>2025-07-06 19:36:11 +0900
committerGitHub <noreply@github.com>2025-07-06 19:36:11 +0900
commita8abb03d1785791ab40e57ab49c87640914532c9 (patch)
treef80ea7a393a278e29f9642e86be8b341fcb4b95b /packages/frontend/src/widgets/WidgetUserList.vue
parentMerge branch 'develop' of https://github.com/misskey-dev/misskey into develop (diff)
downloadmisskey-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.vue16
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;