import React, { useState, useMemo } from 'react'; import { createBrowserRouter, RouterProvider } from 'react-router-dom'; import { ThemeProvider, createTheme } from '@mui/material/styles'; import { Alert, AlertColor, Backdrop, Container, CircularProgress, CssBaseline, Link, Snackbar, Stack, useMediaQuery, } from '@mui/material'; import LoadingContext from './loading-context'; import SnackbarContext from './snackbar-context'; import Footer from './footer'; import AdfOverview from './adf-overview'; import AdfDetails from './adf-details'; const browserRouter = createBrowserRouter([ { path: '/', element: , }, { path: '/:adfName', element: , }, ]); function App() { const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)'); const theme = useMemo( () => createTheme({ palette: { mode: prefersDarkMode ? 'dark' : 'light', }, }), [prefersDarkMode], ); const [loading, setLoading] = useState(false); const loadingContext = useMemo(() => ({ loading, setLoading }), [loading, setLoading]); const [snackbarInfo, setSnackbarInfo] = useState<{ message: string, severity: AlertColor, potentialUserChange: boolean, } | undefined>(); const snackbarContext = useMemo( () => ({ status: snackbarInfo, setStatus: setSnackbarInfo }), [snackbarInfo, setSnackbarInfo], ); return (
InnoSale Logo Scads.AI Logo Secai Logo CPEC Logo ICCL Logo TU Dresden Logo