From bcba7c01de7387631503898a80a22ef2e31a9a89 Mon Sep 17 00:00:00 2001 From: Ryo Namiki Date: Sun, 11 Jan 2026 02:08:15 +0900 Subject: [PATCH] Fix inconsistent sorting in FriendList across pagination (#1567) * Add compareWithFriendNumber * Use sort-change event to fix inconsistent sorting order in FriendList items * Remove selfSelector * Make `sortAlphabetically` consider cases where one of the values is missing --- src/components/DataTable.vue | 9 ++- src/views/FriendList/FriendList.vue | 107 +++++++++++++++++++++------- 2 files changed, 89 insertions(+), 27 deletions(-) diff --git a/src/components/DataTable.vue b/src/components/DataTable.vue index ada3e450..8c9f8cca 100644 --- a/src/components/DataTable.vue +++ b/src/components/DataTable.vue @@ -6,7 +6,8 @@ v-bind="mergedTableProps" :stripe="false" :default-sort="resolvedDefaultSort" - @row-click="handleRowClick"> + @row-click="handleRowClick" + @sort-change="handleSortChange"> @@ -63,7 +64,7 @@ } }); - const emit = defineEmits(['row-click']); + const emit = defineEmits(['row-click', 'sort-change']); const appearanceSettingsStore = useAppearanceSettingsStore(); const vrcxStore = useVrcxStore(); @@ -169,6 +170,10 @@ emit('row-click', row, column, event); }; + const handleSortChange = (data) => { + emit('sort-change', data); + }; + const handleSizeChange = (size) => { if (props.pageSizeLinked) { appearanceSettingsStore.setTablePageSize(size); diff --git a/src/views/FriendList/FriendList.vue b/src/views/FriendList/FriendList.vue index 870577d7..16ea8316 100644 --- a/src/views/FriendList/FriendList.vue +++ b/src/views/FriendList/FriendList.vue @@ -52,6 +52,7 @@