avatar as a menu button
This commit is contained in:
parent
b8eeb3c8ab
commit
f4ce82481e
4 changed files with 68 additions and 15 deletions
34
front/src/Stores/UserWokaPictureStore.ts
Normal file
34
front/src/Stores/UserWokaPictureStore.ts
Normal file
|
@ -0,0 +1,34 @@
|
|||
import { writable } from "svelte/store";
|
||||
import type { RoomConnection } from "../Connexion/RoomConnection";
|
||||
|
||||
/**
|
||||
* A store that contains the players avatars pictures
|
||||
*/
|
||||
function createUserWokaPictureStore() {
|
||||
let players = new Map<number, string>();
|
||||
|
||||
const { subscribe, update } = writable(players);
|
||||
|
||||
return {
|
||||
subscribe,
|
||||
connectToRoomConnection: (roomConnection: RoomConnection) => {
|
||||
roomConnection.onUserLeft((userId) => {
|
||||
update((users) => {
|
||||
users.delete(userId);
|
||||
return users;
|
||||
});
|
||||
});
|
||||
},
|
||||
setWokaPicture(userId: number, url: string) {
|
||||
update((users) => {
|
||||
users.set(userId, url);
|
||||
return users;
|
||||
});
|
||||
},
|
||||
getWokaPictureById(userId: number): string | undefined {
|
||||
return players.get(userId);
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
export const userWokaPictureStore = createUserWokaPictureStore();
|
Loading…
Add table
Add a link
Reference in a new issue