Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
3482 stevensc 1
import React from 'react';
2
import { Link } from 'react-router-dom';
3481 stevensc 3
 
3659 stevensc 4
import { useAlert, useApi } from '@shared/hooks';
5
import { getTopics } from '@microlearning/services';
3481 stevensc 6
 
3482 stevensc 7
import { Grid, PageHeader, Spinner } from '@shared/components';
8
import { TopicCard } from '@microlearning/components';
3481 stevensc 9
 
3505 stevensc 10
export function TopicsPage() {
3659 stevensc 11
  const { showError } = useAlert();
3481 stevensc 12
 
3659 stevensc 13
  const { data: topics, loading } = useApi(getTopics, {
14
    autoFetch: true,
15
    onError: (error) => {
16
      showError(error.message);
17
    }
18
  });
19
 
3482 stevensc 20
  if (loading || !topics) return <Spinner />;
3481 stevensc 21
 
22
  return (
23
    <>
3488 stevensc 24
      <PageHeader title='Tópicos' />
3482 stevensc 25
      <Grid
26
        items={topics}
3488 stevensc 27
        emptyMessage='No hay tópicos para mostrar'
3482 stevensc 28
        renderItem={(topic) => (
29
          <Link to={topic.uuid}>
30
            <TopicCard topic={topic} />
31
          </Link>
32
        )}
3519 stevensc 33
        keyExtractor={(topic) => topic.uuid}
3482 stevensc 34
      />
3481 stevensc 35
    </>
36
  );
3505 stevensc 37
}