@@ -438,6 +438,7 @@ import { BreadcrumbStore } from '@/composables/stores/breadcrumbs'
438
438
import BanStore from ' @/composables/stores/ban'
439
439
import TrustDisplay from ' @/components/trust/TrustDisplay.vue'
440
440
import Editor from ' @/components/layout/Editor.vue'
441
+ import { isOnline } from ' @/composables/services/websocket'
441
442
442
443
export default {
443
444
name: ' Posts' ,
@@ -457,6 +458,7 @@ export default {
457
458
return postsApi .byThread (params)
458
459
.then (data => next (vm => {
459
460
vm .postData .data = data
461
+ vm .checkUsersOnline ()
460
462
BanStore .updateBanNotice (vm .postData .data .banned_from_board )
461
463
vm .bannedFromBoard = vm .postData .data .banned_from_board
462
464
vm .highlightPost ()
@@ -476,6 +478,7 @@ export default {
476
478
threadsApi .viewed (threadId)
477
479
return postsApi .byThread (params).then (data => {
478
480
this .postData .data = data
481
+ this .checkUsersOnline ()
479
482
BanStore .updateBanNotice (this .postData .data .banned_from_board )
480
483
this .bannedFromBoard = this .postData .data .banned_from_board
481
484
this .highlightPost ()
@@ -500,6 +503,10 @@ export default {
500
503
}
501
504
if (params .page && params .start ) delete params .page
502
505
return postsApi .byThread (params)
506
+ .then (data => {
507
+ checkUsersOnline ()
508
+ return data
509
+ })
503
510
})
504
511
}
505
512
const postEditDisabled = (createdAt ) => {
@@ -969,6 +976,23 @@ export default {
969
976
.then (processPosts)
970
977
.then (data => v .postData .data = data)
971
978
979
+ const checkUsersOnline = () => {
980
+ let uniqueUsers = {}
981
+ v .postData .data .posts .forEach (post => uniqueUsers[post .user .id ] = ' user' )
982
+ Object .keys (uniqueUsers).map (user => isOnline (user, setOnline))
983
+ }
984
+
985
+ const setOnline = (err , data ) => {
986
+ if (err) console .log (err)
987
+ else {
988
+ v .postData .data .posts .map (post => {
989
+ if (post .user .id === data .id ) {
990
+ post .user .online = data .online
991
+ }
992
+ })
993
+ }
994
+ }
995
+
972
996
/* Internal Data */
973
997
const $route = useRoute ()
974
998
const $router = useRouter ()
@@ -1060,7 +1084,8 @@ export default {
1060
1084
showUserControls,
1061
1085
watchThread,
1062
1086
toggleIgnoredPosts,
1063
- openMoveThreadModal
1087
+ openMoveThreadModal,
1088
+ checkUsersOnline
1064
1089
}
1065
1090
}
1066
1091
}
0 commit comments