49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { ChatService, MessageSchema } from "../../../../../client";
 | 
						|
import { notifications } from "../../../../../shared/lib/notifications.ts";
 | 
						|
import { useChatContext } from "../../../../../pages/ClientsPage/contexts/ChatContext.tsx";
 | 
						|
 | 
						|
const useMessage = () => {
 | 
						|
    const { form } = useChatContext();
 | 
						|
 | 
						|
    const onDeleteMessageClick = (message: MessageSchema) => {
 | 
						|
        ChatService.deleteMessage({
 | 
						|
            messageId: message.id,
 | 
						|
        })
 | 
						|
            .then(({ ok, message }) => {
 | 
						|
                if (!ok) {
 | 
						|
                    notifications.error({ message });
 | 
						|
                }
 | 
						|
            })
 | 
						|
            .catch(err => console.log(err));
 | 
						|
    };
 | 
						|
 | 
						|
    const onEditMessageClick = (message: MessageSchema) => {
 | 
						|
        form.setValues({
 | 
						|
            messageId: message.id,
 | 
						|
            message: message.text,
 | 
						|
        });
 | 
						|
    };
 | 
						|
 | 
						|
    const onRepeatSendingClick = (message: MessageSchema) => {
 | 
						|
        ChatService.repeatSendingTextMessage({
 | 
						|
            requestBody: {
 | 
						|
                message,
 | 
						|
            },
 | 
						|
        })
 | 
						|
            .then(({ ok, message }) => {
 | 
						|
                if (!ok) {
 | 
						|
                    notifications.error({ message });
 | 
						|
                }
 | 
						|
            })
 | 
						|
            .catch(err => console.log(err));
 | 
						|
    };
 | 
						|
 | 
						|
    return {
 | 
						|
        onDeleteMessageClick,
 | 
						|
        onEditMessageClick,
 | 
						|
        onRepeatSendingClick,
 | 
						|
    };
 | 
						|
};
 | 
						|
 | 
						|
export default useMessage;
 |