feat(web): add message edit flow in context menu and composer
All checks were successful
CI / test (push) Successful in 24s
All checks were successful
CI / test (push) Successful in 24s
This commit is contained in:
@@ -62,6 +62,7 @@ interface ChatState {
|
||||
loadingMoreByChat: Record<number, boolean>;
|
||||
typingByChat: Record<number, number[]>;
|
||||
replyToByChat: Record<number, Message | null>;
|
||||
editingByChat: Record<number, Message | null>;
|
||||
unreadBoundaryByChat: Record<number, number>;
|
||||
focusedMessageIdByChat: Record<number, number | null>;
|
||||
loadChats: (query?: string) => Promise<void>;
|
||||
@@ -93,6 +94,7 @@ interface ChatState {
|
||||
clearUnread: (chatId: number) => void;
|
||||
setTypingUsers: (chatId: number, userIds: number[]) => void;
|
||||
setReplyToMessage: (chatId: number, message: Message | null) => void;
|
||||
setEditingMessage: (chatId: number, message: Message | null) => void;
|
||||
updateChatPinnedMessage: (chatId: number, pinnedMessageId: number | null) => void;
|
||||
applyPresenceEvent: (chatId: number, userId: number, isOnline: boolean, lastSeenAt?: string) => void;
|
||||
setDraft: (chatId: number, text: string) => void;
|
||||
@@ -109,6 +111,7 @@ export const useChatStore = create<ChatState>((set, get) => ({
|
||||
loadingMoreByChat: {},
|
||||
typingByChat: {},
|
||||
replyToByChat: {},
|
||||
editingByChat: {},
|
||||
unreadBoundaryByChat: {},
|
||||
focusedMessageIdByChat: {},
|
||||
loadChats: async (query) => {
|
||||
@@ -395,6 +398,8 @@ export const useChatStore = create<ChatState>((set, get) => ({
|
||||
set((state) => ({ typingByChat: { ...state.typingByChat, [chatId]: userIds } })),
|
||||
setReplyToMessage: (chatId, message) =>
|
||||
set((state) => ({ replyToByChat: { ...state.replyToByChat, [chatId]: message } })),
|
||||
setEditingMessage: (chatId, message) =>
|
||||
set((state) => ({ editingByChat: { ...state.editingByChat, [chatId]: message } })),
|
||||
updateChatPinnedMessage: (chatId, pinnedMessageId) =>
|
||||
set((state) => ({
|
||||
chats: state.chats.map((chat) => (chat.id === chatId ? { ...chat, pinned_message_id: pinnedMessageId } : chat))
|
||||
|
||||
Reference in New Issue
Block a user