diff options
| author | かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> | 2025-09-13 08:33:14 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-13 08:33:14 +0900 |
| commit | 5b4115e21a6822a434a9bfbbd53f22b3ca961239 (patch) | |
| tree | eaac22e870a95feccc47ccc2693b794d0ccd299f /packages/frontend/src/pages/list.vue | |
| parent | Update CHANGELOG.md (diff) | |
| download | misskey-5b4115e21a6822a434a9bfbbd53f22b3ca961239.tar.gz misskey-5b4115e21a6822a434a9bfbbd53f22b3ca961239.tar.bz2 misskey-5b4115e21a6822a434a9bfbbd53f22b3ca961239.zip | |
refactor(frontend): フロントエンドの型エラー解消(途中まで) (#16539)
* fix(frontend): FormLinkをボタンとして使用した際にエラーが出る問題を修正
* refactor(frontend): フロントエンドの型エラー解消
* remove unused ts-expect-error
* migrate
* remove unrelated changes
* fix lint
* more type fixes
Diffstat (limited to 'packages/frontend/src/pages/list.vue')
| -rw-r--r-- | packages/frontend/src/pages/list.vue | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/packages/frontend/src/pages/list.vue b/packages/frontend/src/pages/list.vue index a52b562c7f..efb1186fe5 100644 --- a/packages/frontend/src/pages/list.vue +++ b/packages/frontend/src/pages/list.vue @@ -19,7 +19,7 @@ SPDX-License-Identifier: AGPL-3.0-only </div> </div> </div> - <MkButton v-if="list.isLiked" v-tooltip="i18n.ts.unlike" inline :class="$style.button" asLike primary @click="unlike()"><i class="ti ti-heart-off"></i><span v-if="list.likedCount > 0" class="count">{{ list.likedCount }}</span></MkButton> + <MkButton v-if="list.isLiked" v-tooltip="i18n.ts.unlike" inline :class="$style.button" asLike primary @click="unlike()"><i class="ti ti-heart-off"></i><span v-if="list.likedCount != null && list.likedCount > 0" class="count">{{ list.likedCount }}</span></MkButton> <MkButton v-if="!list.isLiked" v-tooltip="i18n.ts.like" inline :class="$style.button" asLike @click="like()"><i class="ti ti-heart"></i><span v-if="1 > 0" class="count">{{ list.likedCount }}</span></MkButton> <MkButton inline @click="create()"><i class="ti ti-download" :class="$style.import"></i>{{ i18n.ts.import }}</MkButton> </div> @@ -41,7 +41,7 @@ const props = defineProps<{ listId: string; }>(); -const list = ref<Misskey.entities.UserList | null>(null); +const list = ref<Misskey.entities.UsersListsShowResponse | null>(null); const error = ref<unknown | null>(null); const users = ref<Misskey.entities.UserDetailed[]>([]); @@ -51,8 +51,9 @@ function fetchList(): void { forPublic: true, }).then(_list => { list.value = _list; + if (_list.userIds == null || _list.userIds.length === 0) return; misskeyApi('users/show', { - userIds: list.value.userIds, + userIds: _list.userIds, }).then(_users => { users.value = _users; }); @@ -68,7 +69,7 @@ function like() { }).then(() => { if (list.value == null) return; list.value.isLiked = true; - list.value.likedCount++; + list.value.likedCount = (list.value.likedCount != null ? list.value.likedCount + 1 : 1); }); } @@ -79,7 +80,7 @@ function unlike() { }).then(() => { if (list.value == null) return; list.value.isLiked = false; - list.value.likedCount--; + list.value.likedCount = (list.value.likedCount != null ? Math.max(0, list.value.likedCount - 1) : 0); }); } @@ -88,7 +89,7 @@ async function create() { const { canceled, result: name } = await os.inputText({ title: i18n.ts.enterListName, }); - if (canceled) return; + if (canceled || name == null) return; await os.apiWithDialog('users/lists/create-from-public', { name: name, listId: list.value.id }); } |