From a3ee46c5ed6a498ffeb6572fdb9f094dfb0b9c75 Mon Sep 17 00:00:00 2001 From: Mathias Wagner Date: Sat, 5 Aug 2023 22:26:31 +0200 Subject: [PATCH] Added error handling to the AddServer.jsx --- .../components/AddServer/AddServer.jsx | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/client/src/common/components/Header/components/ServerDialog/components/AddServer/AddServer.jsx b/client/src/common/components/Header/components/ServerDialog/components/AddServer/AddServer.jsx index 0ec58a3..72fffd9 100644 --- a/client/src/common/components/Header/components/ServerDialog/components/AddServer/AddServer.jsx +++ b/client/src/common/components/Header/components/ServerDialog/components/AddServer/AddServer.jsx @@ -1,19 +1,38 @@ import Button from "@/common/components/Button"; import {faFloppyDisk} from "@fortawesome/free-solid-svg-icons"; -import {useState} from "react"; +import {useEffect, useState} from "react"; import "./styles.sass"; export const AddServer = ({addServer}) => { const [name, setName] = useState(""); const [url, setUrl] = useState(""); + const [error, setError] = useState(false); + + useEffect(() => { + setError(false); + }, [name, url]); + + const preAddServer = () => { + if (!name || !url) return setError(true); + if (!url.startsWith("https")) return setError(true); + + fetch(url).then((res) => res.json()).then(result => { + if (result?.status !== "ok") { + setError(true); + } else { + addServer(url.endsWith("/") ? url : url + "/", name); + } + }).catch(() => setError(true)); + } + return (
setName(e.target.value)}/> setUrl(e.target.value)}/> - + {error &&
Bitte überprüfe deine Eingaben!
}
-