Skip to content

Commit

Permalink
feat. Vise varsel om rydding av avtaler (#1252)
Browse files Browse the repository at this point in the history
* feat. Vise varsel om rydding av avtaler

* feat. justere dato til å ta høyde for 28. nov

* fix. oppdatert navn på feature toggle pabegyntAvtaleRyddeJobb

* fix. skrivefeil i variabelnavn
  • Loading branch information
eirikv authored Oct 16, 2024
1 parent 0b868fc commit 111c64a
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 24 deletions.
1 change: 1 addition & 0 deletions src/FeatureToggleProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ const InitialState = {
vtaoTiltakToggle: false,
visHvemHarGodkjent: false,
arbeidstreningReadonly: false,
pabegyntAvtaleRyddeJobb: false,
} as const;

export type Feature = keyof typeof InitialState;
Expand Down
84 changes: 60 additions & 24 deletions src/komponenter/Banner/BannerNAVAnsatt.tsx
Original file line number Diff line number Diff line change
@@ -1,48 +1,84 @@
import { InnloggetBrukerContext } from '@/InnloggingBoundary/InnloggingBoundary';
import '@navikt/bedriftsmeny/lib/bedriftsmeny.css';
import amplitude from 'amplitude-js';
import { Heading, Detail } from '@navikt/ds-react';
import { Heading, Detail, Alert } from '@navikt/ds-react';
import React, { useContext } from 'react';
import VerticalSpacer from '../layout/VerticalSpacer';
import nyheter from '../NyttIAppen/nyheter';
import Nytt from '../NyttIAppen/Nytt';
import './Banner.less';
import moment from 'moment/moment';
import { useAvtale } from '@/AvtaleProvider';
import { useFeatureToggles } from '@/FeatureToggleProvider';

interface Props {
tekst: string;
undertittel?: string;
}

const TOLV_UKER_I_DAGER = 7 * 12;
const STARTDATO_FOR_RYDDING = moment('2024-11-28').endOf('day');

const formaterSlettetidspunkt = (sistEndret: string) => {
const sistEndretPlussTolvUker = moment(sistEndret).endOf('day').add(TOLV_UKER_I_DAGER, 'days');
const slettetidspunkt = STARTDATO_FOR_RYDDING.isAfter(sistEndretPlussTolvUker)
? STARTDATO_FOR_RYDDING
: sistEndretPlussTolvUker;

const antallDager = slettetidspunkt.diff(moment(), 'days');

if (antallDager === 0) {
return `kl. 23:59 i dag`;
}
if (antallDager === 1) {
return `24 timer`;
}
if (antallDager < 14) {
return `${antallDager} dager`;
}
return `den ${slettetidspunkt.format('DD.MM.YYYY')}`;
};

const BannerNAVAnsatt: React.FunctionComponent<Props> = (props) => {
const { avtale } = useAvtale();
const { pabegyntAvtaleRyddeJobb } = useFeatureToggles();
const innloggetBruker = useContext(InnloggetBrukerContext);

return innloggetBruker.erNavAnsatt ? (
<div className={'banner-veileder-container'}>
<div className="banner-veileder" role="banner">
<div>
<Heading size="large" role="heading" aria-level={1}>
{props.tekst}
</Heading>

{props.undertittel && (
<>
<VerticalSpacer rem={0.5} />
<Detail style={{ fontWeight: 'bold' }}>{props.undertittel}</Detail>
</>
)}
</div>
<>
<div className="banner-veileder-container">
<div className="banner-veileder" role="banner">
<div>
<Heading size="large" role="heading" aria-level={1}>
{props.tekst}
</Heading>

{props.undertittel && (
<>
<VerticalSpacer rem={0.5} />
<Detail style={{ fontWeight: 'bold' }}>{props.undertittel}</Detail>
</>
)}
</div>

<div>
<Nytt
onÅpneNyheter={() => amplitude.logEvent('#tiltak-nyheter-apnet')}
åpneVedFørsteBesøk={true}
nyheter={nyheter}
tittel="Nytt i tiltaksgjennomføring"
navn="Tiltaksgjennomføring"
/>
<div>
<Nytt
onÅpneNyheter={() => amplitude.logEvent('#tiltak-nyheter-apnet')}
åpneVedFørsteBesøk={true}
nyheter={nyheter}
tittel="Nytt i tiltaksgjennomføring"
navn="Tiltaksgjennomføring"
/>
</div>
</div>
</div>
</div>
{pabegyntAvtaleRyddeJobb && ['PÅBEGYNT', 'MANGLER_GODKJENNING'].includes(avtale?.statusSomEnum) && (
<Alert variant="info">
Avtalen vil automatisk slettes dersom den ikke blir inngått eller endret innen{' '}
{formaterSlettetidspunkt(avtale.sistEndret)}.
</Alert>
)}
</>
) : null;
};

Expand Down

0 comments on commit 111c64a

Please sign in to comment.