Rev 2731 | AutorÃa | Ultima modificación | Ver Log |
import React, { createContext, useState } from 'react'
import { useFetch } from '@hooks'
export const InmailContext = createContext()
export default function InmailProvider({ children }) {
const { data, isLoading } = useFetch('/inmail', null)
const [composeModalShow, setComposeModalShow] = useState(false)
const [replyModalShow, setReplyModalShow] = useState(false)
const [selectedMessage, setSelectedMessage] = useState(null)
const selectMessage = (message) => setSelectedMessage(message)
const handleReply = (message) => {
setSelectedMessage(message)
setReplyModalShow(true)
}
const closeReply = () => {
setSelectedMessage(null)
setReplyModalShow(false)
}
const toggleComposeModal = () => {
setComposeModalShow(!composeModalShow)
}
return (
<InmailContext.Provider
value={{
loading: isLoading,
messages: data?.messages ?? [],
totalMessages: data?.total_messages ?? 0,
totalPages: data?.total_pages ?? 1,
currentPage: data?.current_page ?? 1,
replyMessage: handleReply,
selectedMessage,
toggleComposeModal,
closeReply,
composeModalShow,
replyModalShow,
selectMessage
}}
>
{children}
</InmailContext.Provider>
)
}