Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3605 | Rev 3610 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

import React, { useState } from 'react';
import { Grid } from '@mui/material';

import { useFetch, usePagination } from '@shared/hooks';

import { Spinner } from '@shared/components';
import { ConversationsList, MessagesList } from '@inmail/components';

export function InmailPage() {
  const [selectedConversation, setSelectedConversation] = useState(null);

  const { data: conversations, loading } = useFetch('/email');

  const {
    items: messages,
    loading: loadingMessages,
    elementRef
  } = usePagination(selectedConversation?.messages_url);

  if (loading || !conversations) {
    return <Spinner />;
  }

  return (
    <Grid container spacing={2}>
      <Grid item xs={12} md={3}>
        <ConversationsList
          conversations={conversations}
          onSelectConversation={setSelectedConversation}
        />
      </Grid>
      <Grid item xs={12} md={9}>
        <MessagesList messages={messages} loading={loadingMessages} elementRef={elementRef} />
      </Grid>
    </Grid>
  );
}