mirror of
https://github.com/C9Glax/tranga-website.git
synced 2025-04-12 14:38:21 +02:00
Warning icon if API not connected
This commit is contained in:
parent
44755675e5
commit
d480f62e51
@ -2,7 +2,7 @@ import Sheet from '@mui/joy/Sheet';
|
||||
import './App.css'
|
||||
import Settings from "./Settings.tsx";
|
||||
import Header from "./Header.tsx";
|
||||
import {Button} from "@mui/joy";
|
||||
import {Badge, Button} from "@mui/joy";
|
||||
import {useState} from "react";
|
||||
import {ApiUriContext} from "./api/fetchApi.tsx";
|
||||
import Search from './Components/Search.tsx';
|
||||
@ -11,6 +11,7 @@ export default function App () {
|
||||
|
||||
const [showSettings, setShowSettings] = useState<boolean>(false);
|
||||
const [showSearch, setShowSearch] = useState<boolean>(false);
|
||||
const [apiConnected, setApiConnected] = useState<boolean>(false);
|
||||
|
||||
const [apiUri, setApiUri] = useState<string>(window.location.href.substring(0, window.location.href.lastIndexOf("/")));
|
||||
|
||||
@ -18,10 +19,12 @@ export default function App () {
|
||||
<ApiUriContext.Provider value={apiUri}>
|
||||
<Sheet className={"app"}>
|
||||
<Header>
|
||||
<Button onClick={() => setShowSettings(true)}>Settings</Button>
|
||||
<Badge color={"danger"} invisible={apiConnected} badgeContent={"!"}>
|
||||
<Button onClick={() => setShowSettings(true)}>Settings</Button>
|
||||
</Badge>
|
||||
<Button onClick={() => setShowSearch(true)}>Search</Button>
|
||||
</Header>
|
||||
<Settings open={showSettings} setOpen={setShowSettings} setApiUri={setApiUri}/>
|
||||
<Settings open={showSettings} setOpen={setShowSettings} setApiUri={setApiUri} setConnected={setApiConnected} />
|
||||
<Sheet className={"app-content"}>
|
||||
<Search open={showSearch} setOpen={setShowSearch} />
|
||||
</Sheet>
|
||||
|
@ -28,7 +28,7 @@ const checkConnection = async (apiUri: string): Promise<boolean> =>{
|
||||
});
|
||||
}
|
||||
|
||||
export default function Settings({open, setOpen, setApiUri}:{open:boolean, setOpen:React.Dispatch<React.SetStateAction<boolean>>, setApiUri:React.Dispatch<React.SetStateAction<string>>}) {
|
||||
export default function Settings({open, setOpen, setApiUri, setConnected}:{open:boolean, setOpen:React.Dispatch<React.SetStateAction<boolean>>, setApiUri:React.Dispatch<React.SetStateAction<string>>, setConnected:React.Dispatch<React.SetStateAction<boolean>>}) {
|
||||
|
||||
const apiUri = useContext(ApiUriContext);
|
||||
|
||||
@ -53,6 +53,7 @@ export default function Settings({open, setOpen, setApiUri}:{open:boolean, setOp
|
||||
setChecking(true);
|
||||
checkConnection(uri)
|
||||
.then((result) => {
|
||||
setConnected(result);
|
||||
setApiUriAccordionOpen(!result);
|
||||
setApiUriColor(result ? "success" : "danger");
|
||||
if(result)
|
||||
|
Loading…
x
Reference in New Issue
Block a user