Type Chat message Store

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
This commit is contained in:
Gregoire Parant 2021-10-27 10:02:47 +02:00
parent 1efcbb4529
commit 385ea1360e
2 changed files with 10 additions and 5 deletions

View file

@ -1,6 +1,6 @@
<script lang="ts"> <script lang="ts">
import type {PlayerInterface} from "../../Phaser/Game/PlayerInterface"; import type {PlayerInterface} from "../../Phaser/Game/PlayerInterface";
import {chatSubMenuVisbilityStore} from "../../Stores/ChatStore"; import {chatSubMenuVisibilityStore} from "../../Stores/ChatStore";
import {onDestroy, onMount} from "svelte"; import {onDestroy, onMount} from "svelte";
import type {Unsubscriber} from "svelte/store"; import type {Unsubscriber} from "svelte/store";
import ChatSubMenu from "./ChatSubMenu.svelte"; import ChatSubMenu from "./ChatSubMenu.svelte";
@ -12,11 +12,11 @@
let chatSubMenuVisivilytUnsubcribe: Unsubscriber; let chatSubMenuVisivilytUnsubcribe: Unsubscriber;
function openSubMenu() { function openSubMenu() {
chatSubMenuVisbilityStore.openSubMenu(player.name, line); chatSubMenuVisibilityStore.openSubMenu(player.name, line);
} }
onMount(() => { onMount(() => {
chatSubMenuVisivilytUnsubcribe = chatSubMenuVisbilityStore.subscribe((newValue) => { chatSubMenuVisivilytUnsubcribe = chatSubMenuVisibilityStore.subscribe((newValue) => {
isSubMenuOpen = (newValue === player.name + line); isSubMenuOpen = (newValue === player.name + line);
}) })
}) })

View file

@ -84,7 +84,12 @@ function createChatMessagesStore() {
addExternalMessage(authorId: number, text: string) { addExternalMessage(authorId: number, text: string) {
update((list) => { update((list) => {
const lastMessage = list[list.length - 1]; const lastMessage = list[list.length - 1];
if (lastMessage && lastMessage.type === ChatMessageTypes.text && lastMessage.text && lastMessage?.author?.userId === authorId) { if (
lastMessage &&
lastMessage.type === ChatMessageTypes.text &&
lastMessage.text &&
lastMessage?.author?.userId === authorId
) {
lastMessage.text.push(text); lastMessage.text.push(text);
} else { } else {
list.push({ list.push({
@ -116,4 +121,4 @@ function createChatSubMenuVisibilityStore() {
}; };
} }
export const chatSubMenuVisbilityStore = createChatSubMenuVisibilityStore(); export const chatSubMenuVisibilityStore = createChatSubMenuVisibilityStore();