From 413a6277f4bcfa1a1aa1c6706bb4573fb748ec20 Mon Sep 17 00:00:00 2001 From: Markus Johansen Date: Mon, 31 Jul 2023 14:05:09 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Popup=20er=20byttet=20ut=20mot=20Ak?= =?UTF-8?q?selModal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/CardsContainer.tsx | 18 +-- frontend/src/components/FeilCard.tsx | 125 +++++++-------------- frontend/src/components/FeilModal.tsx | 26 +++++ 3 files changed, 74 insertions(+), 95 deletions(-) create mode 100644 frontend/src/components/FeilModal.tsx diff --git a/frontend/src/components/CardsContainer.tsx b/frontend/src/components/CardsContainer.tsx index 8708a7b..e2a9dbd 100644 --- a/frontend/src/components/CardsContainer.tsx +++ b/frontend/src/components/CardsContainer.tsx @@ -10,19 +10,19 @@ interface ICardsContainer { * @returns grid med feilmeldinger */ const CardsContainer = (props: ICardsContainer) => { + return ( -
{props.feilmeldinger.map((feilMelding) => ( - - ))} + + )) + }
-
); }; diff --git a/frontend/src/components/FeilCard.tsx b/frontend/src/components/FeilCard.tsx index 95b8c4a..fc1542e 100644 --- a/frontend/src/components/FeilCard.tsx +++ b/frontend/src/components/FeilCard.tsx @@ -1,24 +1,8 @@ import "@navikt/ds-css"; -import { Button, Heading, Tag } from "@navikt/ds-react"; +import { Heading, Tag } from "@navikt/ds-react"; import { IFeilmelding } from "../interface"; -import { createContext, useContext, useState } from "react"; -import { XMarkIcon } from "@navikt/aksel-icons"; - -/** - * Kontekst som brukes for å vise og skjule FullvisningsKort-komponentet. - * - * @param visHeleKortet en boolean som bestemmer om FullvisningsKort-komponentet skal vises eller ikke. - * True viser komponentet, false skjuler komponentet. - * - * @param setVisHeleKortet en state-funksjon som endrer visHeleKortet. - * Gjør det mulig å endre visningsmodus fra andre komponenter en bare provider (Feilcard). - */ -const visningsContext = createContext({ - visHeleKortet: false, - setVisHeleKortet: (value: boolean) => {} -}) - - +import FeilModal from "./FeilModal"; +import { useState } from "react"; /** * En konteiner som inneholder all informasjon og funksjonalitet for å vise og interagere med en feilmelding. @@ -27,69 +11,60 @@ const visningsContext = createContext({ * @param dato * @returns JSX komponent som beskriver innholdet i feilmeldinger. */ -export const FeilKort = (props: IFeilmelding) => { - const [visHeleKortet, setVisHeleKortet] = useState(false) - const visningsModus = {visHeleKortet, setVisHeleKortet} +interface IFeilKort extends IFeilmelding { + key: number +} +export const FeilKort = (props: IFeilKort) => { + const [visModal, setVisModal] = useState(false) + return( - -
{ - setVisHeleKortet(true) - }}> - - + active:bg-surface-active" + onClick={() => setVisModal(true)} + > +
-
+ { visModal ? + + +
+ {/* TODO: HER KOMMER CONTENT */} +
: null + } + ) } - - /** - * Fullvisningskortet er en komponent som viser all informasjon om en feilmelding. - * Alle brukere skal ikke ha tilgang til denne informasjonen, visningen av komponentet er derfor avhengig av en kontekst. - * dersom visHeleKortet er true vises komponentet, ellers vises ikke komponentet og det returneres react fragmenter. + * FeilkortHeader er komponent som beskriver ikke-sensitiv informasjon om feilmeldingen og vises for alle på forsiden. + * FeilkortHeaderen er en del av FeilKort-komponenten og FullvisningsKort-komponenten. + * Midlertidig implementerer komponentet @requires IFeilmelding for props, men dette må endres når IFeilmelding utvides i fremtiden for støtte av flere typer feilmeldinger. * @param tittel * @param beskrivelse + * @param haster * @param dato - * @returns JSX komponent som beskriver innholdet i feilmeldinger. + * @returns JSX komponent som skal vise nødvendig informasjon for å forstå en feil. */ -const FullvisningsKort = (props: IFeilmelding) => { - const {visHeleKortet, setVisHeleKortet} = useContext(visningsContext) +export const FeilkortHeader = (props: IFeilmelding) => { return( - visHeleKortet ? -
-
-
-
- - -
-
-
-
-
- : <> +
+
+ {props.tittel} +

{props.dato.toDateString()}

+

{props.beskrivelse}

+
+ +
) } - interface TagBarInterface { haster: boolean } @@ -109,25 +84,3 @@ const TagBar = (props: TagBarInterface) => { -/** - * FeilkortHeader er komponent som beskriver ikke-sensitiv informasjon om feilmeldingen og vises for alle på forsiden. - * FeilkortHeaderen er en del av FeilKort-komponenten og FullvisningsKort-komponenten. - * Midlertidig implementerer komponentet @requires IFeilmelding for props, men dette må endres når IFeilmelding utvides i fremtiden for støtte av flere typer feilmeldinger. - * @param tittel - * @param beskrivelse - * @param haster - * @param dato - * @returns JSX komponent som skal vise nødvendig informasjon for å forstå en feil. - */ -const FeilkortHeader = (props: IFeilmelding) => { - return( -
-
- {props.tittel} -

{props.dato.toDateString()}

-

{props.beskrivelse}

-
- -
- ) -} \ No newline at end of file diff --git a/frontend/src/components/FeilModal.tsx b/frontend/src/components/FeilModal.tsx new file mode 100644 index 0000000..9901257 --- /dev/null +++ b/frontend/src/components/FeilModal.tsx @@ -0,0 +1,26 @@ +import { Modal } from "@navikt/ds-react" +import { Dispatch, SetStateAction } from "react" + + +interface modalInterface { + open: boolean + setOpen: Dispatch> + children: React.ReactNode +} + +const FeilModal = (props: modalInterface) => { + return( + props.setOpen(false)} + aria-labelledby="modal-heading" + > + + {props.children} + + + ) +} +export default FeilModal; \ No newline at end of file