From 6855079811401be883167476726644e5730ea792 Mon Sep 17 00:00:00 2001
From: GrapeApple0 <84321396+GrapeApple0@users.noreply.github.com>
Date: Tue, 26 Dec 2023 21:40:27 +0900
Subject: refactor: paginationの型を明示する (#12809)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* refactor: paginationの型を明示する
* asではなくsatisfiesを使うように
---
packages/frontend/src/components/MkUserSetupDialog.Follow.vue | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
(limited to 'packages/frontend/src/components/MkUserSetupDialog.Follow.vue')
diff --git a/packages/frontend/src/components/MkUserSetupDialog.Follow.vue b/packages/frontend/src/components/MkUserSetupDialog.Follow.vue
index 5f3f5b81dd..d924a54ffb 100644
--- a/packages/frontend/src/components/MkUserSetupDialog.Follow.vue
+++ b/packages/frontend/src/components/MkUserSetupDialog.Follow.vue
@@ -37,15 +37,15 @@ SPDX-License-Identifier: AGPL-3.0-only
import { i18n } from '@/i18n.js';
import MkFolder from '@/components/MkFolder.vue';
import XUser from '@/components/MkUserSetupDialog.User.vue';
-import MkPagination from '@/components/MkPagination.vue';
+import MkPagination, { Paging } from '@/components/MkPagination.vue';
-const pinnedUsers = { endpoint: 'pinned-users', noPaging: true };
+const pinnedUsers = { endpoint: 'pinned-users', noPaging: true } satisfies Paging;
const popularUsers = { endpoint: 'users', limit: 10, noPaging: true, params: {
state: 'alive',
origin: 'local',
sort: '+follower',
-} };
+} } satisfies Paging;
diff --git a/packages/frontend/src/components/MkUserPopup.vue b/packages/frontend/src/components/MkUserPopup.vue
index 04244ac308..9a1dce2d8e 100644
--- a/packages/frontend/src/components/MkUserPopup.vue
+++ b/packages/frontend/src/components/MkUserPopup.vue
@@ -86,6 +86,7 @@ const top = ref(0);
const left = ref(0);
function showMenu(ev: MouseEvent) {
+ if (user.value == null) return;
const { menu, cleanup } = getUserMenu(user.value);
os.popupMenu(menu, ev.currentTarget ?? ev.target).finally(cleanup);
}
diff --git a/packages/frontend/src/components/MkUserSelectDialog.vue b/packages/frontend/src/components/MkUserSelectDialog.vue
index ad11ba1940..d7bd73aa8a 100644
--- a/packages/frontend/src/components/MkUserSelectDialog.vue
+++ b/packages/frontend/src/components/MkUserSelectDialog.vue
@@ -80,9 +80,9 @@ const props = defineProps<{
const username = ref('');
const host = ref('');
-const users = ref([]);
+const users = ref([]);
const recentUsers = ref([]);
-const selected = ref(null);
+const selected = ref(null);
const dialogEl = ref();
function search() {
@@ -100,14 +100,19 @@ function search() {
});
}
-function ok() {
+async function ok() {
if (selected.value == null) return;
- emit('ok', selected.value);
+
+ const user = await misskeyApi('users/show', {
+ userId: selected.value.id,
+ });
+ emit('ok', user);
+
dialogEl.value.close();
// 最近使ったユーザー更新
let recents = defaultStore.state.recentlyUsedUsers;
- recents = recents.filter(x => x !== selected.value.id);
+ recents = recents.filter(x => x !== selected.value?.id);
recents.unshift(selected.value.id);
defaultStore.set('recentlyUsedUsers', recents.splice(0, 16));
}
@@ -122,7 +127,7 @@ onMounted(() => {
userIds: defaultStore.state.recentlyUsedUsers,
}).then(users => {
if (props.includeSelf && users.find(x => $i ? x.id === $i.id : true) == null) {
- recentUsers.value = [$i, ...users];
+ recentUsers.value = [$i!, ...users];
} else {
recentUsers.value = users;
}
diff --git a/packages/frontend/src/components/MkUserSetupDialog.Follow.vue b/packages/frontend/src/components/MkUserSetupDialog.Follow.vue
index 5f3f5b81dd..46459df6a6 100644
--- a/packages/frontend/src/components/MkUserSetupDialog.Follow.vue
+++ b/packages/frontend/src/components/MkUserSetupDialog.Follow.vue
@@ -13,7 +13,7 @@ SPDX-License-Identifier: AGPL-3.0-only
-
+
@@ -25,7 +25,7 @@ SPDX-License-Identifier: AGPL-3.0-only
-
+
@@ -34,18 +34,28 @@ SPDX-License-Identifier: AGPL-3.0-only