Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🔥 fjerner soknad-api #153

Merged
merged 1 commit into from
May 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading