Skip to content

Commit

Permalink
Mentor fix (#1218)
Browse files Browse the repository at this point in the history
* Lagt inn del lenke igjen siden vi må kunne varsle mentor

* lagt til ny tekst og gjordt at det bare kan sendes til mentor i SendVarselModal
  • Loading branch information
MagnusRom authored May 15, 2024
1 parent 2de053e commit 9e8c8d0
Show file tree
Hide file tree
Showing 8 changed files with 210 additions and 1 deletion.
15 changes: 15 additions & 0 deletions src/AvtaleSide/DelLenkeTilAvtalen/DelLenkeTilAvtalen.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
.lenkedeling {
&__link {
display: flex;
}

&__ikon {
display: inline-block;
margin-right: 0.45rem;
margin-bottom: -0.1rem;
}

@media print {
display: none;
}
}
27 changes: 27 additions & 0 deletions src/AvtaleSide/DelLenkeTilAvtalen/DelLenkeTilAvtalen.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import ShareIkon from '@/assets/ikoner/del-lenke.svg?react';
import SendVarselModal from '@/AvtaleSide/DelLenkeTilAvtalen/SendVarselModal';
import { Link } from '@navikt/ds-react';
import React, { FunctionComponent, useState } from 'react';
import './DelLenkeTilAvtalen.less';
import BEMHelper from '@/utils/bem';

const DelLenkeTilAvtalen: FunctionComponent = () => {
const cls = BEMHelper('lenkedeling');
const [isOpen, setOpen] = useState<boolean>(false);

return (
<>
<Link onClick={() => setOpen(true)} href="#" role="menuitem" className={cls.element('link')}>
<div aria-hidden={true}>
<ShareIkon className={cls.element('ikon')} />
</div>
Del lenke til avtalen
</Link>
<div aria-hidden={!isOpen}>
<SendVarselModal isOpen={isOpen} lukkModal={() => setOpen(false)} />
</div>
</>
);
};

export default DelLenkeTilAvtalen;
57 changes: 57 additions & 0 deletions src/AvtaleSide/DelLenkeTilAvtalen/SendVarselModal.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
@import (reference) '../../tiltak_variabler.less';

.kopierlenke {
&__modal {
max-width: 46rem;
padding: 4rem 1.5rem;
}

&__innholdstittel {
margin: 1rem 0 2rem 0;
}

&__undertittel {
margin-top: 2rem;
}

&__lenke {
width: 100%;
margin-bottom: 1rem;
word-break: break-all;
}

&__lenkedeling {
display: flex;
flex-direction: column;
align-items: center;
}

&__kopierKnapp {
width: 11rem;
align-self: center;
}
}

@media (min-width: @screen-sm-min) {
.kopierlenke {
&__lenke {
margin-bottom: 0.7rem;
margin-right: 1rem;
font-size: 1.2rem;
}

&__lenkedeling {
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
}

&__undertittel {
width: 25rem;
}

&__modal {
padding: 4rem 3rem;
}
}
}
82 changes: 82 additions & 0 deletions src/AvtaleSide/DelLenkeTilAvtalen/SendVarselModal.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
import { AvtaleContext } from '@/AvtaleProvider';
import LagreKnapp from '@/komponenter/LagreKnapp/LagreKnapp';
import VerticalSpacer from '@/komponenter/layout/VerticalSpacer';
import { pathTilOversiktISelvbetjeningProd } from '@/paths';
import { delAvtaleMedAvtalepart } from '@/services/rest-service';
import BEMHelper from '@/utils/bem';
import { Heading, Link, Modal, Button, BodyLong, List } from '@navikt/ds-react';
import React, { useContext } from 'react';
import { copyTextToClipboard } from '@/utils/copyTextToClipboard';
import './SendVarselModal.less';

interface Props {
isOpen: boolean;
lukkModal: () => void;
}

const cls = BEMHelper('kopierlenke');

const SendVarselModal: React.FunctionComponent<Props> = (props) => {
const { avtale } = useContext(AvtaleContext);

return (
<Modal
className={cls.element('modal')}
aria-label="Del lenke modal"
open={props.isOpen}
onClose={() => props.lukkModal()}
aria-modal={props.isOpen}
>
<Modal.Header>
<Heading level="2" size="medium">
Del lenke til avtalen med mentor
</Heading>
</Modal.Header>
<Modal.Body>
<VerticalSpacer rem={1} />
<List>
<List.Item>
Lenke til avtalen kan sendes på SMS til mentor hvis telefonnummer er registrert i avtalen
</List.Item>
<List.Item>Arbeidsgiver får automatisk varsling på Min side Arbeidsgiver</List.Item>
<List.Item>Deltaker får vaslinger på Min side Personbruker</List.Item>
<List.Item>
Hvis det er ønskelig å sende lenke til avtalen via andre kanaler, for eksempel aktivitetsplanen
eller e-post, er det adressen under som må benyttes.
</List.Item>
</List>
<VerticalSpacer rem={2} />
<Heading level="2" size="small">
Send lenke på SMS
</Heading>
<VerticalSpacer rem={1} />
<LagreKnapp
label="Send til mentor"
lagre={() => delAvtaleMedAvtalepart(avtale.id, 'MENTOR')}
suksessmelding="SMS sendt til mentor"
variant={'primary'}
/>
<VerticalSpacer rem={1.5} />

<Heading level="2" size="small">
Send lenke manuelt
</Heading>
<div className={cls.element('lenkedeling')}>
<div className={cls.element('lenke')}>
<Link href={pathTilOversiktISelvbetjeningProd}>{pathTilOversiktISelvbetjeningProd}</Link>
</div>
<Button
variant="secondary"
size="small"
className={cls.element('kopierKnapp')}
onClick={() => copyTextToClipboard(pathTilOversiktISelvbetjeningProd)}
>
Kopier lenke
</Button>
</div>
</Modal.Body>
</Modal>
);
};

export default SendVarselModal;
3 changes: 2 additions & 1 deletion src/AvtaleSide/Oppgavelinje/OppgaveLenker.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import EndreMaal from '../steg/GodkjenningSteg/endringAvAvtaleInnhold/EndreMaal/
import EndreOppfølgingOgTilrettelegging from '../steg/GodkjenningSteg/endringAvAvtaleInnhold/endreOppfølgingOgTilrettelegging/EndreOppfølgingOgTilrettelegging';
import EndreStillingbeskrivelse from '../steg/GodkjenningSteg/endringAvAvtaleInnhold/endreStillingbeskrivelse/EndreStillingbeskrivelse';
import './OppgaveLenker.css';
import DelLenkeTilAvtalen from '../DelLenkeTilAvtalen/DelLenkeTilAvtalen';

const OppgaveLenker: React.FunctionComponent = () => {
const { avtale } = useContext(AvtaleContext);
Expand All @@ -42,7 +43,7 @@ const OppgaveLenker: React.FunctionComponent = () => {
<div className="modelLenker">
<OvertaAvtalen forskjelligNavIdent={!erNavIdenterLike} erUfordelt={avtale.erUfordelt} />
<AnnullerAvtalen />

{avtale.tiltakstype === 'MENTOR' && <DelLenkeTilAvtalen />}
{avtale.godkjentAvVeileder !== null && (
<>
<EndreKontaktInformasjon />
Expand Down
15 changes: 15 additions & 0 deletions src/komponenter/NyttIAppen/nyheter.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,21 @@ const tilDato = (dag: number, måned: number, år: number, timer: number = 0, mi
new Date(år, måned - 1, dag, timer, minutter);

const nyheter = [
{
dato: tilDato(15, 5, 2024),
tittel: 'Vi har gjordt det enklere å se statusene på avtalen og fjernet muligheten til å sende sms manuelt',
innhold: (
<>
<p>Lagt til ny statusvisning som gjør det lettere å se statusene mens man er i avtalen.</p>
<p>Vi har også fjernet mulighet for å manuelt sende sms til deltaker og arbeidsgiver.</p>
<ul>
<li>Arbeidsgiver får automatisk varsling på Min side Arbeidsgiver</li>
<li>Deltaker får automatisk varsling på Min side Personbruker</li>
<li>Det vil fortsatt være mulig å sende sms til mentor i en mentor avtale</li>
</ul>
</>
),
},
{
dato: tilDato(15, 1, 2024),
tittel: 'Varsling av deltakere endret',
Expand Down
8 changes: 8 additions & 0 deletions src/paths.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,14 @@ export const pathTilOpprettAvtale = '/opprett-avtale';

export const pathTilOpprettAvtaleArbeidsgiver = '/opprett-avtale-arbeidsgiver';

export const pathTilOpprettAvtaleFullfortVeileder = (avtaleId: string) =>
`/opprett-avtale-fullfort-veileder/${avtaleId}`;

export const pathTilOpprettAvtaleFullfortArbeidsgiver = (avtaleId: string) =>
`/opprett-avtale-fullfort-arbeidsgiver/${avtaleId}`;

export const pathTilOversiktISelvbetjeningProd = `https://arbeidsgiver.nav.no${basename}`;

export const inkludereIArbeidslivetLenke = 'https://www.nav.no/arbeidsgiver/inkludere';

export const pathTilAvtale = (avtaleId: string, rolle: Rolle = 'INGEN_ROLLE'): string =>
Expand Down
4 changes: 4 additions & 0 deletions src/services/rest-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -364,6 +364,10 @@ export const hentFeatureTogglesVarianter = async (featureToggles: Feature[]): Pr
return response.data;
};

export const delAvtaleMedAvtalepart = async (avtaleId: string, rolle: Rolle): Promise<void> => {
await api.post(`/avtaler/${avtaleId}/del-med-avtalepart`, JSON.stringify(rolle));
};

export const oppdatereKostnadsstedet = async (avtaleId: string, kostnadssted: Kostnadssted): Promise<Avtale> => {
const response = await api.post(`avtaler/${avtaleId}/endre-kostnadssted`, JSON.stringify(kostnadssted));
return response.data;
Expand Down

0 comments on commit 9e8c8d0

Please sign in to comment.