From fdd5c2ea2d2d7f807c6319a7fff9816bbf2ca101 Mon Sep 17 00:00:00 2001 From: Sindre Kjelsrud Date: Mon, 31 Jul 2023 15:32:05 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A7=20Toggler=20alerts=20via=20Context?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit WIP: Få oppdatere status Co-authored-by: Markus A. R. Johansen --- frontend/src/index.tsx | 33 ++++++++++++++++++++++----------- frontend/src/pages/feil.tsx | 31 +++++++++++-------------------- 2 files changed, 33 insertions(+), 31 deletions(-) diff --git a/frontend/src/index.tsx b/frontend/src/index.tsx index cb1b8a8..e0d767e 100644 --- a/frontend/src/index.tsx +++ b/frontend/src/index.tsx @@ -8,25 +8,36 @@ import { useNavigate } from "react-router-dom"; import axios from "axios"; import { useContext, useEffect, useState } from "react"; import { Feilmelding } from "./interface"; -import { AlertContext } from "./pages/feil"; +import { StatusContext } from "./pages/feil"; export default function Home() { const navigate = useNavigate() const [feilmeldinger, setFeilmeldinger] = useState([]); - const alertValue = useContext(AlertContext) + const [alert, setAlert] = useState(<>) + + const status = useContext(StatusContext) - /** - * - */ - const handleAlerts = () => { - if (alertValue.status === 201) { - return Feil er meldt inn! Du vil nå sendes tilbake til hovedmenyen om fem sekunder. - } else { - return Noe gikk galt! Prøv igjen om noen minutter. + const toggleAlert = (status: number) => { + if (status === 0) { + console.log("oppdaget status var 0"); + return } + else if (status === 201) { + setAlert(Woho) + } else { + setAlert(error) + } + + setTimeout(() => { + setAlert(<>) + }, 3000); } + + useEffect(() => { + toggleAlert(status.status) + }) /** * Henter alle feilmeldinger fra backend. @@ -68,7 +79,7 @@ export default function Home() {
- {alertValue.status != 0 ? handleAlerts() : <>} + {alert}
{} }) export default function Feil() { + const navigate = useNavigate() const [tittel, setTittel] = useState(""); const [beskrivelse, setBeskrivelse] = useState(""); - const [status, setStatus] = useState(0) const handleSubmit = () => { @@ -35,28 +35,18 @@ export default function Feil() { }).catch((error) => { console.log(error); }) - - handleAlerts() + + navigate("/") } - const handleAlerts = () => { - if (status === 201) { - console.log("Feil lagt til i database"); - navigate("/"); - return Feil er meldt inn! Du vil nå sendes tilbake til hovedmenyen om fem sekunder. - } else { - console.log("Noe gikk galt, feil ikke lagt til i database!"); - navigate("/"); - return Noe gikk galt! Prøv igjen om noen minutter. - } - } + const [status, setStatus] = useState(0) + + const statusContextVerdi = {status, setStatus} // TODO: clear data fra felter - - const navigate = useNavigate() - return ( +
@@ -105,5 +95,6 @@ export default function Feil() {
+
) } \ No newline at end of file