diff --git a/package-lock.json b/package-lock.json index cd475bbbb..c21389802 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,8 +12,8 @@ "@faker-js/faker": "8.4.1", "@grafana/faro-web-sdk": "1.3.6", "@navikt/aksel-icons": "^5.17.2", - "@navikt/arbeidsgiver-notifikasjon-widget": "7.2.0", - "@navikt/bedriftsmeny": "7.0.4", + "@navikt/arbeidsgiver-notifikasjon-widget": "7.2.1", + "@navikt/bedriftsmeny": "7.0.5", "@navikt/ds-css": "^6.15.0", "@navikt/ds-icons": "3.4.3", "@navikt/ds-react": "^6.15.0", @@ -5094,9 +5094,9 @@ "license": "MIT" }, "node_modules/@navikt/arbeidsgiver-notifikasjon-widget": { - "version": "7.2.0", - "resolved": "https://npm.pkg.github.com/download/@navikt/arbeidsgiver-notifikasjon-widget/7.2.0/4a6e1d18d1a1850ea018cbe19626e9c999d3af45", - "integrity": "sha512-kOwJvdOX7Z7R4wgd/m4JWmdMG/H/C6pVtBQYI657HQVUOikepC0e0Uswe0ZFIS4QDjnQX7VRe9mo3LpE15gcMw==", + "version": "7.2.1", + "resolved": "https://npm.pkg.github.com/download/@navikt/arbeidsgiver-notifikasjon-widget/7.2.1/9a2bad6d7448a35c2c6a8c15239450f97b4132cf", + "integrity": "sha512-6jCsrkt0KPa7sw6UpSEA36tdZ9zcsD/KY3cB9tqvKmSdx5Dl/aJQTUR1+NJ5GEaBlaQHomzjm8H878KljG0egQ==", "dependencies": { "@apollo/client": "^3.10.8", "graphql": "^16.9.0" @@ -5110,9 +5110,9 @@ } }, "node_modules/@navikt/bedriftsmeny": { - "version": "7.0.4", - "resolved": "https://npm.pkg.github.com/download/@navikt/bedriftsmeny/7.0.4/c67480e76df44e11026d2d969adfaa5beb5a9b09", - "integrity": "sha512-dYIru7bbjUkDkKPCV/6VdBfqzjS/68cESyqYgQgR3WwdKJcLQUOnIak7HldxTByTjEBks9Ad34vdfCFkwS3wCg==", + "version": "7.0.5", + "resolved": "https://npm.pkg.github.com/download/@navikt/bedriftsmeny/7.0.5/7443854b7f4c2507618edd54f68fc52c72a5f752", + "integrity": "sha512-yqZFHUVm7l2DBDs+/be+d6SJW550M+k4cJlAqhRadUcVveVu008H0dHH9FucupwJah6rxL1ZPqyFyxkMzmK/pw==", "license": "MIT", "dependencies": { "focus-trap-react": "^10.2.2", diff --git a/package.json b/package.json index 5840cbd02..5a194cc29 100644 --- a/package.json +++ b/package.json @@ -8,8 +8,8 @@ "@faker-js/faker": "8.4.1", "@grafana/faro-web-sdk": "1.3.6", "@navikt/aksel-icons": "^5.17.2", - "@navikt/arbeidsgiver-notifikasjon-widget": "7.2.0", - "@navikt/bedriftsmeny": "7.0.4", + "@navikt/arbeidsgiver-notifikasjon-widget": "7.2.1", + "@navikt/bedriftsmeny": "7.0.5", "@navikt/ds-css": "^6.15.0", "@navikt/ds-icons": "3.4.3", "@navikt/ds-react": "^6.15.0", diff --git a/src/Pages/Artikkel/Artikkel.tsx b/src/Pages/Artikkel/Artikkel.tsx index b70fed133..22e1bb489 100644 --- a/src/Pages/Artikkel/Artikkel.tsx +++ b/src/Pages/Artikkel/Artikkel.tsx @@ -1,9 +1,9 @@ import { Link as RouterLink, useParams } from 'react-router-dom'; import { Brodsmulesti, Spinner } from '../Banner'; -import React, { useContext, useEffect } from 'react'; +import React, { useEffect } from 'react'; import { Alert, BodyShort, Heading, Link } from '@navikt/ds-react'; import './Artikkel.css'; -import { OrganisasjonsDetaljerContext } from '../OrganisasjonDetaljerProvider'; +import { useOrganisasjonsDetaljerContext } from '../OrganisasjonDetaljerProvider'; import { LenkepanelMedLogging } from '../../GeneriskeElementer/LenkepanelMedLogging'; import { useRawArtikkelHtml } from './useRawHtmlFromStorage'; import { OrganisasjonInfo } from '../OrganisasjonerOgTilgangerProvider'; @@ -30,7 +30,7 @@ const artikler: Record = { }; export const Artikler = () => { - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); if (!valgtOrganisasjon) { return null; } diff --git a/src/Pages/Banner.tsx b/src/Pages/Banner.tsx index 0d5e0d872..cfa8800b3 100644 --- a/src/Pages/Banner.tsx +++ b/src/Pages/Banner.tsx @@ -1,8 +1,8 @@ -import React, { FunctionComponent, useContext, useEffect, useCallback } from 'react'; +import React, { FunctionComponent, useCallback, useEffect } from 'react'; import Bedriftsmeny from '@navikt/bedriftsmeny'; import '@navikt/bedriftsmeny/lib/bedriftsmeny.css'; -import { OrganisasjonsDetaljerContext } from './OrganisasjonDetaljerProvider'; -import { OrganisasjonerOgTilgangerContext } from './OrganisasjonerOgTilgangerProvider'; +import { useOrganisasjonsDetaljerContext } from './OrganisasjonDetaljerProvider'; +import { useOrganisasjonerOgTilgangerContext } from './OrganisasjonerOgTilgangerProvider'; import * as Record from '../utils/Record'; import { NotifikasjonWidget } from '@navikt/arbeidsgiver-notifikasjon-widget'; import { useSearchParams } from 'react-router-dom'; @@ -32,8 +32,8 @@ export const SaksoversiktBanner = () => ( ); export const BannerMedBedriftsmeny: FunctionComponent = ({ sidetittel }) => { - const { organisasjoner } = useContext(OrganisasjonerOgTilgangerContext); - const { endreOrganisasjon, valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { organisasjoner } = useOrganisasjonerOgTilgangerContext(); + const { endreOrganisasjon, valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); const [params, setParams] = useSearchParams(); const orgnrFraUrl = params.get('bedrift'); diff --git a/src/Pages/Hovedside/AktueltRubrikk.tsx b/src/Pages/Hovedside/AktueltRubrikk.tsx index e883fbb34..9385ff1dc 100644 --- a/src/Pages/Hovedside/AktueltRubrikk.tsx +++ b/src/Pages/Hovedside/AktueltRubrikk.tsx @@ -1,10 +1,10 @@ import { Heading, LinkPanel } from '@navikt/ds-react'; -import React, { useContext } from 'react'; +import React from 'react'; import { loggNavigasjonTags } from '../../utils/funksjonerForAmplitudeLogging'; import { DisplayBetween, shouldDisplay } from '../../GeneriskeElementer/DisplayBetween'; import { useLocation } from 'react-router-dom'; import './AktueltRubrikk.css'; -import { OrganisasjonsDetaljerContext } from '../OrganisasjonDetaljerProvider'; +import { useOrganisasjonsDetaljerContext } from '../OrganisasjonDetaljerProvider'; import { OrganisasjonInfo } from '../OrganisasjonerOgTilgangerProvider'; type AktueltProps = { @@ -36,7 +36,9 @@ const Aktuelt = ({ lenke, tittel, beskrivelse, visFra, visTil }: AktueltProps) = }} > {tittel} - {beskrivelse ?? dateFormat.format(visFra)} + + {beskrivelse ?? dateFormat.format(visFra)} + ); @@ -46,15 +48,16 @@ const aktuelt: Array = [ { lenke: 'https://arbeidsgiver.nav.no/min-side-arbeidsgiver/artikkel/saferoad_ansetter_ved_hjelp_av_nav', tittel: 'Ønsker dere hjelpe fra Nav til å rekruttere?', - beskrivelse: "Les om hvordan Nav bidrar til at Saferoad kan ansette over 100 nye folk hvert år.", + beskrivelse: + 'Les om hvordan Nav bidrar til at Saferoad kan ansette over 100 nye folk hvert år.', visFra: new Date('2024-12-13T00:00:00+02:00'), visTil: new Date('2025-01-31T00:00:00+02:00'), tilgangssjekk: (orgInfo) => orgInfo.altinntilgang.rekruttering, - } + }, ]; export const AktueltRubrikk = () => { - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); if (!valgtOrganisasjon) { return null; } diff --git a/src/Pages/Hovedside/BeOmTilgang/BeOmTilgang.tsx b/src/Pages/Hovedside/BeOmTilgang/BeOmTilgang.tsx index f61105d94..e9965052b 100644 --- a/src/Pages/Hovedside/BeOmTilgang/BeOmTilgang.tsx +++ b/src/Pages/Hovedside/BeOmTilgang/BeOmTilgang.tsx @@ -1,16 +1,12 @@ -import React, { FC, FunctionComponent, MouseEventHandler, useContext } from 'react'; +import React, { FC, FunctionComponent, MouseEventHandler } from 'react'; import { Ekspanderbartpanel } from '../../../GeneriskeElementer/Ekspanderbartpanel'; import { - OrganisasjonerOgTilgangerContext, OrganisasjonInfo, + useOrganisasjonerOgTilgangerContext, } from '../../OrganisasjonerOgTilgangerProvider'; -import { OrganisasjonsDetaljerContext } from '../../OrganisasjonDetaljerProvider'; +import { useOrganisasjonsDetaljerContext } from '../../OrganisasjonDetaljerProvider'; import Organisasjonsbeskrivelse from './Organisasjonsbeskrivelse'; -import { - AltinntilgangAlleredeSøkt, - BeOmTilgangBoks, - BeOmSyfotilgang, -} from './TjenesteInfo'; +import { AltinntilgangAlleredeSøkt, BeOmSyfotilgang, BeOmTilgangBoks } from './TjenesteInfo'; import './BeOmTilgang.css'; import { altinntjeneste, AltinntjenesteId } from '../../../altinn/tjenester'; import { opprettAltinnTilgangssøknad } from '../../../altinn/tilganger'; @@ -77,8 +73,8 @@ const opprettSøknad = ( }; const BeOmTilgang: FunctionComponent = () => { - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); - const { altinnTilgangssøknad } = useContext(OrganisasjonerOgTilgangerContext); + const { valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); + const { altinnTilgangssøknad } = useOrganisasjonerOgTilgangerContext(); const tjenesteinfoBokser: JSX.Element[] = []; if (valgtOrganisasjon === undefined) { diff --git a/src/Pages/Hovedside/InfoBokser.tsx b/src/Pages/Hovedside/InfoBokser.tsx index b8d1a78e8..f27ff9f9d 100644 --- a/src/Pages/Hovedside/InfoBokser.tsx +++ b/src/Pages/Hovedside/InfoBokser.tsx @@ -1,10 +1,10 @@ -import React, { FC, useContext, useEffect } from 'react'; +import React, { FC, useEffect } from 'react'; import * as Record from '../../utils/Record'; import './InfoBokser.css'; -import { OrganisasjonerOgTilgangerContext } from '../OrganisasjonerOgTilgangerProvider'; +import { useOrganisasjonerOgTilgangerContext } from '../OrganisasjonerOgTilgangerProvider'; import { gittMiljo } from '../../utils/environment'; import { shouldDisplay } from '../../GeneriskeElementer/DisplayBetween'; -import { OrganisasjonsDetaljerContext } from '../OrganisasjonDetaljerProvider'; +import { useOrganisasjonsDetaljerContext } from '../OrganisasjonDetaljerProvider'; import { Alert, Heading } from '@navikt/ds-react'; import { useLocalStorage } from '../../hooks/useStorage'; import { LenkeMedLogging } from '../../GeneriskeElementer/LenkeMedLogging'; @@ -17,24 +17,12 @@ type InfoboksProps = { }; const infobokser: Array = [ - { - id: 'uxsignals', - visFra: new Date('2024-11-06T00:00:00+02:00'), - visTil: new Date('2024-12-31T10:00:00+02:00'), - Component: () => { - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); - if (!valgtOrganisasjon || !valgtOrganisasjon.altinntilgang.inntektsmelding) { - return null; - } - return ; - }, - }, { id: 'ia-bookings', visFra: new Date('2023-11-13T10:00:00+02:00'), visTil: new Date('2023-11-15T08:00:00+01:00'), Component: () => { - const { organisasjoner } = useContext(OrganisasjonerOgTilgangerContext); + const { organisasjoner } = useOrganisasjonerOgTilgangerContext(); const harSyfotilgangPåTvers = Record.values(organisasjoner).some( (org) => org.syfotilgang ); @@ -69,7 +57,7 @@ const infobokser: Array = [ visFra: new Date('2024-04-11T00:00:00+02:00'), visTil: new Date('2024-06-11T00:00:00+02:00'), Component: () => { - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); const [closed, setClosed] = useLocalStorage('yrkesskade-infobokser-closed', false); if (!valgtOrganisasjon || !valgtOrganisasjon.altinntilgang.yrkesskade) { @@ -109,6 +97,9 @@ export const InfoBokser = () => { ); }; +/** + * fjernet bruk av denne inntil vi har kontroll på konsekvenser iht ny ekomlovgivning + */ const UXSignals = ({ dataUxsignalsEmbed }: { dataUxsignalsEmbed: string }) => { useEffect(() => { const script = document.createElement('script'); diff --git a/src/Pages/Hovedside/Kalenderavtaler.tsx b/src/Pages/Hovedside/Kalenderavtaler.tsx index fd00309fc..9a3db7811 100644 --- a/src/Pages/Hovedside/Kalenderavtaler.tsx +++ b/src/Pages/Hovedside/Kalenderavtaler.tsx @@ -1,5 +1,5 @@ import './Kalenderavtaler.css'; -import React, { FunctionComponent, useContext } from 'react'; +import React, { FunctionComponent } from 'react'; import { BodyShort, Button, Heading, Tag } from '@navikt/ds-react'; import { ChevronDownIcon, @@ -10,7 +10,7 @@ import { } from '@navikt/aksel-icons'; import { KalenderavtaleTilstand, Lokasjon, Query } from '../../api/graphql-types'; import { gql, TypedDocumentNode, useQuery } from '@apollo/client'; -import { OrganisasjonsDetaljerContext } from '../OrganisasjonDetaljerProvider'; +import { useOrganisasjonsDetaljerContext } from '../OrganisasjonDetaljerProvider'; const HENT_KALENDERAVTALER: TypedDocumentNode> = gql` query HentKalenderavtaler($virksomhetsnumre: [String!]!) { @@ -36,7 +36,7 @@ const HENT_KALENDERAVTALER: TypedDocumentNode { - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); const [visAlle, settVisAlle] = React.useState(false); const virksomhetsnumre = valgtOrganisasjon !== undefined ? [valgtOrganisasjon?.organisasjon.OrganizationNumber] : []; diff --git a/src/Pages/Hovedside/ManglerKofuviAlert.tsx b/src/Pages/Hovedside/ManglerKofuviAlert.tsx index 378771d3d..16e402880 100644 --- a/src/Pages/Hovedside/ManglerKofuviAlert.tsx +++ b/src/Pages/Hovedside/ManglerKofuviAlert.tsx @@ -1,7 +1,7 @@ import { z } from 'zod'; import useSWR from 'swr'; -import { useContext, useEffect, useState } from 'react'; -import { OrganisasjonsDetaljerContext } from '../OrganisasjonDetaljerProvider'; +import { useEffect, useState } from 'react'; +import { useOrganisasjonsDetaljerContext } from '../OrganisasjonDetaljerProvider'; import { Alert, Heading } from '@navikt/ds-react'; import { LenkeMedLogging } from '../../GeneriskeElementer/LenkeMedLogging'; import { erDriftsforstyrrelse } from '../../utils/util'; @@ -54,7 +54,7 @@ const fallbackData: VarslingStatus = { }; const manglerKofuviAlert = (): VarslingStatus => { - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); const [retries, setRetries] = useState(0); const { data } = useSWR( valgtOrganisasjon !== undefined diff --git a/src/Pages/Hovedside/ManglerKontonummerAlert.tsx b/src/Pages/Hovedside/ManglerKontonummerAlert.tsx index 0bcd013b1..19d04e63d 100644 --- a/src/Pages/Hovedside/ManglerKontonummerAlert.tsx +++ b/src/Pages/Hovedside/ManglerKontonummerAlert.tsx @@ -1,7 +1,7 @@ import { z } from 'zod'; import useSWR from 'swr'; -import { useContext, useEffect, useState } from 'react'; -import { OrganisasjonsDetaljerContext } from '../OrganisasjonDetaljerProvider'; +import { useEffect, useState } from 'react'; +import { useOrganisasjonsDetaljerContext } from '../OrganisasjonDetaljerProvider'; import { Alert, Heading } from '@navikt/ds-react'; import { LenkeMedLogging } from '../../GeneriskeElementer/LenkeMedLogging'; import { erDriftsforstyrrelse } from '../../utils/util'; @@ -10,7 +10,7 @@ import amplitude from '../../utils/amplitude'; export const ManglerKontonummerAlert = () => { const kontonummerStatus = manglerKontonummerAlert(); - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); const kanEndreKontonummer = valgtOrganisasjon?.altinntilgang.endreBankkontonummerForRefusjoner ?? false; @@ -74,7 +74,7 @@ const fallbackData: KontonummerStatus = { }; const manglerKontonummerAlert = (): KontonummerStatus => { - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); const [retries, setRetries] = useState(0); const { data } = useSWR( valgtOrganisasjon !== undefined diff --git a/src/Pages/Hovedside/NyttigForDegContainer/Bedriftsinfoknapp/Bedriftsinfoknapp.tsx b/src/Pages/Hovedside/NyttigForDegContainer/Bedriftsinfoknapp/Bedriftsinfoknapp.tsx index 68de5a002..6638d4738 100644 --- a/src/Pages/Hovedside/NyttigForDegContainer/Bedriftsinfoknapp/Bedriftsinfoknapp.tsx +++ b/src/Pages/Hovedside/NyttigForDegContainer/Bedriftsinfoknapp/Bedriftsinfoknapp.tsx @@ -1,12 +1,12 @@ -import React, { useContext } from 'react'; -import { OrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; +import React from 'react'; +import { useOrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; import bedriftinfoikon from './infoombedriftikon.svg'; import './Bedriftsinfoknapp.css'; import { InternalLenkepanelMedLogging } from '../../../../GeneriskeElementer/LenkepanelMedLogging'; import { TittelMedIkon } from '../../../../GeneriskeElementer/TittelMedIkon'; const Bedriftsinfoknapp = () => { - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); if (valgtOrganisasjon === undefined) { return null; diff --git a/src/Pages/Hovedside/NyttigForDegContainer/NyttigForDegContainer.tsx b/src/Pages/Hovedside/NyttigForDegContainer/NyttigForDegContainer.tsx index 6e90d0b7a..53427bb48 100644 --- a/src/Pages/Hovedside/NyttigForDegContainer/NyttigForDegContainer.tsx +++ b/src/Pages/Hovedside/NyttigForDegContainer/NyttigForDegContainer.tsx @@ -1,10 +1,10 @@ -import React, { useContext } from 'react'; -import { OrganisasjonsDetaljerContext } from '../../OrganisasjonDetaljerProvider'; +import React from 'react'; +import { useOrganisasjonsDetaljerContext } from '../../OrganisasjonDetaljerProvider'; import Bedriftsinfoknapp from './Bedriftsinfoknapp/Bedriftsinfoknapp'; import './NyttigForDegContainer.css'; const NyttigForDegContainer = () => { - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); return (
diff --git a/src/Pages/Hovedside/SisteSaker.tsx b/src/Pages/Hovedside/SisteSaker.tsx index d755739c7..74bc6676e 100644 --- a/src/Pages/Hovedside/SisteSaker.tsx +++ b/src/Pages/Hovedside/SisteSaker.tsx @@ -1,13 +1,13 @@ -import React, { useContext, useEffect } from 'react'; +import React, { useEffect } from 'react'; import { useLocation } from 'react-router-dom'; -import { OrganisasjonsDetaljerContext } from '../OrganisasjonDetaljerProvider'; +import { useOrganisasjonsDetaljerContext } from '../OrganisasjonDetaljerProvider'; import './SisteSaker.css'; import { useSaker } from '../Saksoversikt/useSaker'; import amplitude from '../../utils/amplitude'; import { Heading, Tag } from '@navikt/ds-react'; import { useSessionStateForside } from '../Saksoversikt/useOversiktSessionStorage'; import { SakSortering } from '../../api/graphql-types'; -import { OrganisasjonerOgTilgangerContext } from '../OrganisasjonerOgTilgangerProvider'; +import { useOrganisasjonerOgTilgangerContext } from '../OrganisasjonerOgTilgangerProvider'; import { Set } from 'immutable'; import { InternalLenkepanelMedLogging } from '../../GeneriskeElementer/LenkepanelMedLogging'; @@ -33,10 +33,8 @@ const Saksikon = () => ( ); const SisteSaker = () => { - const { valgtOrganisasjon, antallSakerForAlleBedrifter } = useContext( - OrganisasjonsDetaljerContext - ); - const { organisasjoner } = useContext(OrganisasjonerOgTilgangerContext); + const { valgtOrganisasjon, antallSakerForAlleBedrifter } = useOrganisasjonsDetaljerContext(); + const { organisasjoner } = useOrganisasjonerOgTilgangerContext(); const location = useLocation(); const { loading, data } = useSaker(0, { diff --git "a/src/Pages/Hovedside/S\303\270knaderOgSkjemaer.tsx" "b/src/Pages/Hovedside/S\303\270knaderOgSkjemaer.tsx" index ce69f1bfc..18e7fcad7 100644 --- "a/src/Pages/Hovedside/S\303\270knaderOgSkjemaer.tsx" +++ "b/src/Pages/Hovedside/S\303\270knaderOgSkjemaer.tsx" @@ -1,10 +1,9 @@ -import React, { useContext } from 'react'; +import React from 'react'; import { lenkeTilPermitteringOgMasseoppsigelsesSkjema, skjemaForArbeidsgiverURL, } from '../../lenker'; import './SøknaderOgSkjemaer.css'; -import { OrganisasjonsDetaljerContext } from '../OrganisasjonDetaljerProvider'; import { LenkeMedLogging } from '../../GeneriskeElementer/LenkeMedLogging'; import { InternalLenkepanelMedLogging, @@ -14,9 +13,10 @@ import { altinnskjema, AltinnskjemaId, altinntjeneste } from '../../altinn/tjene import { HoyreChevron } from '../../GeneriskeElementer/HoyreChevron'; import { Heading } from '@navikt/ds-react'; import { gittMiljo } from '../../utils/environment'; +import { useOrganisasjonsDetaljerContext } from '../OrganisasjonDetaljerProvider'; export const SøknaderOgSkjemaer = () => { - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); const tilgangInntektsmelding = valgtOrganisasjon?.altinntilgang?.inntektsmelding; const tilgangYrkesskade = valgtOrganisasjon?.altinntilgang?.yrkesskade; if (valgtOrganisasjon === undefined) { @@ -102,19 +102,16 @@ export const SøknaderOgSkjemaer = () => { }) ) : null} - {tilgangInntektsmelding === true - ?
  • + {tilgangInntektsmelding === true ? ( +
  • Inntektsmelding sykepenger
  • - : null - } + ) : null} {altinnSkjemaLenke('inntektsmelding')} {altinnSkjemaLenke('ekspertbistand')} {altinnSkjemaLenke('utsendtArbeidstakerEØS')} diff --git a/src/Pages/Hovedside/Tjenestebokser/Arbeidsforhold/Arbeidsforhold.tsx b/src/Pages/Hovedside/Tjenestebokser/Arbeidsforhold/Arbeidsforhold.tsx index d1a894f9b..5bc321073 100644 --- a/src/Pages/Hovedside/Tjenestebokser/Arbeidsforhold/Arbeidsforhold.tsx +++ b/src/Pages/Hovedside/Tjenestebokser/Arbeidsforhold/Arbeidsforhold.tsx @@ -1,17 +1,16 @@ -import React, { useContext } from 'react'; +import React from 'react'; import { innsynAaregURL } from '../../../../lenker'; import arbeidsforholdikon from './arbeidsforhold-ikon.svg'; import { useAntallArbeidsforholdFraAareg } from './useAntallArbeidsforholdFraAareg'; import './Arbeidsforhold.css'; import { StortTall, Tjenesteboks } from '../Tjenesteboks'; -import { OrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; +import { useOrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; const Arbeidsforhold = () => { const antallArbeidsforhold = useAntallArbeidsforholdFraAareg(); const orgnr = - useContext(OrganisasjonsDetaljerContext).valgtOrganisasjon?.organisasjon - .OrganizationNumber ?? ''; + useOrganisasjonsDetaljerContext().valgtOrganisasjon?.organisasjon.OrganizationNumber ?? ''; const href = innsynAaregURL + (orgnr === '' ? '' : `?bedrift=${orgnr}`); return ( @@ -19,7 +18,7 @@ const Arbeidsforhold = () => { ikon={arbeidsforholdikon} href={href} tittel="Arbeidsforhold" - aria-label="Arbeidsforhold. Se arbeidsforhold rapportert til Arbeidsgiver- og arbeidstakerregisteret (Aa-registeret)" + aria-label={`Arbeidsforhold, ${antallArbeidsforhold > 0 ? antallArbeidsforhold : 'Ingen'} arbeidsforhold (aktive og avsluttede). Se arbeidsforhold rapportert til Arbeidsgiver- og arbeidstakerregisteret (Aa-registeret)`} >
    diff --git a/src/Pages/Hovedside/Tjenestebokser/Arbeidsforhold/useAntallArbeidsforholdFraAareg.ts b/src/Pages/Hovedside/Tjenestebokser/Arbeidsforhold/useAntallArbeidsforholdFraAareg.ts index e464096e8..1c9f0bd23 100644 --- a/src/Pages/Hovedside/Tjenestebokser/Arbeidsforhold/useAntallArbeidsforholdFraAareg.ts +++ b/src/Pages/Hovedside/Tjenestebokser/Arbeidsforhold/useAntallArbeidsforholdFraAareg.ts @@ -1,11 +1,11 @@ import { z } from 'zod'; import useSWR from 'swr'; -import { useContext, useState } from 'react'; -import { OrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; +import { useState } from 'react'; +import { useOrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; import { erDriftsforstyrrelse } from '../../../../utils/util'; export const useAntallArbeidsforholdFraAareg = (): number => { - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); const [retries, setRetries] = useState(0); const { data } = useSWR( valgtOrganisasjon !== undefined diff --git a/src/Pages/Hovedside/Tjenestebokser/Arbeidsplassen/Arbeidsplassen.tsx b/src/Pages/Hovedside/Tjenestebokser/Arbeidsplassen/Arbeidsplassen.tsx index f31459cc4..ad1b6c6f3 100644 --- a/src/Pages/Hovedside/Tjenestebokser/Arbeidsplassen/Arbeidsplassen.tsx +++ b/src/Pages/Hovedside/Tjenestebokser/Arbeidsplassen/Arbeidsplassen.tsx @@ -5,8 +5,7 @@ import './Arbeidsplassen.css'; import { StortTall, Tjenesteboks } from '../Tjenesteboks'; import { z } from 'zod'; import useSWR from 'swr'; -import { useContext } from 'react'; -import { OrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; +import { useOrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; import { erDriftsforstyrrelse } from '../../../../utils/util'; const Arbeidsplassen = () => { @@ -20,8 +19,8 @@ const Arbeidsplassen = () => { aria-label={ 'Rekruttere på arbeidsplassen.no, ' + (antallAnnonser > 0 - ? `Stillingsannonser ( ${antallAnnonser} aktive)` - : 'Lag ny stillingsannonse') + ? `${antallAnnonser} Stillingsannonser aktive` + : 'Lag en stillingsannonse') } > {antallAnnonser > 0 ? ( @@ -48,7 +47,7 @@ const PamStatusAnnonser = z.object({ }); const useAntallannonser = () => { - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); const orgnr = valgtOrganisasjon?.organisasjon?.OrganizationNumber; const [retries, setRetries] = useState(0); diff --git "a/src/Pages/Hovedside/Tjenestebokser/ForebyggeFrav\303\246r/ForebyggeFrav\303\246r.tsx" "b/src/Pages/Hovedside/Tjenestebokser/ForebyggeFrav\303\246r/ForebyggeFrav\303\246r.tsx" index f8d3875d5..398d8071d 100644 --- "a/src/Pages/Hovedside/Tjenestebokser/ForebyggeFrav\303\246r/ForebyggeFrav\303\246r.tsx" +++ "b/src/Pages/Hovedside/Tjenestebokser/ForebyggeFrav\303\246r/ForebyggeFrav\303\246r.tsx" @@ -1,34 +1,20 @@ import { lenkeTilForebyggefravar } from '../../../../lenker'; -import React, { useContext } from 'react'; +import React from 'react'; import ForebyggeFraværIkon from './ForebyggeFraværIkon.svg'; import { useSykefravær } from './useSykefravær'; import { StortTall, Tjenesteboks } from '../Tjenesteboks'; -import { OrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; +import { useOrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; const ForebyggeFravR = () => { const valgtbedrift = () => { const orgnr = - useContext(OrganisasjonsDetaljerContext).valgtOrganisasjon?.organisasjon - .OrganizationNumber ?? ''; + useOrganisasjonsDetaljerContext().valgtOrganisasjon?.organisasjon.OrganizationNumber ?? + ''; return orgnr === '' ? '' : `?bedrift=${orgnr}`; }; - return ( - - - - ); -}; - -const beskrivelse = 'Verktøy for å forebygge fravær i din virksomhet.'; - -const Beskrivelse = () => { + const sykefravær = useSykefravær(); const statistikktype = (type: string) => { switch (type) { case 'NÆRING': @@ -39,21 +25,33 @@ const Beskrivelse = () => { } }; - const sykefravær = useSykefravær(); + const beskrivelse = 'Verktøy for å forebygge fravær i din virksomhet.'; + const aria_label = + sykefravær !== undefined + ? `${sykefravær.prosent.toString()} % legemeldt sykefravær i din ${statistikktype(sykefravær.type)}. Lag en plan for å redusere fraværet.` + : beskrivelse; - if (sykefravær !== undefined) { - return ( - - {sykefravær.prosent.toString()} % - <> - {' '} - legemeldt sykefravær i din {statistikktype(sykefravær.type)}. Lag en plan for å - redusere fraværet.{' '} - - - ); - } - return {beskrivelse}; + return ( + + {sykefravær !== undefined ? ( + + {sykefravær.prosent.toString()} % + <> + {' '} + legemeldt sykefravær i din {statistikktype(sykefravær.type)}. Lag en plan + for å redusere fraværet.{' '} + + + ) : ( + {beskrivelse} + )} + + ); }; export default ForebyggeFravR; diff --git "a/src/Pages/Hovedside/Tjenestebokser/ForebyggeFrav\303\246r/useSykefrav\303\246r.ts" "b/src/Pages/Hovedside/Tjenestebokser/ForebyggeFrav\303\246r/useSykefrav\303\246r.ts" index 4e86af61d..7ec748aef 100644 --- "a/src/Pages/Hovedside/Tjenestebokser/ForebyggeFrav\303\246r/useSykefrav\303\246r.ts" +++ "b/src/Pages/Hovedside/Tjenestebokser/ForebyggeFrav\303\246r/useSykefrav\303\246r.ts" @@ -1,7 +1,7 @@ import { z } from 'zod'; import useSWR from 'swr'; -import { useContext, useState } from 'react'; -import { OrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; +import { useState } from 'react'; +import { useOrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; import { erDriftsforstyrrelse } from '../../../../utils/util'; const Sykefraværsrespons = z.object({ @@ -13,7 +13,7 @@ const Sykefraværsrespons = z.object({ export type Sykefraværsrespons = z.infer; export const useSykefravær = (): Sykefraværsrespons | undefined => { - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); const [retries, setRetries] = useState(0); const { data } = useSWR( valgtOrganisasjon !== undefined diff --git a/src/Pages/Hovedside/Tjenestebokser/Kandidatlister/Kandidatlister.tsx b/src/Pages/Hovedside/Tjenestebokser/Kandidatlister/Kandidatlister.tsx index 8acdc300d..adf438912 100644 --- a/src/Pages/Hovedside/Tjenestebokser/Kandidatlister/Kandidatlister.tsx +++ b/src/Pages/Hovedside/Tjenestebokser/Kandidatlister/Kandidatlister.tsx @@ -1,17 +1,16 @@ -import React, { useContext } from 'react'; +import React from 'react'; import { kandidatlisteURL } from '../../../../lenker'; import { Tjenesteboks } from '../Tjenesteboks'; import { useAntallKandidater } from './useAntallKandidater'; import ikon from './kandidatlisteboks-ikon.svg'; import './Kandidatlister.css'; -import { OrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; +import { useOrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; const Kandidatlister = () => { const antallKandidater = useAntallKandidater(); const orgnr = - useContext(OrganisasjonsDetaljerContext).valgtOrganisasjon?.organisasjon - .OrganizationNumber ?? ''; + useOrganisasjonsDetaljerContext().valgtOrganisasjon?.organisasjon.OrganizationNumber ?? ''; const href = kandidatlisteURL + (orgnr === '' ? '' : `?virksomhet=${orgnr}`); @@ -20,7 +19,7 @@ const Kandidatlister = () => { ikon={ikon} href={href} tittel="Kandidater til dine stillinger" - aria-label="Kandidater til dine stillinger. Se CV til personer NAV har sendt deg." + aria-label={`Kandidater til dine stillinger (${antallKandidater} kandidater). Se CV til personer NAV har sendt deg.`} >
    diff --git a/src/Pages/Hovedside/Tjenestebokser/Kandidatlister/useAntallKandidater.ts b/src/Pages/Hovedside/Tjenestebokser/Kandidatlister/useAntallKandidater.ts index 5c9e29045..cd95464f4 100644 --- a/src/Pages/Hovedside/Tjenestebokser/Kandidatlister/useAntallKandidater.ts +++ b/src/Pages/Hovedside/Tjenestebokser/Kandidatlister/useAntallKandidater.ts @@ -1,11 +1,11 @@ import { z } from 'zod'; -import { useContext, useState } from 'react'; -import { OrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; +import { useState } from 'react'; +import { useOrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; import useSWR from 'swr'; import { erDriftsforstyrrelse } from '../../../../utils/util'; export const useAntallKandidater = (): number => { - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); const [retries, setRetries] = useState(0); const { data } = useSWR( diff --git a/src/Pages/Hovedside/Tjenestebokser/Sykmeldte/Sykmeldte.tsx b/src/Pages/Hovedside/Tjenestebokser/Sykmeldte/Sykmeldte.tsx index cc1c8dd29..5d125e035 100644 --- a/src/Pages/Hovedside/Tjenestebokser/Sykmeldte/Sykmeldte.tsx +++ b/src/Pages/Hovedside/Tjenestebokser/Sykmeldte/Sykmeldte.tsx @@ -1,11 +1,11 @@ -import React, { useContext } from 'react'; +import React from 'react'; import { syfoURL } from '../../../../lenker'; import syfoikon from './Sykmeldte.svg'; import { StortTall, Tjenesteboks } from '../Tjenesteboks'; -import { OrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; +import { useOrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; const Sykmeldte = () => { - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); const antallSykmeldte = valgtOrganisasjon?.antallSykmeldte ?? 0; const orgnr = valgtOrganisasjon?.organisasjon?.OrganizationNumber; const url = orgnr !== undefined && orgnr !== '' ? `${syfoURL}?bedrift=${orgnr}` : syfoURL; @@ -14,7 +14,7 @@ const Sykmeldte = () => { ikon={syfoikon} href={url} tittel="Sykmeldte" - aria-label="Se sykmeldte du har ansvar for å følge opp" + aria-label={`Sykemeldte, ${antallSykmeldte} ${antallSykmeldte === 1 ? 'sykmeldt' : 'sykmeldte'}. Se sykmeldte du har ansvar for å følge opp`} > {antallSykmeldte == 0 ? null : ( <> diff --git a/src/Pages/Hovedside/Tjenestebokser/TiltakAvtaler/TiltakAvtaler.tsx b/src/Pages/Hovedside/Tjenestebokser/TiltakAvtaler/TiltakAvtaler.tsx index a35c8258a..08df28213 100644 --- a/src/Pages/Hovedside/Tjenestebokser/TiltakAvtaler/TiltakAvtaler.tsx +++ b/src/Pages/Hovedside/Tjenestebokser/TiltakAvtaler/TiltakAvtaler.tsx @@ -1,6 +1,6 @@ -import React, { useContext } from 'react'; +import React from 'react'; import { tiltaksgjennomforingURL } from '../../../../lenker'; -import { OrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; +import { useOrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; import './TiltakAvtaler.css'; import tiltakikon from './TiltakAvtaler.svg'; import { Avtalenavn, useAvtaleoversikt } from './useAvtaleoversikt'; @@ -26,7 +26,7 @@ const displayorder: Avtalenavn[] = [ ]; const TiltakAvtaler = () => { - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); const orgnr = valgtOrganisasjon?.organisasjon?.OrganizationNumber; const avtaler = useAvtaleoversikt(); @@ -45,15 +45,18 @@ const TiltakAvtaler = () => { : []; }); + const aria_label = + 'Avtaler om Tiltak.' + + displayorder.flatMap((avtaletype) => { + const antall = avtaler[avtaletype]; + return antall > 0 ? ` ${antall} ${displayname[avtaletype]}` : ''; + }); return (
    {tallElems.length > 0 ? ( diff --git a/src/Pages/Hovedside/Tjenestebokser/TiltakAvtaler/useAvtaleoversikt.ts b/src/Pages/Hovedside/Tjenestebokser/TiltakAvtaler/useAvtaleoversikt.ts index b2419a22d..659063bf8 100644 --- a/src/Pages/Hovedside/Tjenestebokser/TiltakAvtaler/useAvtaleoversikt.ts +++ b/src/Pages/Hovedside/Tjenestebokser/TiltakAvtaler/useAvtaleoversikt.ts @@ -1,5 +1,5 @@ -import { useContext, useMemo, useState } from 'react'; -import { OrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; +import { useMemo, useState } from 'react'; +import { useOrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; import useSWR from 'swr'; import { z } from 'zod'; import { count, erDriftsforstyrrelse } from '../../../../utils/util'; @@ -16,7 +16,7 @@ export type Avtaleoversikt = { export type Avtalenavn = keyof Avtaleoversikt; export const useAvtaleoversikt = (): Avtaleoversikt => { - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); const [retries, setRetries] = useState(0); const { data: avtaler } = useSWR( valgtOrganisasjon !== undefined diff --git a/src/Pages/Hovedside/Tjenestebokser/TiltakRefusjoner/TiltakRefusjoner.tsx b/src/Pages/Hovedside/Tjenestebokser/TiltakRefusjoner/TiltakRefusjoner.tsx index ee8f8287c..6458cb6f2 100644 --- a/src/Pages/Hovedside/Tjenestebokser/TiltakRefusjoner/TiltakRefusjoner.tsx +++ b/src/Pages/Hovedside/Tjenestebokser/TiltakRefusjoner/TiltakRefusjoner.tsx @@ -1,11 +1,11 @@ -import React, { useContext } from 'react'; +import React from 'react'; import { refosoURL } from '../../../../lenker'; import tiltakrefusjonikon from './TiltakRefusjoner.svg'; import { StortTall, Tjenesteboks } from '../Tjenesteboks'; -import { OrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; +import { useOrganisasjonsDetaljerContext } from '../../../OrganisasjonDetaljerProvider'; const TiltakRefusjoner = () => { - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); if (valgtOrganisasjon === undefined) { return null; } @@ -17,12 +17,18 @@ const TiltakRefusjoner = () => { const klareForInnsending = valgtOrganisasjon.refusjonstatus['KLAR_FOR_INNSENDING']; + const aria_label = + klareForInnsending === undefined + ? 'Søk og se refusjon for lønnstilskudd og sommerjobb' + : `${klareForInnsending} refusjoner klare for innsending.` + ' Søk og se refusjon'; + + console.log(aria_label); return ( {klareForInnsending === undefined ? null : ( <> diff --git a/src/Pages/Hovedside/Tjenestebokser/Tjenestebokser.tsx b/src/Pages/Hovedside/Tjenestebokser/Tjenestebokser.tsx index d22f6d47f..09c4300ff 100644 --- a/src/Pages/Hovedside/Tjenestebokser/Tjenestebokser.tsx +++ b/src/Pages/Hovedside/Tjenestebokser/Tjenestebokser.tsx @@ -1,5 +1,5 @@ -import React, { FunctionComponent, useContext, useEffect } from 'react'; -import { OrganisasjonsDetaljerContext } from '../../OrganisasjonDetaljerProvider'; +import React, { FunctionComponent, useEffect } from 'react'; +import { useOrganisasjonsDetaljerContext } from '../../OrganisasjonDetaljerProvider'; import Arbeidsforhold from './Arbeidsforhold/Arbeidsforhold'; import Sykmeldte from './Sykmeldte/Sykmeldte'; import Arbeidsplassen from './Arbeidsplassen/Arbeidsplassen'; @@ -22,7 +22,7 @@ const Bokser = { type TjenesteBoks = keyof typeof Bokser; const TjenesteboksContainer: FunctionComponent = () => { - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); if (valgtOrganisasjon === undefined) { return null; diff --git a/src/Pages/OmVirksomheten/Kontaktinfo.tsx b/src/Pages/OmVirksomheten/Kontaktinfo.tsx index 9cdb3e7ef..3ecc82c16 100644 --- a/src/Pages/OmVirksomheten/Kontaktinfo.tsx +++ b/src/Pages/OmVirksomheten/Kontaktinfo.tsx @@ -1,10 +1,10 @@ import { z } from 'zod'; -import { useContext, useId, useState } from 'react'; +import { useId, useState } from 'react'; import useSWR from 'swr'; import { Alert, BodyShort, Heading, HelpText, Label } from '@navikt/ds-react'; import { LenkeMedLogging } from '../../GeneriskeElementer/LenkeMedLogging'; import './Kontaktinfo.css'; -import { OrganisasjonsDetaljerContext } from '../OrganisasjonDetaljerProvider'; +import { useOrganisasjonsDetaljerContext } from '../OrganisasjonDetaljerProvider'; import NyFaneIkon from './NyFaneIkon'; import { erDriftsforstyrrelse } from '../../utils/util'; import { Hovedenhet } from '../../api/enhetsregisteretApi'; @@ -35,8 +35,8 @@ const fetcher = async ({ url, orgnr }: { url: string; orgnr: string }) => { }; const useKontaktinfo = () => { - const orgnr = useContext(OrganisasjonsDetaljerContext).valgtOrganisasjon?.organisasjon - ?.OrganizationNumber; + const orgnr = + useOrganisasjonsDetaljerContext().valgtOrganisasjon?.organisasjon?.OrganizationNumber; const [retries, setRetries] = useState(0); const { data: kontaktinfo } = useSWR( diff --git a/src/Pages/OmVirksomheten/OmVirksomheten.tsx b/src/Pages/OmVirksomheten/OmVirksomheten.tsx index 52ba4904e..b288e071e 100644 --- a/src/Pages/OmVirksomheten/OmVirksomheten.tsx +++ b/src/Pages/OmVirksomheten/OmVirksomheten.tsx @@ -1,5 +1,5 @@ -import React, { FunctionComponent, useContext } from 'react'; -import { OrganisasjonsDetaljerContext } from '../OrganisasjonDetaljerProvider'; +import React, { FunctionComponent } from 'react'; +import { useOrganisasjonsDetaljerContext } from '../OrganisasjonDetaljerProvider'; import { useOverordnetEnhet, useUnderenhet } from '../../api/enhetsregisteretApi'; import Underenhet from './Underenhet'; import OverordnetEnhet from './OverordnetEnhet'; @@ -11,7 +11,7 @@ const Kontaktpanel = ({ children }: { children: React.ReactNode }) => ( ); const OmVirksomheten: FunctionComponent = () => { - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); const vnr = valgtOrganisasjon?.organisasjon.OrganizationNumber; const orgnr = valgtOrganisasjon?.organisasjon.ParentOrganizationNumber; diff --git a/src/Pages/OrganisasjonDetaljerProvider.tsx b/src/Pages/OrganisasjonDetaljerProvider.tsx index 4e13c42ff..d80defcc9 100644 --- a/src/Pages/OrganisasjonDetaljerProvider.tsx +++ b/src/Pages/OrganisasjonDetaljerProvider.tsx @@ -1,7 +1,7 @@ import React, { FunctionComponent, useContext, useEffect, useState } from 'react'; import { - OrganisasjonerOgTilgangerContext, OrganisasjonInfo, + useOrganisasjonerOgTilgangerContext, } from './OrganisasjonerOgTilgangerProvider'; import { useLoggBedriftValgtOgTilganger } from '../utils/funksjonerForAmplitudeLogging'; import { Organisasjon } from '../altinn/organisasjon'; @@ -19,10 +19,20 @@ export type Context = { antallSakerForAlleBedrifter: number | undefined; }; -export const OrganisasjonsDetaljerContext = React.createContext({} as Context); +const OrganisasjonsDetaljerContext = React.createContext(undefined); + +export const useOrganisasjonsDetaljerContext = () => { + const context = useContext(OrganisasjonsDetaljerContext); + if (context === undefined) { + throw new Error( + 'useOrganisasjonsDetaljerContext må brukes innenfor en OrganisasjonsDetaljerProvider' + ); + } + return context; +} export const OrganisasjonsDetaljerProvider: FunctionComponent = ({ children }: Props) => { - const { organisasjoner } = useContext(OrganisasjonerOgTilgangerContext); + const { organisasjoner } = useOrganisasjonerOgTilgangerContext(); const [valgtOrganisasjon, setValgtOrganisasjon] = useState( organisasjoner[sessionStorage.getItem('bedrift') ?? ''] ); diff --git a/src/Pages/OrganisasjonerOgTilgangerProvider.tsx b/src/Pages/OrganisasjonerOgTilgangerProvider.tsx index a9259733d..61aabcb27 100644 --- a/src/Pages/OrganisasjonerOgTilgangerProvider.tsx +++ b/src/Pages/OrganisasjonerOgTilgangerProvider.tsx @@ -46,7 +46,15 @@ export type Context = { childrenMap: Map>; }; -export const OrganisasjonerOgTilgangerContext = React.createContext({} as Context); +const OrganisasjonerOgTilgangerContext = React.createContext(undefined); + +export const useOrganisasjonerOgTilgangerContext = () => { + const organisasjonerOgTilgangerContext = useContext(OrganisasjonerOgTilgangerContext); + if (organisasjonerOgTilgangerContext === undefined) { + throw new Error('OrganisasjonerOgTilgangerContext må brukes inne i en OrganisasjonerOgTilgangerProvider'); + } + return organisasjonerOgTilgangerContext; +} const useBeregnAltinnTilgangssøknad = (): | Record> diff --git a/src/Pages/Saksoversikt/FilterChips.tsx b/src/Pages/Saksoversikt/FilterChips.tsx index 12ffa273c..a3c86a938 100644 --- a/src/Pages/Saksoversikt/FilterChips.tsx +++ b/src/Pages/Saksoversikt/FilterChips.tsx @@ -7,7 +7,9 @@ import { amplitudeChipClick } from './Saksoversikt'; import { Organisasjon } from '../../altinn/organisasjon'; import { count } from '../../utils/util'; import { Filter, State } from './useOversiktStateTransitions'; -import { OrganisasjonerOgTilgangerContext } from '../OrganisasjonerOgTilgangerProvider'; +import { + useOrganisasjonerOgTilgangerContext, +} from '../OrganisasjonerOgTilgangerProvider'; import { Collapse, Expand } from '@navikt/ds-icons'; export type FilterChipsProps = { @@ -16,7 +18,7 @@ export type FilterChipsProps = { }; export const FilterChips = ({ state, byttFilter }: FilterChipsProps) => { - const { organisasjonstre, childrenMap } = useContext(OrganisasjonerOgTilgangerContext); + const { organisasjonstre, childrenMap } = useOrganisasjonerOgTilgangerContext(); const onTømAlleFilter = () => { byttFilter({ diff --git a/src/Pages/Saksoversikt/Saksfilter/Saksfilter.tsx b/src/Pages/Saksoversikt/Saksfilter/Saksfilter.tsx index 8a5767bd8..7bc1356d9 100644 --- a/src/Pages/Saksoversikt/Saksfilter/Saksfilter.tsx +++ b/src/Pages/Saksoversikt/Saksfilter/Saksfilter.tsx @@ -1,4 +1,4 @@ -import React, { FC, useContext, useEffect, useRef, useState } from 'react'; +import React, { FC, useEffect, useRef, useState } from 'react'; import './Saksfilter.css'; import { Virksomhetsmeny } from './Virksomhetsmeny/Virksomhetsmeny'; import { Søkeboks } from './Søkeboks'; @@ -6,10 +6,15 @@ import { Filter } from '../useOversiktStateTransitions'; import { Ekspanderbartpanel } from '../../../GeneriskeElementer/Ekspanderbartpanel'; import { BodyShort, Checkbox, CheckboxGroup, Heading, Label } from '@navikt/ds-react'; import { Filter as FilterIkon } from '@navikt/ds-icons'; -import { OppgaveTilstand, OppgaveTilstandInfo, Sakstype, SakstypeOverordnet } from '../../../api/graphql-types'; +import { + OppgaveTilstand, + OppgaveTilstandInfo, + Sakstype, + SakstypeOverordnet, +} from '../../../api/graphql-types'; import { capitalize, sorted, splittListe } from '../../../utils/util'; import { Set } from 'immutable'; -import { OrganisasjonerOgTilgangerContext } from '../../OrganisasjonerOgTilgangerProvider'; +import { useOrganisasjonerOgTilgangerContext } from '../../OrganisasjonerOgTilgangerProvider'; import amplitude from '../../../utils/amplitude'; import { LenkeMedLogging } from '../../../GeneriskeElementer/LenkeMedLogging'; import { opprettInntektsmeldingURL } from '../../../lenker'; @@ -45,7 +50,7 @@ const KollapsHvisMobil: FC = ({ }: KollapsHvisMobilProps) => { if (width < 730) { return ( - }> + ); @@ -82,10 +87,12 @@ function sakstyperMedAntall( ?.antall ?? 0, })); - const [sakstyperMedInntektsmeldingSykepenger, sakstyperUtenInntektsmeldingSykepenger] = splittListe( - sakstyperForFilter, - (filter) => filter.navn === 'Inntektsmelding' || filter.navn === 'Inntektsmelding sykepenger' - ); + const [sakstyperMedInntektsmeldingSykepenger, sakstyperUtenInntektsmeldingSykepenger] = + splittListe( + sakstyperForFilter, + (filter) => + filter.navn === 'Inntektsmelding' || filter.navn === 'Inntektsmelding sykepenger' + ); const antallInntektsmeldingSykepenger = sakstyperForFilter .filter(({ navn }) => navn === 'Inntektsmelding' || navn === 'Inntektsmelding sykepenger') @@ -214,7 +221,7 @@ export const Saksfilter = ({ alleSakstyper, }: SaksfilterProps) => { const [width, setWidth] = useState(window.innerWidth); - const { organisasjonstre } = useContext(OrganisasjonerOgTilgangerContext); + const { organisasjonstre } = useOrganisasjonerOgTilgangerContext(); useEffect(() => { const setSize = () => setWidth(window.innerWidth); @@ -231,7 +238,10 @@ export const Saksfilter = ({ const sakstyperForFilter = sakstyperMedAntall(alleSakstyper, sakstypeinfo); - const [inntektsmeldingSakstyper, sakstyperUtenInntektsmelding] = splittListe(sakstyperForFilter, (filter) => filter.navn.includes('Inntektsmelding')); + const [inntektsmeldingSakstyper, sakstyperUtenInntektsmelding] = splittListe( + sakstyperForFilter, + (filter) => filter.navn.includes('Inntektsmelding') + ); const sakstyper = [ ...sakstyperUtenInntektsmelding, @@ -303,12 +313,11 @@ export const Saksfilter = ({ )} - - - + +
    @@ -316,7 +325,7 @@ export const Saksfilter = ({ }; const OpprettInntektsmelding = () => { - const { organisasjoner } = useContext(OrganisasjonerOgTilgangerContext); + const { organisasjoner } = useOrganisasjonerOgTilgangerContext(); const tilgangInntektsmelding = Object.values(organisasjoner).some( (org) => org.altinntilgang?.inntektsmelding === true ); @@ -333,23 +342,29 @@ const OpprettInntektsmelding = () => { }, []); if (tilgangInntektsmelding) { - return
    -
    +
    + ); } else { return null; } diff --git a/src/Pages/Saksoversikt/Saksfilter/Virksomhetsmeny/HovedenhetCheckbox.css b/src/Pages/Saksoversikt/Saksfilter/Virksomhetsmeny/HovedenhetCheckbox.css deleted file mode 100644 index 626810c7f..000000000 --- a/src/Pages/Saksoversikt/Saksfilter/Virksomhetsmeny/HovedenhetCheckbox.css +++ /dev/null @@ -1,6 +0,0 @@ -.hovedenhet { - display: flex; - justify-content: flex-start; - gap: 16px; - align-items: flex-start; -} \ No newline at end of file diff --git a/src/Pages/Saksoversikt/Saksfilter/Virksomhetsmeny/HovedenhetCheckbox.tsx b/src/Pages/Saksoversikt/Saksfilter/Virksomhetsmeny/HovedenhetCheckbox.tsx index c6082b1d2..5b973fd12 100644 --- a/src/Pages/Saksoversikt/Saksfilter/Virksomhetsmeny/HovedenhetCheckbox.tsx +++ b/src/Pages/Saksoversikt/Saksfilter/Virksomhetsmeny/HovedenhetCheckbox.tsx @@ -1,6 +1,5 @@ import { BodyShort, Checkbox } from '@navikt/ds-react'; import React from 'react'; -import './HovedenhetCheckbox.css'; import { Set } from 'immutable'; import { Organisasjon } from '../../../../altinn/organisasjon'; import { amplitudeFilterKlikk } from '../Saksfilter'; @@ -14,22 +13,19 @@ export const HovedenhetCheckbox = ({ hovedenhet, valgteOrgnr }: HovedenhetCheckb const valgt = valgteOrgnr.has(hovedenhet.OrganizationNumber); return ( -
    -
    - amplitudeFilterKlikk('organisasjon', 'hovedenhet', e.target)} - > - - {hovedenhet.Name} - - -
    -
    + amplitudeFilterKlikk('organisasjon', 'hovedenhet', e.target)} + > + + {hovedenhet.Name} + + ); }; diff --git a/src/Pages/Saksoversikt/Saksfilter/Virksomhetsmeny/UnderenhetCheckboks.tsx b/src/Pages/Saksoversikt/Saksfilter/Virksomhetsmeny/UnderenhetCheckboks.tsx index 3a57278e1..301f27fc5 100644 --- a/src/Pages/Saksoversikt/Saksfilter/Virksomhetsmeny/UnderenhetCheckboks.tsx +++ b/src/Pages/Saksoversikt/Saksfilter/Virksomhetsmeny/UnderenhetCheckboks.tsx @@ -11,11 +11,6 @@ type UnderenhetCheckboksProps = { export const UnderenhetCheckboks = ({ underenhet, valgteOrgnr }: UnderenhetCheckboksProps) => { return ( -
    -
    + ); }; diff --git a/src/Pages/Saksoversikt/Saksfilter/Virksomhetsmeny/Virksomhetsmeny.tsx b/src/Pages/Saksoversikt/Saksfilter/Virksomhetsmeny/Virksomhetsmeny.tsx index 7f96c0ae9..25f063866 100644 --- a/src/Pages/Saksoversikt/Saksfilter/Virksomhetsmeny/Virksomhetsmeny.tsx +++ b/src/Pages/Saksoversikt/Saksfilter/Virksomhetsmeny/Virksomhetsmeny.tsx @@ -1,5 +1,5 @@ -import React, { forwardRef, ReactNode, useContext, useMemo, useState } from 'react'; -import { CheckboxGroup, Search } from '@navikt/ds-react'; +import React, { ReactNode, useMemo, useState } from 'react'; +import { CheckboxGroup, Label, Search } from '@navikt/ds-react'; import './Virksomhetsmeny.css'; import { UnderenhetCheckboks } from './UnderenhetCheckboks'; import { HovedenhetCheckbox } from './HovedenhetCheckbox'; @@ -7,7 +7,7 @@ import fuzzysort from 'fuzzysort'; import { sum } from '../../../../utils/util'; import amplitude from '../../../../utils/amplitude'; import { Map, Set } from 'immutable'; -import { OrganisasjonerOgTilgangerContext } from '../../../OrganisasjonerOgTilgangerProvider'; +import { useOrganisasjonerOgTilgangerContext } from '../../../OrganisasjonerOgTilgangerProvider'; export type VirksomhetsmenyProps = { valgteEnheter: Set; @@ -18,7 +18,7 @@ export const Virksomhetsmeny = ({ valgteEnheter: valgteEnheterInput, setValgteEnheter, }: VirksomhetsmenyProps) => { - const { organisasjonstre, childrenMap } = useContext(OrganisasjonerOgTilgangerContext); + const { organisasjonstre, childrenMap } = useOrganisasjonerOgTilgangerContext(); const alleOrganisasjoner = useMemo( () => organisasjonstre.flatMap(({ hovedenhet, underenheter }) => @@ -116,8 +116,10 @@ export const Virksomhetsmeny = ({ return ( <> + +
  • { }; export const Saksoversikt = () => { - const { organisasjoner } = useContext(OrganisasjonerOgTilgangerContext); + const { organisasjoner } = useOrganisasjonerOgTilgangerContext(); // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions const orgs = organisasjoner ? Record.mapToArray(organisasjoner, (orgnr, { organisasjon }) => organisasjon) diff --git a/src/Pages/Saksoversikt/useOversiktSessionStorage.ts b/src/Pages/Saksoversikt/useOversiktSessionStorage.ts index 8907c50d6..b9b2d23b1 100644 --- a/src/Pages/Saksoversikt/useOversiktSessionStorage.ts +++ b/src/Pages/Saksoversikt/useOversiktSessionStorage.ts @@ -1,10 +1,10 @@ // Store copy of oversikts-filter in sessionStorage -import { useContext, useEffect, useMemo, useState } from 'react'; +import { useEffect, useMemo, useState } from 'react'; import { useSearchParams } from 'react-router-dom'; import { useSessionStorage } from '../../hooks/useStorage'; import { equalAsSets, Filter } from './useOversiktStateTransitions'; -import { OrganisasjonsDetaljerContext } from '../OrganisasjonDetaljerProvider'; +import { useOrganisasjonsDetaljerContext } from '../OrganisasjonDetaljerProvider'; import { OppgaveTilstand, SakSortering } from '../../api/graphql-types'; import { Set } from 'immutable'; import { Organisasjon } from '../../altinn/organisasjon'; @@ -82,7 +82,7 @@ export const equalSessionState = (a: SessionState, b: SessionState): boolean => }; export const useSessionStateForside = (): void => { - const { valgtOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { valgtOrganisasjon } = useOrganisasjonsDetaljerContext(); const [_, setSessionState] = useSessionStorage(SESSION_STORAGE_KEY, { route: '/' }); const bedrift = valgtOrganisasjon?.organisasjon?.OrganizationNumber; diff --git a/src/Pages/Saksoversikt/useSaker.tsx b/src/Pages/Saksoversikt/useSaker.tsx index b82462788..6a0ebe98d 100644 --- a/src/Pages/Saksoversikt/useSaker.tsx +++ b/src/Pages/Saksoversikt/useSaker.tsx @@ -6,7 +6,7 @@ import { Filter } from './useOversiktStateTransitions'; import { Set } from 'immutable'; import { OrganisasjonEnhet, - OrganisasjonerOgTilgangerContext, + useOrganisasjonerOgTilgangerContext, } from '../OrganisasjonerOgTilgangerProvider'; import { ServerError } from '@apollo/client/link/utils'; @@ -148,7 +148,7 @@ export function useSaker( pageSize: number, { side, tekstsoek, virksomheter, sortering, sakstyper, oppgaveTilstand }: Filter ) { - const { organisasjonstre } = useContext(OrganisasjonerOgTilgangerContext); + const { organisasjonstre } = useOrganisasjonerOgTilgangerContext(); const virksomhetsnumre = useMemo( () => beregnVirksomhetsnummer(organisasjonstre, virksomheter), diff --git a/src/mocks/brukerApi/alleNotifikasjoner.ts b/src/mocks/brukerApi/alleNotifikasjoner.ts index 48e83e6b6..1fafb315b 100644 --- a/src/mocks/brukerApi/alleNotifikasjoner.ts +++ b/src/mocks/brukerApi/alleNotifikasjoner.ts @@ -2,6 +2,24 @@ import { KalenderavtaleTilstand, OppgaveTilstand } from '../../api/graphql-types import { beskjed, dateInPast, kalenderavtale, oppgave } from './helpers'; export const alleNotifikasjoner = [ + beskjed({ + tekst: "Oppfølgingsplan til godkjenning", + sakTittel: "", + klikketPaa: false, + lenke: "https://demo.ekstern.dev.nav.no/syk/oppfolgingsplaner/arbeidsgiver/123" + }), + oppgave({ + tekst: 'Du er innkalt til dialogmøte - vi trenger svaret ditt', + klikketPaa: false, + tilstand: OppgaveTilstand.Ny, + lenke: 'https://demo.ekstern.dev.nav.no/syk/dialogmoter/arbeidsgiver/123', + }), + oppgave({ + tekst: 'Dialogmøtet med NAV er avlyst', + klikketPaa: false, + tilstand: OppgaveTilstand.Ny, + sakTittel: '', + }), oppgave({ tekst: 'Les og godkjenn avtalen for at den skal kunne tas i bruk', klikketPaa: false, diff --git a/src/mocks/brukerApi/helpers.ts b/src/mocks/brukerApi/helpers.ts index e3110c7f6..03ef6c310 100644 --- a/src/mocks/brukerApi/helpers.ts +++ b/src/mocks/brukerApi/helpers.ts @@ -143,6 +143,7 @@ export const oppgave = ({ utgaattTidspunkt, klikketPaa = true, tilleggsinformasjon, + lenke = `#${faker.lorem.word()}`, }: { tekst: string; tilstand?: OppgaveTilstand; @@ -154,6 +155,7 @@ export const oppgave = ({ utgaattTidspunkt?: Date; klikketPaa?: boolean; tilleggsinformasjon?: string; + lenke?: string; }): Oppgave => ({ __typename: 'Oppgave', id: faker.string.uuid(), @@ -173,7 +175,7 @@ export const oppgave = ({ klikketPaa, }, - lenke: `#${faker.lorem.word()}`, + lenke: lenke, merkelapp: merkelapp(), sak: @@ -193,12 +195,14 @@ export const beskjed = ({ opprettetTidspunkt = faker.date.recent(), klikketPaa = true, tilleggsinformasjon, + lenke = `#${faker.lorem.word()}`, }: { tekst: string; sakTittel?: string; opprettetTidspunkt?: Date; klikketPaa?: boolean; tilleggsinformasjon?: string; + lenke?: string, }): Beskjed => ({ __typename: 'Beskjed', id: faker.string.uuid(), @@ -213,7 +217,7 @@ export const beskjed = ({ klikketPaa, }, - lenke: `#${faker.lorem.word()}`, + lenke: lenke, merkelapp: merkelapp(), sak: diff --git a/src/tests/A11y.test.tsx b/src/tests/A11y.test.tsx index 42a84506f..3ada76657 100644 --- a/src/tests/A11y.test.tsx +++ b/src/tests/A11y.test.tsx @@ -1,16 +1,16 @@ -import React, { FC, ReactNode, useContext, useEffect } from 'react'; +import React, { FC, ReactNode, useEffect } from 'react'; import { act, findByTestId, render } from '@testing-library/react'; import { axe } from 'jest-axe'; import Hovedside from '../Pages/Hovedside/Hovedside'; import { SWRConfig } from 'swr'; import { AlertsProvider } from '../Pages/Alerts'; import { - OrganisasjonerOgTilgangerContext, OrganisasjonerOgTilgangerProvider, + useOrganisasjonerOgTilgangerContext, } from '../Pages/OrganisasjonerOgTilgangerProvider'; import { - OrganisasjonsDetaljerContext, OrganisasjonsDetaljerProvider, + useOrganisasjonsDetaljerContext, } from '../Pages/OrganisasjonDetaljerProvider'; import { NotifikasjonWidgetProvider } from '@navikt/arbeidsgiver-notifikasjon-widget'; import { MemoryRouter } from 'react-router-dom'; @@ -39,8 +39,8 @@ describe('Hovedside', () => { }); const MedValgtOrganisasjon: FC<{ children: ReactNode }> = ({ children }) => { - const { organisasjoner } = useContext(OrganisasjonerOgTilgangerContext); - const { valgtOrganisasjon, endreOrganisasjon } = useContext(OrganisasjonsDetaljerContext); + const { organisasjoner } = useOrganisasjonerOgTilgangerContext(); + const { valgtOrganisasjon, endreOrganisasjon } = useOrganisasjonsDetaljerContext(); useEffect(() => { if (valgtOrganisasjon !== undefined) return; diff --git a/src/utils/amplitude.ts b/src/utils/amplitude.ts index 898cd336f..adc3e5f1e 100644 --- a/src/utils/amplitude.ts +++ b/src/utils/amplitude.ts @@ -14,13 +14,10 @@ const createAmpltiudeInstance = (): AmplitudeInstance => { .init(getApiKey(), undefined, { serverUrl: 'https://amplitude.nav.no/collect', useBatch: false, - autocapture: { - attribution: true, - fileDownloads: false, - formInteractions: false, - pageViews: true, - sessions: true, - elementInteractions: false, + autocapture: false, + identityStorage: 'localStorage', + trackingOptions: { + ipAddress: false, }, }) .promise.catch((error) => { diff --git a/src/utils/funksjonerForAmplitudeLogging.ts b/src/utils/funksjonerForAmplitudeLogging.ts index 5eba58037..651ea56c0 100644 --- a/src/utils/funksjonerForAmplitudeLogging.ts +++ b/src/utils/funksjonerForAmplitudeLogging.ts @@ -40,19 +40,19 @@ export const finnBucketForAntall = ( if (!harRegistrertAntallAnsatte) return '0'; //Hvis harRegistrertAntallAnsatte er true og antall er undefined er det 1-4 ansatte - if (antall === undefined) return '1-4'; + if (antall === undefined) return '1 - 4'; switch (true) { case antall < 20: - return '5-19'; + return '5 - 19'; case antall < 50: - return '20-49'; + return '20 - 49'; case antall < 100: - return '50-99'; + return '50 - 99'; case antall < 500: - return '100-499'; + return '100 - 499'; case antall > 500: - return '500>'; + return '500 >'; default: return undefined; }