feat: add system messages

This commit is contained in:
Alexander Daichendt 2025-02-12 12:29:16 +01:00
parent 748e154ec4
commit 230a9560a5
4 changed files with 55 additions and 17 deletions

View file

@ -1,20 +1,30 @@
import { createContext, useContext, Dispatch } from "react";
import { ChatMessage, User } from "../../../shared";
import {
ServerChatMessage,
ServerUserJoinedMessage,
ServerUserLeftMessage,
User,
} from "../../../shared";
export type Message =
| ServerChatMessage
| ServerUserJoinedMessage
| ServerUserLeftMessage;
export type ChatState = {
messages: ChatMessage[];
messages: Message[];
currentUser: User | null;
isConnected: boolean;
};
export type ChatAction =
| { type: "ADD_MESSAGE"; payload: ChatMessage }
| { type: "ADD_MESSAGE"; payload: Message }
| { type: "SET_USER"; payload: User }
| { type: "SET_CONNECTED"; payload: boolean }
| { type: "CLEAR_MESSAGES" };
export type ChatActions = {
addMessage: (message: ChatMessage) => void;
addMessage: (message: Message) => void;
setUser: (user: User) => void;
setConnected: (isConnected: boolean) => void;
};