import * as React from 'react'; import AppBar from '@mui/material/AppBar'; import Box from '@mui/material/Box'; import Button from '@mui/material/Button'; import CssBaseline from '@mui/material/CssBaseline'; import Dialog from '@mui/material/Dialog'; import DialogActions from '@mui/material/DialogActions'; import DialogContent from '@mui/material/DialogContent'; import DialogContentText from '@mui/material/DialogContentText'; import DialogTitle from '@mui/material/DialogTitle'; import Divider from '@mui/material/Divider'; import MenuItem from '@mui/material/MenuItem'; import Select from '@mui/material/Select'; import TextField from '@mui/material/TextField'; import Toolbar from '@mui/material/Toolbar'; import Typography from '@mui/material/Typography'; import { ThemeProvider, createTheme } from '@mui/material/styles'; import './App.css' import Map from './Map.js'; import Rooms from './Rooms.js'; function ChangeFloor({ currentFloor, callbackFloorChanged }) { const handleFloorChanged = (event) => { callbackFloorChanged(event.target.value); }; return <>
Changer d'étage
} function RoomResearch({ callbackRoomSelected }) { const [currentRequest, setCurrentRequest] = React.useState(""); const [rooms, setRooms] = React.useState([]); const startResearch = (event) => { fetch("https://encartes.aliens-lyon.fr/api/map/find_place_by_name/" + currentRequest) .then(response => response.json()) .then(data => { setRooms(data); }); }; return <>
Rechercher une salle { setCurrentRequest(event.target.value) }} variant="outlined" fullWidth />
} function RoomInformation({ roomId }) { const [names, setNames] = React.useState([]); const [users, setUsers] = React.useState([]); React.useEffect(() => { fetch("https://encartes.aliens-lyon.fr/api/map/show_place_info/" + roomId) .then(response => response.json()) .then(data => { setNames(data['names']); setUsers(data['users']); }) .catch(error => { // TODO: error tooltip }); }, [roomId]); return
Salle sélectionnée
} function TopBar() { const [openAboutModal, setOpenAboutModal] = React.useState(false); const handleOpenAboutModal = () => { setOpenAboutModal(true); }; const handleCloseAboutModal = () => { setOpenAboutModal(false); }; return <> ENcarteS {"À propos d'ENcarteS"} ENcarteS permet de rechercher les salles de l'ENS ! } export default function App() { const [currentFloor, setCurrentFloor] = React.useState(6); const [selectedRoom, setSelectedRoom] = React.useState(null); return <>
{ setCurrentFloor(floor); setSelectedRoom(room); }} />
} const darkTheme = createTheme({ palette: { mode: 'dark', }, }); function ThemedApp() { return ( ); }