-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathAvtaleTabellBeslutter.tsx
84 lines (79 loc) · 3.92 KB
/
AvtaleTabellBeslutter.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import { FunctionComponent } from 'react';
import { useNavigate, generatePath } from 'react-router-dom';
import { Table, BodyShort } from '@navikt/ds-react';
import '../AvtaleOversikt/AvtaleTabell.less';
import AvtaleTabellBeslutterHeader from '@/BeslutterOversikt/AvtaleTabellBeslutterHeader';
import BEMHelper from '@/utils/bem';
import EtikettStatus from '@/BeslutterSide/EtikettStatus';
import { AvtaleMinimalForBeslutter } from '@/types/avtale';
import { ChevronRightIcon } from '@navikt/aksel-icons';
import { Path } from '@/Router';
import { Varsel } from '@/types/varsel';
import { kunStorForbokstav } from '@/utils/stringUtils';
import { tiltakstypeTekstKort } from '@/messages';
import NavnMedDiskresjonskode from '@/AvtaleOversikt/NavnMedDiskresjonskode';
const cls = BEMHelper('avtaletabell');
interface Props {
avtaler: AvtaleMinimalForBeslutter[];
varsler: Varsel[];
}
const AvtaleTabellBeslutter = (props: Props) => {
const { avtaler, varsler } = props;
const navigate = useNavigate();
return (
<Table className={cls.className}>
<AvtaleTabellBeslutterHeader />
<Table.Body>
{avtaler.map((avtale: AvtaleMinimalForBeslutter, index: number) => {
const ulestVarsel = varsler.find((value) => value.avtaleId === avtale.id);
return (
<Table.Row
key={avtale.id + index}
onClick={(e) => {
navigate({
pathname: generatePath(Path.AVTALE_BESLUTTER, { avtaleId: avtale.id }),
search: window.location.search,
});
}}
>
<Table.DataCell textSize="small">
{ulestVarsel && <span aria-hidden={!ulestVarsel} className="ulest-varsel-ikon" />}
{kunStorForbokstav(tiltakstypeTekstKort[avtale.tiltakstype])}
</Table.DataCell>
<Table.DataCell textSize="small">{avtale.bedriftNavn}</Table.DataCell>
<Table.DataCell textSize="small">
<NavnMedDiskresjonskode
diskresjonskode={avtale.diskresjonskode}
fornavn={avtale.deltakerFornavn}
etternavn={avtale.deltakerEtternavn}
/>
</Table.DataCell>
<Table.DataCell textSize="small">{avtale.veilederNavIdent || 'Ufordelt'}</Table.DataCell>
<Table.DataCell textSize="small">
{new Date(avtale.startDato).toLocaleDateString('no-NB', {
day: 'numeric',
month: 'short',
year: '2-digit',
})}
</Table.DataCell>
<Table.DataCell>
<EtikettStatus
tilskuddsperiodestatus={avtale.status}
antallKlarTilgodkjenning={Number(avtale.antallUbehandlet)}
/>
</Table.DataCell>
<Table.DataCell>
<ChevronRightIcon
className={cls.element('pil-hoyre')}
title="a11y-title"
fontSize="1.75rem"
/>
</Table.DataCell>
</Table.Row>
);
})}
</Table.Body>
</Table>
);
};
export default AvtaleTabellBeslutter;