diff --git "a/src/arbeidss\303\270kerskjema/SkjemaApp.tsx" "b/src/arbeidss\303\270kerskjema/SkjemaApp.tsx" index d43dd7922..652a67467 100644 --- "a/src/arbeidss\303\270kerskjema/SkjemaApp.tsx" +++ "b/src/arbeidss\303\270kerskjema/SkjemaApp.tsx" @@ -13,6 +13,8 @@ import Kvittering from './steg/3-Kvittering'; import { SkjemaProvider } from './SkjemaContext'; import RedirectArbeidssoker from './routes/RedirectArbeidssoker'; import { Loader } from '@navikt/ds-react'; +import { useToggles } from '../context/TogglesContext'; +import hentToggles from '../toggles/api'; const App = () => { const [autentisert, settAutentisering] = useState(false); @@ -25,9 +27,16 @@ const App = () => { ident, visningsnavn, }; + const { settToggles } = useToggles(); autentiseringsInterceptor(); + const fetchToggles = () => { + return hentToggles(settToggles).catch(() => { + settError(true); + }); + }; + useEffect(() => { verifiserAtBrukerErAutentisert(settAutentisering); }, [autentisert]); @@ -39,6 +48,9 @@ const App = () => { .then((response) => { settIdent(response.ident); settVisningsnavn(response.visningsnavn); + }) + .then(() => { + fetchToggles(); settError(false); settFeilmelding(''); diff --git "a/src/arbeidss\303\270kerskjema/innsending/api.ts" "b/src/arbeidss\303\270kerskjema/innsending/api.ts" index 072ccaa84..e37a19f9a 100644 --- "a/src/arbeidss\303\270kerskjema/innsending/api.ts" +++ "b/src/arbeidss\303\270kerskjema/innsending/api.ts" @@ -12,3 +12,15 @@ export const sendInnSkjema = async (skjema: object) => { ); return response.data; }; + +export const sendInnArbeidssøkerSkjema = async (skjema: object) => { + const response = await axios.post( + `${Environment().apiProxyUrl}/api/soknadskvittering/arbeidssoker`, + skjema, + { + headers: { 'Content-Type': 'application/json;charset=utf-8' }, + withCredentials: true, + } + ); + return response.data; +}; diff --git "a/src/arbeidss\303\270kerskjema/steg/2-Oppsummering.tsx" "b/src/arbeidss\303\270kerskjema/steg/2-Oppsummering.tsx" index 62535fe56..4d6849c9c 100644 --- "a/src/arbeidss\303\270kerskjema/steg/2-Oppsummering.tsx" +++ "b/src/arbeidss\303\270kerskjema/steg/2-Oppsummering.tsx" @@ -12,7 +12,7 @@ import { useSkjema } from '../SkjemaContext'; import { VisLabelOgSvar } from '../../utils/visning'; import { IArbeidssøker } from '../../models/steg/aktivitet/arbeidssøker'; import LenkeMedIkon from '../../components/knapper/LenkeMedIkon'; -import { sendInnSkjema } from '../innsending/api'; +import { sendInnArbeidssøkerSkjema, sendInnSkjema } from '../innsending/api'; import { IStatus } from '../innsending/typer'; import LocaleTekst from '../../language/LocaleTekst'; import SeksjonGruppe from '../../components/gruppe/SeksjonGruppe'; @@ -28,6 +28,8 @@ import { logSidevisningArbeidssokerskjema } from '../../utils/amplitude'; import { useMount } from '../../utils/hooks'; import { useLokalIntlContext } from '../../context/LokalIntlContext'; import { Alert, BodyShort, Button, Heading } from '@navikt/ds-react'; +import { useToggles } from '../../context/TogglesContext'; +import { ToggleName } from '../../models/søknad/toggles'; interface Innsending { status: IStatus; @@ -37,6 +39,7 @@ interface Innsending { const Oppsummering: React.FC = () => { const location = useLocation(); + const { toggles } = useToggles(); const navigate = useNavigate(); const intl = useLokalIntlContext(); const { skjema, settSkjema } = useSkjema(); @@ -57,32 +60,40 @@ const Oppsummering: React.FC = () => { useMount(() => logSidevisningArbeidssokerskjema('Oppsummering')); + const sendInnArbeidssøkerSkjemaOgNavigerVidere = async ( + mappetSkjema: Record + ) => { + const brukModernisertFlyt = toggles[ToggleName.visNyInnsendingsknapp]; + try { + const kvittering = brukModernisertFlyt + ? await sendInnArbeidssøkerSkjema(mappetSkjema) + : await sendInnSkjema(mappetSkjema); + + settinnsendingState({ + ...innsendingState, + status: IStatus.SUKSESS, + melding: `Vi har kontakt: ${kvittering.text}`, + venter: false, + }); + settSkjema({ + ...skjema, + innsendingsdato: parseISO(kvittering.mottattDato), + }); + navigate(nesteRoute.path); + } catch (e) { + settinnsendingState({ + ...innsendingState, + status: IStatus.FEILET, + melding: `Noe gikk galt: ${e}`, + venter: false, + }); + } + }; + const sendSkjema = (arbeidssøker: IArbeidssøker) => { const mappetSkjema = mapDataTilLabelOgVerdiTyper(arbeidssøker); - settinnsendingState({ ...innsendingState, venter: true }); - sendInnSkjema(mappetSkjema) - .then((kvittering) => { - settinnsendingState({ - ...innsendingState, - status: IStatus.SUKSESS, - melding: `Vi har kontakt: ${kvittering.text}`, - venter: false, - }); - settSkjema({ - ...skjema, - innsendingsdato: parseISO(kvittering.mottattDato), - }); - navigate(nesteRoute.path); - }) - .catch((e) => - settinnsendingState({ - ...innsendingState, - status: IStatus.FEILET, - melding: `Noe gikk galt: ${e}`, - venter: false, - }) - ); + sendInnArbeidssøkerSkjemaOgNavigerVidere(mappetSkjema); }; return (