import "./App.css"; import Musicians from "./Musicians/Musicians"; import NavBar from "./NavBar/NavBar"; import ContactForm from "./Forms/Contact/ContactForm"; import { Container } from "react-bootstrap"; import Group, { GroupObj } from "./Group/Group"; import SeriesList, { EventSeriesObj } from "./Series/SeriesList"; import { useState, useEffect } from "react"; import Footer from "./Footer/Footer"; import { getRoot } from "./api"; import { MusicianObj } from "./Musicians/Musician/Musician"; import ErrorModal from "./ErrorModal/ErrorModal"; import Cookies from "js-cookie"; function App() { const tokenCookie = Cookies.get("token"); const [group, setGroup] = useState(); const [update, setUpdate] = useState(false); const [musicians, setMusicians] = useState([]); const [seriesList, setSeriesList] = useState([]); const [apiVersion, setApiVersion] = useState(""); const [error, setError] = useState(""); const [errorModalShow, setErrorModalShow] = useState(false); const [errorEntity, setErrorEntity] = useState(""); const [token, setToken] = useState(tokenCookie ? tokenCookie : ""); const appVersion = import.meta.env.PACKAGE_VERSION; const handleGroupBioChange = () => { setUpdate(!update); }; const handleError = (error: string, entity: string) => { console.error(error); setError(error); setErrorEntity(entity); setErrorModalShow(true); }; useEffect(() => { getRoot() .then((tgd): void => { setGroup(tgd.group); setMusicians(tgd.musicians); setSeriesList(tgd.events); setApiVersion(tgd.version); }) .catch((error) => { handleError(error.message, "root"); }); }, []); return (
); } export default App;