Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3719 | | Comparar con el anterior | Ultima modificación | Ver Log |

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