Rev 3627 | Rev 3629 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React from 'react';
import { Grid } from '@mui/material';
import { useModal } from '@shared/hooks';
import { useConversations } from '@inmail/hooks';
import { SearchUserModal, Spinner } from '@shared/components';
import { ConversationsList, MessagesList } from '@inmail/components';
export const InmailPage = () => {
const {
conversations,
currentConversation,
loading,
setCurrentConversation,
deleteConversation
} = useConversations();
const { showModal, closeModal } = useModal();
const showUserModal = () => {
showModal(
'Iniciar conversación',
<SearchUserModal
onSelect={(user) => {
setCurrentConversation(user);
closeModal();
}}
/>
);
};
if (loading) return <Spinner />;
return (
<Grid container spacing={1}>
<Grid
item
xs={12}
md={4}
sx={{
display: { xs: currentConversation ? 'none' : 'block', md: 'block' }
}}
>
<ConversationsList
conversations={conversations}
onSelectConversation={setCurrentConversation}
onStartConversation={showUserModal}
/>
</Grid>
<Grid
item
xs={12}
md={8}
sx={{
display: { xs: currentConversation ? 'block' : 'none', md: 'block' }
}}
>
<MessagesList
conversation={currentConversation}
onClose={() => setCurrentConversation(null)}
onDelete={() =>
currentConversation?.delete_url && deleteConversation(currentConversation.delete_url)
}
/>
</Grid>
</Grid>
);
};