From 9e8b8a4e167af809905663a46fddb5d8e6a8bbf6 Mon Sep 17 00:00:00 2001 From: Sindre Moldeklev Date: Mon, 9 Dec 2024 13:18:28 +0100 Subject: [PATCH] Justering i design for Modia --- .../LokalInformasjonContainer.module.scss | 10 --- .../containers/LokalInformasjonContainer.tsx | 8 +- .../oversikt/ArbeidsmarkedstiltakListItem.tsx | 2 +- .../components/tabs/TiltakDetaljerFane.tsx | 13 ++-- .../src/layouts/TiltakHeader.module.scss | 8 -- .../src/layouts/TiltakHeader.tsx | 40 +++++----- .../fixtures/mockTiltaksgjennomforinger.ts | 11 +-- .../tests/veilederflate.spec.ts | 6 +- .../api/veilederflate/TiltaksnavnUtils.kt | 74 ++++++++----------- .../services/DelMedBrukerService.kt | 2 - .../services/TiltakshistorikkService.kt | 4 +- .../services/VeilederflateService.kt | 1 - .../api/veilederflate/TiltaksnavnUtilsTest.kt | 1 - .../services/DelMedBrukerServiceTest.kt | 2 +- 14 files changed, 74 insertions(+), 108 deletions(-) delete mode 100644 frontend/frontend-common/components/containers/LokalInformasjonContainer.module.scss delete mode 100644 frontend/mulighetsrommet-veileder-flate/src/layouts/TiltakHeader.module.scss diff --git a/frontend/frontend-common/components/containers/LokalInformasjonContainer.module.scss b/frontend/frontend-common/components/containers/LokalInformasjonContainer.module.scss deleted file mode 100644 index 7ff249afc9..0000000000 --- a/frontend/frontend-common/components/containers/LokalInformasjonContainer.module.scss +++ /dev/null @@ -1,10 +0,0 @@ -.lokal_informasjon_container { - background-color: var(--a-gray-100); - margin: 1rem 0 1rem 0; - border-top: 1px solid var(--a-border-divider); - border-bottom: 1px solid var(--a-border-divider); - display: flex; - flex-direction: column; - gap: 0.5rem; - padding: 0.5rem; -} diff --git a/frontend/frontend-common/components/containers/LokalInformasjonContainer.tsx b/frontend/frontend-common/components/containers/LokalInformasjonContainer.tsx index c0631c852f..f6d09c9ff1 100644 --- a/frontend/frontend-common/components/containers/LokalInformasjonContainer.tsx +++ b/frontend/frontend-common/components/containers/LokalInformasjonContainer.tsx @@ -1,6 +1,10 @@ import { PropsWithChildren } from "react"; -import styles from "./LokalInformasjonContainer.module.scss"; +import { Box } from "@navikt/ds-react"; export function LokalInformasjonContainer(props: PropsWithChildren) { - return
{props.children}
; + return ( + + {props.children} + + ); } diff --git a/frontend/mulighetsrommet-veileder-flate/src/components/oversikt/ArbeidsmarkedstiltakListItem.tsx b/frontend/mulighetsrommet-veileder-flate/src/components/oversikt/ArbeidsmarkedstiltakListItem.tsx index 3a96476923..f914043221 100644 --- a/frontend/mulighetsrommet-veileder-flate/src/components/oversikt/ArbeidsmarkedstiltakListItem.tsx +++ b/frontend/mulighetsrommet-veileder-flate/src/components/oversikt/ArbeidsmarkedstiltakListItem.tsx @@ -49,7 +49,7 @@ export function ArbeidsmarkedstiltakListItem({ tiltak, index, delMedBruker }: Pr harDeltMedBruker: styles.list_element_border, })} id={`list_element_${index}`} - data-testid={`tiltaksgjennomforing_${kebabCase(tiltak.tittel)}`} + data-testid={`tiltaksgjennomforing_${kebabCase(tiltak.underTittel)}`} > {datoSidenSistDelt ? ( diff --git a/frontend/mulighetsrommet-veileder-flate/src/components/tabs/TiltakDetaljerFane.tsx b/frontend/mulighetsrommet-veileder-flate/src/components/tabs/TiltakDetaljerFane.tsx index 46e5a934ab..ff9324d516 100644 --- a/frontend/mulighetsrommet-veileder-flate/src/components/tabs/TiltakDetaljerFane.tsx +++ b/frontend/mulighetsrommet-veileder-flate/src/components/tabs/TiltakDetaljerFane.tsx @@ -1,9 +1,9 @@ +import { PortableTextTypedObject } from "@mr/api-client"; +import { LokalInformasjonContainer } from "@mr/frontend-common"; import { Alert, BodyLong, Heading } from "@navikt/ds-react"; +import { RedaksjoneltInnhold } from "../RedaksjoneltInnhold"; import styles from "./TiltakDetaljerFane.module.scss"; import { TiltakDetaljerFaneContainer } from "./TiltakDetaljerFaneContainer"; -import { RedaksjoneltInnhold } from "../RedaksjoneltInnhold"; -import { LokalInformasjonContainer } from "@mr/frontend-common"; -import { PortableTextTypedObject } from "@mr/api-client"; interface DetaljerFaneProps { tiltaksgjennomforingAlert?: string; @@ -25,15 +25,12 @@ export function TiltakDetaljerFane({ !!tiltaksgjennomforingAlert || !!tiltakstypeAlert || !!tiltaksgjennomforing || !!tiltakstype } > - - Generell informasjon - {tiltakstypeAlert && ( {tiltakstypeAlert} )} - + {(tiltaksgjennomforing || tiltaksgjennomforingAlert) && ( @@ -46,7 +43,7 @@ export function TiltakDetaljerFane({ {tiltaksgjennomforingAlert} )} - + diff --git a/frontend/mulighetsrommet-veileder-flate/src/layouts/TiltakHeader.module.scss b/frontend/mulighetsrommet-veileder-flate/src/layouts/TiltakHeader.module.scss deleted file mode 100644 index eb78b05cd9..0000000000 --- a/frontend/mulighetsrommet-veileder-flate/src/layouts/TiltakHeader.module.scss +++ /dev/null @@ -1,8 +0,0 @@ -.tiltaksgjennomforing_title { - margin-bottom: 1rem; -} - -.beskrivelse { - margin: 1rem 0; - color: #3e3832; -} diff --git a/frontend/mulighetsrommet-veileder-flate/src/layouts/TiltakHeader.tsx b/frontend/mulighetsrommet-veileder-flate/src/layouts/TiltakHeader.tsx index 783fa7a358..737bd1e024 100644 --- a/frontend/mulighetsrommet-veileder-flate/src/layouts/TiltakHeader.tsx +++ b/frontend/mulighetsrommet-veileder-flate/src/layouts/TiltakHeader.tsx @@ -1,8 +1,7 @@ import { VeilederflateTiltak } from "@mr/api-client"; import { isTiltakAktivt } from "@/api/queries/useArbeidsmarkedstiltakById"; import { GjennomforingStatusTag } from "@mr/frontend-common"; -import { BodyLong, Heading, HStack, VStack } from "@navikt/ds-react"; -import styles from "./TiltakHeader.module.scss"; +import { BodyLong, BodyShort, Heading, HStack, VStack } from "@navikt/ds-react"; interface Props { tiltak: VeilederflateTiltak; @@ -12,27 +11,32 @@ export function TiltakHeader({ tiltak }: Props) { const { beskrivelse, tiltakstype } = tiltak; return ( <> - - - - {tiltak.tittel} - - {tiltak.underTittel} - - + + + + {tiltak.underTittel} + - {!isTiltakAktivt(tiltak) && } - - {tiltakstype.beskrivelse && ( - - {tiltakstype.beskrivelse} - - )} + + {tiltak.tittel} + {isTiltakAktivt(tiltak) && } + + {beskrivelse && ( - + {beskrivelse} )} + {tiltakstype.beskrivelse && ( + + + Generell info + + + {tiltakstype.beskrivelse} + + + )} ); } diff --git a/frontend/mulighetsrommet-veileder-flate/src/mock/fixtures/mockTiltaksgjennomforinger.ts b/frontend/mulighetsrommet-veileder-flate/src/mock/fixtures/mockTiltaksgjennomforinger.ts index 474be5ee2b..df80449140 100644 --- a/frontend/mulighetsrommet-veileder-flate/src/mock/fixtures/mockTiltaksgjennomforinger.ts +++ b/frontend/mulighetsrommet-veileder-flate/src/mock/fixtures/mockTiltaksgjennomforinger.ts @@ -116,8 +116,8 @@ export const tiltakAvklaring: VeilederflateTiltakGruppe = { export const tiltakMentor: VeilederflateTiltakEnkeltplass = { type: "TILTAK_ENKELTPLASS", sanityId: "91205ff2-ec72-4a7f-80b8-1c99d8535a06", - tittel: "Mentor", - underTittel: "Sindres mentorordning med Yoda", + underTittel: "Mentor", + tittel: "Sindres mentorordning med Yoda", status: TiltaksgjennomforingStatus.GJENNOMFORES, oppstart: TiltaksgjennomforingOppstartstype.LOPENDE, stedForGjennomforing: "Oslo", @@ -169,7 +169,8 @@ export const tiltakAmoGruppe: VeilederflateTiltakGruppe = { ], }, fylke: "0800", - beskrivelse: "Beskrivelse av gruppe amo tiltaket på gjennomføringsnivå.", + beskrivelse: + "Beskrivelse av gruppe amo tiltaket på gjennomføringsnivå. Her kommer det masse spennende informasjon om tiltaket.", kontaktinfo: { tiltaksansvarlige: [ { @@ -348,8 +349,8 @@ export const tiltakVta: VeilederflateTiltakGruppe = { export const tiltakJobbklubb: VeilederflateTiltakGruppe = { type: "TILTAK_GRUPPE", id: "ff887090-1ba8-47a4-a82f-6aaad488994e", - tittel: "Jobbklubb (med Lars Monsen)", - underTittel: "Jobbklubb", + underTittel: "Jobbklubb (med Lars Monsen)", + tittel: "Jobbklubb", status: TiltaksgjennomforingStatus.GJENNOMFORES, stedForGjennomforing: "Kautokeino", apentForPamelding: true, diff --git a/frontend/mulighetsrommet-veileder-flate/tests/veilederflate.spec.ts b/frontend/mulighetsrommet-veileder-flate/tests/veilederflate.spec.ts index d7b2c59d39..bb6f0f90e0 100644 --- a/frontend/mulighetsrommet-veileder-flate/tests/veilederflate.spec.ts +++ b/frontend/mulighetsrommet-veileder-flate/tests/veilederflate.spec.ts @@ -58,9 +58,9 @@ test.describe("Tiltaksoversikt", () => { await expect(rows).toHaveCount(5); await page.getByTestId("filter_sokefelt").fill("Mentor"); await expect(rows).toHaveCount(1); - await expect( - page.getByTestId("tiltaksgjennomforing_mentor"), - ).toContainText("Mentor"); + await expect(page.getByTestId("tiltaksgjennomforing_mentor")).toContainText( + "Sindres mentorordning med Yoda", + ); }); test("Skal vise 'Nullstill filter'-knapp når man filtrerer på innsatsgruppe", async ({ diff --git a/mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/veilederflate/TiltaksnavnUtils.kt b/mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/veilederflate/TiltaksnavnUtils.kt index ac000b5388..18b0e934a7 100644 --- a/mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/veilederflate/TiltaksnavnUtils.kt +++ b/mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/veilederflate/TiltaksnavnUtils.kt @@ -1,59 +1,43 @@ package no.nav.mulighetsrommet.api.veilederflate -import no.nav.mulighetsrommet.domain.Tiltakskode -import no.nav.mulighetsrommet.domain.Tiltakskoder.isKursTiltak - object TiltaksnavnUtils { fun tittelOgUnderTittel( navn: String, tiltakstypeNavn: String, - tiltakskode: Tiltakskode, - ): Pair = if (isKursTiltak(tiltakskode)) { - navn to tiltakstypeNavn - } else { + ): Pair = tiltakstypeNavn to navn - } +} - fun tittelOgUnderTittel( - navn: String, - tiltakstypeNavn: String, - arenaKode: String, - ): Pair = if (arenaKode in listOf("ENKELAMO", "ENKFAGYRKE")) { - navn to tiltakstypeNavn - } else { - tiltakstypeNavn to navn - } - fun String.hosTitleCaseArrangor(arrangor: String?): String { - val casedArrangor = toTitleCase(arrangor ?: "") +fun String.hosTitleCaseArrangor(arrangor: String?): String { + val casedArrangor = toTitleCase(arrangor ?: "") - return "${this}${if (casedArrangor.isNotBlank()) " hos $casedArrangor" else ""}" - } + return "${this}${if (casedArrangor.isNotBlank()) " hos $casedArrangor" else ""}" +} + +private val FORKORTELSER_MED_STORE_BOKSTAVER = listOf( + "as", + "a/s", +) + +private val ORD_MED_SMA_BOKSTAVER = listOf( + "i", + "og", +) + +private fun toTitleCase(tekst: String): String { + return tekst.lowercase().split(Regex("(?<=\\s|-|')")).joinToString("") { + when (it.trim()) { + in FORKORTELSER_MED_STORE_BOKSTAVER -> { + it.uppercase() + } + + in ORD_MED_SMA_BOKSTAVER -> { + it + } - private val FORKORTELSER_MED_STORE_BOKSTAVER = listOf( - "as", - "a/s", - ) - - private val ORD_MED_SMA_BOKSTAVER = listOf( - "i", - "og", - ) - - private fun toTitleCase(tekst: String): String { - return tekst.lowercase().split(Regex("(?<=\\s|-|')")).joinToString("") { - when (it.trim()) { - in FORKORTELSER_MED_STORE_BOKSTAVER -> { - it.uppercase() - } - - in ORD_MED_SMA_BOKSTAVER -> { - it - } - - else -> { - it.replaceFirstChar(Char::uppercaseChar) - } + else -> { + it.replaceFirstChar(Char::uppercaseChar) } } } diff --git a/mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/veilederflate/services/DelMedBrukerService.kt b/mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/veilederflate/services/DelMedBrukerService.kt index a5b9599e53..9b198a3a84 100644 --- a/mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/veilederflate/services/DelMedBrukerService.kt +++ b/mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/veilederflate/services/DelMedBrukerService.kt @@ -172,7 +172,6 @@ class DelMedBrukerService( val (tittel, underTittel) = tittelOgUnderTittel( tiltak.navn, tiltak.tiltakstypeNavn, - tiltak.tiltakskode, ) TiltakDeltMedBruker( @@ -208,7 +207,6 @@ class DelMedBrukerService( val (tittel, underTittel) = tittelOgUnderTittel( tiltak.tiltaksgjennomforingNavn ?: "", tiltak.tiltakstype.tiltakstypeNavn, - arenaKode, ) deltMedBruker.filter { it.sanityId == tiltak._id.toUUID() }.map { diff --git a/mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/veilederflate/services/TiltakshistorikkService.kt b/mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/veilederflate/services/TiltakshistorikkService.kt index 8a3e8f8ce3..603aaa74cf 100644 --- a/mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/veilederflate/services/TiltakshistorikkService.kt +++ b/mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/veilederflate/services/TiltakshistorikkService.kt @@ -11,8 +11,8 @@ import no.nav.mulighetsrommet.api.clients.amtDeltaker.DeltakelserRequest import no.nav.mulighetsrommet.api.clients.pdl.* import no.nav.mulighetsrommet.api.clients.tiltakshistorikk.TiltakshistorikkClient import no.nav.mulighetsrommet.api.tiltakstype.db.TiltakstypeRepository -import no.nav.mulighetsrommet.api.veilederflate.TiltaksnavnUtils.hosTitleCaseArrangor import no.nav.mulighetsrommet.api.veilederflate.TiltaksnavnUtils.tittelOgUnderTittel +import no.nav.mulighetsrommet.api.veilederflate.hosTitleCaseArrangor import no.nav.mulighetsrommet.api.veilederflate.models.Deltakelse import no.nav.mulighetsrommet.domain.dto.* import no.nav.mulighetsrommet.tokenprovider.AccessType @@ -95,7 +95,6 @@ class TiltakshistorikkService( val (tittel) = tittelOgUnderTittel( deltakelse.beskrivelse, tiltakstype.navn, - tiltakstype.arenaKode, ) Deltakelse.DeltakelseArena( id = deltakelse.id, @@ -122,7 +121,6 @@ class TiltakshistorikkService( val (tittel) = tittelOgUnderTittel( deltakelse.gjennomforing.navn, tiltakstype.await().navn, - deltakelse.gjennomforing.tiltakskode, ) Deltakelse.DeltakelseGruppetiltak( id = deltakelse.id, diff --git a/mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/veilederflate/services/VeilederflateService.kt b/mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/veilederflate/services/VeilederflateService.kt index d78a4c68a3..d0a25c549c 100644 --- a/mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/veilederflate/services/VeilederflateService.kt +++ b/mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/veilederflate/services/VeilederflateService.kt @@ -211,7 +211,6 @@ class VeilederflateService( val (tittel, underTittel) = tittelOgUnderTittel( navn = gjennomforing.tiltaksgjennomforingNavn ?: "", tiltakstypeNavn = tiltakstype.navn, - arenaKode = tiltakstypeAdminDto.arenaKode, ) val faneinnhold = gjennomforing.faneinnhold?.copy(delMedBruker = gjennomforing.delingMedBruker) diff --git a/mulighetsrommet-api/src/test/kotlin/no/nav/mulighetsrommet/api/veilederflate/TiltaksnavnUtilsTest.kt b/mulighetsrommet-api/src/test/kotlin/no/nav/mulighetsrommet/api/veilederflate/TiltaksnavnUtilsTest.kt index d98a17afdd..5b33ceca0a 100644 --- a/mulighetsrommet-api/src/test/kotlin/no/nav/mulighetsrommet/api/veilederflate/TiltaksnavnUtilsTest.kt +++ b/mulighetsrommet-api/src/test/kotlin/no/nav/mulighetsrommet/api/veilederflate/TiltaksnavnUtilsTest.kt @@ -3,7 +3,6 @@ package no.nav.mulighetsrommet.api.veilederflate import io.kotest.core.spec.style.FunSpec import io.kotest.matchers.shouldBe import no.nav.mulighetsrommet.api.tiltakstype.model.TiltakstypeDto -import no.nav.mulighetsrommet.api.veilederflate.TiltaksnavnUtils.hosTitleCaseArrangor import no.nav.mulighetsrommet.domain.Tiltakskode import no.nav.mulighetsrommet.domain.dto.TiltakstypeStatus import java.time.LocalDate diff --git a/mulighetsrommet-api/src/test/kotlin/no/nav/mulighetsrommet/api/veilederflate/services/DelMedBrukerServiceTest.kt b/mulighetsrommet-api/src/test/kotlin/no/nav/mulighetsrommet/api/veilederflate/services/DelMedBrukerServiceTest.kt index 898e21301c..f9893d6dba 100644 --- a/mulighetsrommet-api/src/test/kotlin/no/nav/mulighetsrommet/api/veilederflate/services/DelMedBrukerServiceTest.kt +++ b/mulighetsrommet-api/src/test/kotlin/no/nav/mulighetsrommet/api/veilederflate/services/DelMedBrukerServiceTest.kt @@ -196,7 +196,7 @@ class DelMedBrukerServiceTest : FunSpec({ it.shouldNotBeNull() it.size shouldBe 3 it[0].tittel shouldBe "Oppfølging" - it[1].tittel shouldBe "Delt med bruker - Lokalt navn fra Sanity" + it[1].tittel shouldBe "Arbeidsmarkedsopplæring (AMO) enkeltplass" it[2].tittel shouldBe "Arbeidstrening" } }