Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3627 | Rev 3629 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3610 stevensc 1
import React from 'react';
3605 stevensc 2
import { Grid } from '@mui/material';
3577 stevensc 3
 
3619 stevensc 4
import { useModal } from '@shared/hooks';
3610 stevensc 5
import { useConversations } from '@inmail/hooks';
3581 stevensc 6
 
3619 stevensc 7
import { SearchUserModal, Spinner } from '@shared/components';
3599 stevensc 8
import { ConversationsList, MessagesList } from '@inmail/components';
3580 stevensc 9
 
3614 stevensc 10
export const InmailPage = () => {
3610 stevensc 11
  const {
12
    conversations,
13
    currentConversation,
14
    loading,
15
    setCurrentConversation,
16
    deleteConversation
17
  } = useConversations();
3580 stevensc 18
 
3627 stevensc 19
  const { showModal, closeModal } = useModal();
3619 stevensc 20
 
3621 stevensc 21
  const showUserModal = () => {
3619 stevensc 22
    showModal(
23
      'Iniciar conversación',
24
      <SearchUserModal
25
        onSelect={(user) => {
3627 stevensc 26
          setCurrentConversation(user);
27
          closeModal();
3619 stevensc 28
        }}
29
      />
30
    );
3610 stevensc 31
  };
3604 stevensc 32
 
3610 stevensc 33
  if (loading) return <Spinner />;
3577 stevensc 34
 
35
  return (
3610 stevensc 36
    <Grid container spacing={1}>
37
      <Grid
38
        item
39
        xs={12}
40
        md={4}
41
        sx={{
3621 stevensc 42
          display: { xs: currentConversation ? 'none' : 'block', md: 'block' }
3610 stevensc 43
        }}
44
      >
3580 stevensc 45
        <ConversationsList
46
          conversations={conversations}
3610 stevensc 47
          onSelectConversation={setCurrentConversation}
3621 stevensc 48
          onStartConversation={showUserModal}
3577 stevensc 49
        />
50
      </Grid>
3610 stevensc 51
 
52
      <Grid
53
        item
54
        xs={12}
55
        md={8}
56
        sx={{
3621 stevensc 57
          display: { xs: currentConversation ? 'block' : 'none', md: 'block' }
3610 stevensc 58
        }}
59
      >
3619 stevensc 60
        <MessagesList
3610 stevensc 61
          conversation={currentConversation}
62
          onClose={() => setCurrentConversation(null)}
63
          onDelete={() =>
3628 stevensc 64
            currentConversation?.delete_url && deleteConversation(currentConversation.delete_url)
3610 stevensc 65
          }
3619 stevensc 66
        />
3577 stevensc 67
      </Grid>
68
    </Grid>
69
  );
3610 stevensc 70
};