Proyectos de Subversion LeadersLinked - SPA

Rev

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

import React from 'react';
import { useNavigate } from 'react-router-dom';
import { useSelector } from 'react-redux';

import { useKnowledges } from '../hooks';

import { Grid, PageHeader, Pagination, SearchBar, Spinner } from '@shared/components';
import { KnowledgeCard } from '@knowledges/components';

export default function KnowledgesPage() {
  const navigate = useNavigate();
  const labels = useSelector(({ intl }) => intl.labels);

  const {
    loading,
    knowledges,
    // categories,
    linkAdd,
    page,
    pages,
    setPage,
    addKnowledge,
    searchKnowledge,
    editKnowledge,
    deleteKnowledge
  } = useKnowledges();

  return (
    <>
      <PageHeader
        title={labels.knowledge_area_title}
        onAdd={linkAdd ? () => addKnowledge(linkAdd) : null}
        labelAdd={labels.knowledge_area_add}
      />

      <SearchBar onChange={searchKnowledge} />

      {loading ? (
        <Spinner />
      ) : (
        <Grid
          items={knowledges}
          emptyMessage={labels.error_no_record_matched_your_query}
          renderItem={(knowledge) => (
            <KnowledgeCard
              key={knowledge.link_view}
              knowledge={knowledge}
              onClick={() => navigate(knowledge.link_view)}
              onEdit={() => editKnowledge(knowledge.link_edit)}
              onDelete={() => deleteKnowledge(knowledge.link_delete)}
            />
          )}
        />
      )}

      <Pagination page={page} pages={pages} onChange={setPage} />
    </>
  );
}