Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3605 | Rev 3610 | 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,
3607 stevensc 17
    elementRef
3604 stevensc 18
  } = usePagination(selectedConversation?.messages_url);
3577 stevensc 19
 
3578 stevensc 20
  if (loading || !conversations) {
3577 stevensc 21
    return <Spinner />;
22
  }
23
 
24
  return (
3607 stevensc 25
    <Grid container spacing={2}>
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}>
3607 stevensc 33
        <MessagesList messages={messages} loading={loadingMessages} elementRef={elementRef} />
3577 stevensc 34
      </Grid>
35
    </Grid>
36
  );
37
}