UNPKG

@replyke/core

Version:

Replyke: Build interactive apps with social features like comments, votes, feeds, user lists, notifications, and more.

28 lines 1.21 kB
import { useCallback } from "react"; import { useReplykeDispatch } from "../../../store/hooks"; import { upsertMessage } from "../../../store/slices/chatSlice"; import useAxiosPrivate from "../../../config/useAxiosPrivate"; import useProject from "../../projects/useProject"; import { handleError } from "../../../utils/handleError"; function useEditMessage() { const dispatch = useReplykeDispatch(); const { projectId } = useProject(); const axios = useAxiosPrivate(); const edit = useCallback(async ({ conversationId, messageId, content, gif, mentions, metadata, }) => { if (!projectId) throw new Error("No projectId available."); try { const response = await axios.patch(`/${projectId}/chat/conversations/${conversationId}/messages/${messageId}`, { content, gif, mentions, metadata }); const updated = response.data; dispatch(upsertMessage(updated)); return updated; } catch (err) { handleError(err, "Failed to edit message"); throw err; } }, [projectId, axios, dispatch]); return edit; } export default useEditMessage; //# sourceMappingURL=useEditMessage.js.map