Skip to content

Commit

Permalink
🔥 bytter ut søker med person og fjerner api endepunkter til soknad-api (
Browse files Browse the repository at this point in the history
  • Loading branch information
tidnav authored May 23, 2024
1 parent cd944c3 commit e2b5d1d
Show file tree
Hide file tree
Showing 18 changed files with 64 additions and 297 deletions.
13 changes: 7 additions & 6 deletions components/pageComponents/standard/Kvittering/Kvittering.tsx
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
import { Alert, BodyLong, BodyShort, Button, Heading, Link } from '@navikt/ds-react';
import React from 'react';
import * as classes from './Kvittering.module.css';
import { KontaktInfoView, SøkerView } from 'context/sokerOppslagContext';
import { SuccessStroke } from '@navikt/ds-icons';
import { clientSideIsProd, isFunctionalTest } from 'utils/environments';
import { FormattedMessage, useIntl } from 'react-intl';
import { KrrKontaktInfo } from 'pages/api/oppslag/krr';
import { Person } from 'pages/api/oppslagapi/person';

interface StudentProps {
søker: SøkerView;
kontaktinformasjon?: KontaktInfoView;
interface Props {
person: Person;
kontaktinformasjon?: KrrKontaktInfo;
}

const Kvittering = ({ søker, kontaktinformasjon }: StudentProps) => {
const Kvittering = ({ person, kontaktinformasjon }: Props) => {
const { formatMessage } = useIntl();

const mineAapUrl = () => {
Expand Down Expand Up @@ -39,7 +40,7 @@ const Kvittering = ({ søker, kontaktinformasjon }: StudentProps) => {
aria-hidden={true}
/>
<Heading size={'large'} level={'2'}>
<FormattedMessage id={'søknad.kvittering.title'} values={{ navn: søker?.fulltNavn }} />
<FormattedMessage id={'søknad.kvittering.title'} values={{ navn: person?.navn }} />
</Heading>
<Alert variant={'success'}>
<BodyLong>{formatMessage({ id: 'søknad.kvittering.alert.text' })}</BodyLong>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,17 +48,19 @@ import { useFormErrors } from 'hooks/FormErrorHook';
import { setFocusOnErrorSummary } from 'components/schema/FormErrorSummary';
import { useSoknad } from 'hooks/SoknadHook';
import { updateSøknadData } from 'context/soknadcontext/actions';
import { KontaktInfoView } from 'context/sokerOppslagContext';
import { OppsummeringBarn } from 'components/pageComponents/standard/Oppsummering/OppsummeringBarn/OppsummeringBarn';
// eslint-disable-next-line max-len
import { OppsummeringManuelleBarn } from 'components/pageComponents/standard/Oppsummering/OppsummeringBarn/OppsummeringManuelleBarn';
import { Person } from 'pages/api/oppslagapi/person';
import { KrrKontaktInfo } from 'pages/api/oppslag/krr';

interface OppsummeringProps {
onBackClick: () => void;
onSubmitSoknad: () => Promise<boolean>;
submitErrorMessageRef: React.MutableRefObject<null>;
hasSubmitError: boolean;
kontaktinformasjon: KontaktInfoView | null;
kontaktinformasjon: KrrKontaktInfo | null;
person: Person;
}

const Oppsummering = ({
Expand All @@ -67,6 +69,7 @@ const Oppsummering = ({
submitErrorMessageRef,
hasSubmitError,
kontaktinformasjon,
person,
}: OppsummeringProps) => {
const { formatMessage } = useIntl();
const [nextIsLoading, setNextIsLoading] = useState<boolean>(false);
Expand Down Expand Up @@ -181,7 +184,7 @@ const Oppsummering = ({
showEdit={false}
toggleAll={toggleAll}
>
<OppsummeringKontaktinfo kontaktinformasjon={kontaktinformasjon} />
<OppsummeringKontaktinfo kontaktinformasjon={kontaktinformasjon} person={person} />
</AccordianItemOppsummering>
<AccordianItemOppsummering
title={formatMessage({ id: 'søknad.oppsummering.startDato.title' })}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,28 +1,29 @@
import React from 'react';
import { BodyShort, Label, Link, ReadMore } from '@navikt/ds-react';
import { KontaktInfoView, useSokerOppslag } from 'context/sokerOppslagContext';
import { formatTelefonnummer } from 'utils/StringFormatters';
import { FormattedMessage, useIntl } from 'react-intl';
import { Person } from 'pages/api/oppslagapi/person';
import { KrrKontaktInfo } from 'pages/api/oppslag/krr';

type Props = {
kontaktinformasjon: KontaktInfoView | null;
kontaktinformasjon: KrrKontaktInfo | null;
person: Person;
};
const OppsummeringKontaktinfo = ({ kontaktinformasjon }: Props) => {
const OppsummeringKontaktinfo = ({ kontaktinformasjon, person }: Props) => {
const { formatMessage } = useIntl();

const { søker } = useSokerOppslag();
return (
<>
<div>
<Label>{formatMessage({ id: 'søknad.oppsummering.contactInformation.navn' })}</Label>
<BodyShort>{søker?.fulltNavn}</BodyShort>
<BodyShort>{person?.navn}</BodyShort>
</div>
{søker?.fullAdresse && (
{person?.adresse && (
<div>
<Label>
{formatMessage({ id: 'søknad.oppsummering.contactInformation.adresse.label' })}
</Label>
<BodyShort>{søker?.fullAdresse}</BodyShort>
<BodyShort>{person.adresse}</BodyShort>
<ReadMore
header={formatMessage({
id: 'søknad.oppsummering.contactInformation.adresse.readMore.title',
Expand Down
9 changes: 4 additions & 5 deletions components/pageComponents/standard/Steg0/Steg0.tsx
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
import { IntroduksjonTekst } from 'components/IntroduksjonTekst/IntroduksjonTekst';
import { SokerOppslagState } from 'context/sokerOppslagContext';
import { getFulltNavn } from 'lib/søker';
import * as classes from './Steg0.module.css';
import { BodyShort, Label } from '@navikt/ds-react';
import { SuccessColored } from '@navikt/ds-icons';
import { useIntl } from 'react-intl';
import SøknadFormWrapper from 'components/SoknadFormWrapper/SoknadFormWrapper';
import { Person } from 'pages/api/oppslagapi/person';

interface Props {
onNext: () => void;
søker: SokerOppslagState;
person: Person;
}

export const Steg0 = ({ onNext, søker }: Props) => {
export const Steg0 = ({ onNext, person }: Props) => {
const { formatMessage } = useIntl();

return (
Expand All @@ -21,7 +20,7 @@ export const Steg0 = ({ onNext, søker }: Props) => {
onNext={onNext}
nextButtonText={formatMessage({ id: 'navigation.next' })}
>
<IntroduksjonTekst navn={getFulltNavn(søker.søker)} />
<IntroduksjonTekst navn={person?.navn} />

<div>
<Label as="p" spacing>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ describe('Veiledning', () => {
<>
<Veiledning
onSubmit={jest.fn()}
søker={{}}
errorMessageRef={dummyRef}
hasError={false}
isLoading={false}
Expand All @@ -29,7 +28,7 @@ describe('Veiledning', () => {
},
});
expect(
screen.queryByText('Du må bekrefte at du vil gi så riktige opplysninger som mulig.')
screen.queryByText('Du må bekrefte at du vil gi så riktige opplysninger som mulig.'),
).toBeNull();
});
it('UU', async () => {
Expand Down
10 changes: 5 additions & 5 deletions components/pageComponents/standard/Veiledning/Veiledning.tsx
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
import { Alert, Button, ConfirmationPanel, Heading, Label } from '@navikt/ds-react';
import { SøkerView } from 'context/sokerOppslagContext';
import * as classes from './Veiledning.module.css';
import { IntroduksjonTekst } from '../../../IntroduksjonTekst/IntroduksjonTekst';
import { FormattedMessage, useIntl } from 'react-intl';
import { FormEvent, useRef, useState } from 'react';
import { Person } from 'pages/api/oppslagapi/person';

interface VeiledningProps {
søker: SøkerView;
person?: Person;
isLoading: boolean;
hasError: boolean;
errorMessageRef: React.MutableRefObject<HTMLDivElement | null>;
onSubmit: () => void;
}
export const Veiledning = ({
søker,
person,
isLoading,
hasError,
errorMessageRef,
Expand All @@ -27,7 +27,7 @@ export const Veiledning = ({
event.preventDefault();
if (!confirmRef.current?.checked) {
setErrorMessage(
formatMessage({ id: 'søknad.veiledning.veiledningConfirm.validation.required' })
formatMessage({ id: 'søknad.veiledning.veiledningConfirm.validation.required' }),
);
return;
}
Expand Down Expand Up @@ -56,7 +56,7 @@ export const Veiledning = ({
)}
</div>

<IntroduksjonTekst navn={søker.fulltNavn} />
<IntroduksjonTekst navn={person?.navn} />

<form onSubmit={(event) => handleSubmit(event)} autoComplete="off">
<ConfirmationPanel
Expand Down
109 changes: 0 additions & 109 deletions context/sokerOppslagContext.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,3 @@
import React, { createContext, Dispatch, ReactNode, useReducer, useContext, useMemo } from 'react';
import { formatNavn, formatFullAdresse } from 'utils/StringFormatters';
import { Fastlege } from 'pages/api/oppslag/fastlege';

interface DispatchSokerOppslagAction {
payload?: any;
error?: any;
type: 'SET_SOKER_OPPSLAG';
}

/** @deprecated Backend sender fult navn som string */
export type Navn = {
fornavn: string;
Expand All @@ -25,12 +15,6 @@ export type Adresse = {
};
};

export type OppslagBarn = {
navn: Navn;
fødselsdato: string;
fnr: string;
};

/**
* @deprecated - erstattet av Fastlege
*/
Expand All @@ -46,96 +30,3 @@ export interface OppslagBehandler {
adresse: Adresse;
};
}
export type Soker = {
navn: Navn;
fødseldato: string;
adresse: Adresse;
barn: Array<OppslagBarn>;
};

export type SøkerView = {
fulltNavn?: string;
fullAdresse?: string;
fødselsnummer?: string;
};
export type KontaktInfoView = {
epost?: string;
mobil?: string;
};
export type SokerOppslagState = {
søker: Soker;
behandlere: Fastlege[];
kontaktinformasjon?: KontaktInfoView;
};
const søkerOppslagInitialValue = {
barn: [],
};
type SokerOppslagContextState = {
oppslagDispatch: Dispatch<DispatchSokerOppslagAction>;
søker: SøkerView;
kontaktInfo?: KontaktInfoView;
};
const SokerOppslagContext = createContext<SokerOppslagContextState | undefined>(undefined);

function stateReducer(state: SokerOppslagState, action: DispatchSokerOppslagAction) {
switch (action.type) {
case 'SET_SOKER_OPPSLAG': {
return { ...state, ...action.payload };
}
default: {
throw new Error(`Unhandled action type: ${action.type}`);
}
}
}
interface Props {
children: ReactNode;
}
function SokerOppslagProvider({ children }: Props) {
const [state, dispatch] = useReducer(stateReducer, søkerOppslagInitialValue);
const søker: SøkerView | undefined = useMemo(
() => ({
fulltNavn: formatNavn(state?.søker?.navn),
fullAdresse: state?.søker?.adresse ? formatFullAdresse(state?.søker?.adresse) : '',
fødselsnummer: state?.søker?.fødselsnummer,
}),
[state],
);
const kontaktInfo: KontaktInfoView | undefined = useMemo(
() => ({
epost: state?.kontaktinformasjon?.epost,
mobil: state?.kontaktinformasjon?.mobil,
}),
[state],
);
const contextValue = useMemo(() => {
return {
oppslagDispatch: dispatch,
søker,
kontaktInfo,
};
}, [state, dispatch]);
return (
<SokerOppslagContext.Provider value={contextValue}>{children}</SokerOppslagContext.Provider>
);
}

export const setSokerOppslagFraProps = (
oppslag: SokerOppslagState,
dispatch: Dispatch<DispatchSokerOppslagAction>,
) => {
dispatch({
type: 'SET_SOKER_OPPSLAG',
payload: oppslag,
});
return oppslag;
};

function useSokerOppslag() {
const context = useContext(SokerOppslagContext);
if (context === undefined) {
throw new Error('useRegisterOppslag must be used within a RegisterOppslagProvider');
}
return context;
}

export { SokerOppslagProvider, useSokerOppslag };
5 changes: 0 additions & 5 deletions lib/søker.ts

This file was deleted.

33 changes: 0 additions & 33 deletions lib/utils/TokenxProxy.ts

This file was deleted.

4 changes: 2 additions & 2 deletions mock/krr.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { KontaktInfoView } from 'context/sokerOppslagContext';
import { KrrKontaktInfo } from 'pages/api/oppslag/krr';

export const mockKrr = (): KontaktInfoView => ({
export const mockKrr = (): KrrKontaktInfo => ({
epost: '[email protected]',
mobil: '999 99 999',
});
2 changes: 1 addition & 1 deletion mock/person.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { Person } from 'pages/api/oppslagapi/person';
import { formatDate } from 'utils/date';

export const MockPerson: Person = {
navn: 'Jackie Li',
navn: 'Jackie LiLi',
fnr: '12345678910',
adresse: 'Oslo',
fødseldato: formatDate(sub(new Date(), { years: 30 }), 'yyyy-MM-dd')!,
Expand Down
Loading

0 comments on commit e2b5d1d

Please sign in to comment.