Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
3599 stevensc 1
import React, { useState } from 'react';
3605 stevensc 2
import { Grid } from '@mui/material';
3577 stevensc 3
 
3599 stevensc 4
import { useFetch, usePagination } from '@shared/hooks';
3581 stevensc 5
 
3580 stevensc 6
import { Spinner } from '@shared/components';
3599 stevensc 7
import { ConversationsList, MessagesList } from '@inmail/components';
3580 stevensc 8
 
3577 stevensc 9
export function InmailPage() {
3580 stevensc 10
  const [selectedConversation, setSelectedConversation] = useState(null);
11
 
3597 stevensc 12
  const { data: conversations, loading } = useFetch('/email');
3604 stevensc 13
 
3599 stevensc 14
  const {
15
    items: messages,
3604 stevensc 16
    loading: loadingMessages,
17
    lastElementRef
18
  } = usePagination(selectedConversation?.messages_url);
3577 stevensc 19
 
3578 stevensc 20
  if (loading || !conversations) {
3577 stevensc 21
    return <Spinner />;
22
  }
23
 
24
  return (
3599 stevensc 25
    <Grid container spacing={2} sx={{ height: 'calc(100vh - 100px)' }}>
3577 stevensc 26
      <Grid item xs={12} md={3}>
3580 stevensc 27
        <ConversationsList
28
          conversations={conversations}
29
          onSelectConversation={setSelectedConversation}
3577 stevensc 30
        />
31
      </Grid>
32
      <Grid item xs={12} md={9}>
3605 stevensc 33
        <MessagesList
34
          messages={messages}
35
          loading={loadingMessages}
36
          lastElementRef={lastElementRef}
37
        />
3577 stevensc 38
      </Grid>
39
    </Grid>
40
  );
41
}