added features and fixes
This commit is contained in:
@@ -115,6 +115,8 @@ export const useWebSocketStore = create<WebSocketState>((set, get) => ({
|
||||
const addMessage = useMessageStore.getState().addMessage;
|
||||
const updateMessage = useMessageStore.getState().updateMessage;
|
||||
const removeMessage = useMessageStore.getState().removeMessage;
|
||||
const addReaction = useMessageStore.getState().addReaction;
|
||||
const removeReaction = useMessageStore.getState().removeReaction;
|
||||
const addChannel = useChannelStore.getState().addChannel;
|
||||
const updateChannel = useChannelStore.getState().updateChannel;
|
||||
const removeChannel = useChannelStore.getState().removeChannel;
|
||||
@@ -163,6 +165,29 @@ export const useWebSocketStore = create<WebSocketState>((set, get) => ({
|
||||
if (ids) removeMessage(ids.channel_id, ids.message_id);
|
||||
break;
|
||||
}
|
||||
case 'REACTION_ADD': {
|
||||
const channelId = typeof payload.channel_id === 'string' ? payload.channel_id : '';
|
||||
const messageId = typeof payload.message_id === 'string' ? payload.message_id : '';
|
||||
const reaction = isRecord(payload.reaction) ? payload.reaction : null;
|
||||
if (channelId && messageId && reaction) {
|
||||
const emoji = typeof reaction.emoji === 'string' ? reaction.emoji : '';
|
||||
const userId = typeof reaction.user_id === 'string' ? reaction.user_id : '';
|
||||
if (emoji && userId) {
|
||||
addReaction(channelId, messageId, emoji, userId);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 'REACTION_REMOVE': {
|
||||
const channelId = typeof payload.channel_id === 'string' ? payload.channel_id : '';
|
||||
const messageId = typeof payload.message_id === 'string' ? payload.message_id : '';
|
||||
const emoji = typeof payload.emoji === 'string' ? payload.emoji : '';
|
||||
const userId = typeof payload.user_id === 'string' ? payload.user_id : '';
|
||||
if (channelId && messageId && emoji && userId) {
|
||||
removeReaction(channelId, messageId, emoji, userId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 'CHANNEL_CREATE': {
|
||||
if (isRecord(payload)) addChannel(payload as unknown as Channel);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user