File tree Expand file tree Collapse file tree 3 files changed +26
-9
lines changed
play/src/front/Chat/Components/Room Expand file tree Collapse file tree 3 files changed +26
-9
lines changed Original file line number Diff line number Diff line change 1919
2020 const chat = gameManager .chatConnection ;
2121
22- const { searchMembers } = searchChatMembersRule ();
22+ const { searchWorldMembers } = searchChatMembersRule ();
2323
2424 let loadingRoomCreation = false ;
2525
140140 --item-color =" black"
141141 --item-hover-color =" black"
142142 --clear-select-color =" red"
143- loadOptions ={searchMembers }
143+ loadOptions ={searchWorldMembers }
144144 placeholder ={$LL .chat .createRoom .users ()}
145145 >
146146 <div slot =" item" let:item >
Original file line number Diff line number Diff line change 1212 export let isOpen: boolean ;
1313 export let room: ChatRoom ;
1414
15- const { searchMembers } = searchChatMembersRule ();
15+ const { searchWorldMembers } = searchChatMembersRule ();
1616
1717 let invitations: { value: string ; label: string }[] = [];
1818
7676 --item-color =" black"
7777 --item-hover-color =" black"
7878 --clear-select-color =" red"
79- loadOptions ={searchMembers }
79+ loadOptions ={searchWorldMembers }
8080 placeholder ={$LL .chat .createRoom .users ()}
8181 >
8282 <div slot =" item" let:item >
Original file line number Diff line number Diff line change 1+ import { get } from "svelte/store" ;
12import { gameManager } from "../../../Phaser/Game/GameManager" ;
23
4+ export interface SelectItem {
5+ value : string ;
6+ label : string | undefined ;
7+ verified ?: boolean ;
8+ created ?: boolean ;
9+ }
10+
311export const searchChatMembersRule = ( ) => {
4- const chat = gameManager . chatConnection ;
12+ const userProviderMergerPromise = gameManager . getCurrentGameScene ( ) . userProviderMerger ;
513
6- async function searchMembers ( filterText : string ) {
14+ async function searchWorldMembers ( filterText : string ) : Promise < SelectItem [ ] > {
715 try {
8- const chatUsers = await chat . searchChatUsers ( filterText ) ;
16+ const userProviderMerger = await userProviderMergerPromise ;
17+ const chatUsersMap = get ( userProviderMerger . usersByRoomStore ) ;
18+ const chatUsers = Array . from ( chatUsersMap . values ( ) )
19+ . flatMap ( ( room ) => room . users )
20+ . filter ( ( user ) => user . username ?. includes ( filterText ) && user . chatId ) ;
921 if ( chatUsers === undefined ) {
1022 return [ ] ;
1123 }
12- return chatUsers . map ( ( user ) => ( { value : user . id , label : user . name ?? user . id } ) ) ;
24+ return chatUsers . map ( ( user ) => ( {
25+ value : user . chatId ,
26+ label : user . username ?? user . id ?. toString ( ) ,
27+ verified : true ,
28+ created : false ,
29+ } ) ) ;
1330 } catch ( error ) {
1431 console . error ( error ) ;
1532 }
1633
1734 return [ ] ;
1835 }
1936
20- return { searchMembers } ;
37+ return { searchWorldMembers } ;
2138} ;
You can’t perform that action at this time.
0 commit comments