diff --git a/apps/frontend/src/components/volunteerDashboard/MaintenanceChecklistPopup.tsx b/apps/frontend/src/components/volunteerDashboard/MaintenanceChecklistPopup.tsx new file mode 100644 index 0000000..f80ba70 --- /dev/null +++ b/apps/frontend/src/components/volunteerDashboard/MaintenanceChecklistPopup.tsx @@ -0,0 +1,139 @@ +import Button from '@mui/material/Button'; +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 { useState } from 'react'; +import Box from '@mui/material/Box'; +import MenuItem from '@mui/material/MenuItem'; +import FormControl from '@mui/material/FormControl'; +import Select, { SelectChangeEvent } from '@mui/material/Select'; +import IconButton from '@material-ui/core/IconButton'; +import CloseIcon from '@material-ui/icons/Close'; + +interface MaintenanceChecklistPopupProps { + maintenanceChecklistOpen: boolean; + setMaintenanceChecklistOpen: React.Dispatch>; +} + +export default function MaintenanceChecklistPopup({ + maintenanceChecklistOpen, + setMaintenanceChecklistOpen, +}: MaintenanceChecklistPopupProps) { + const [site, setSite] = useState(''); + + const handleClose = () => { + setMaintenanceChecklistOpen(false); + }; + + const handleChange = (event: SelectChangeEvent) => { + setSite(event.target.value as string); + }; + + const handleSubmit = (event: React.FormEvent) => { + // TODO: Add logic to display the maintenance checklist for the selected site + event.preventDefault(); + console.log(site); + handleClose(); + }; + + return ( + + + + + Maintenance Visit Checklist + + + + + + + + + + + Select the site you'd like to see a checklist for + + + + + + + + + + ); +} diff --git a/apps/frontend/src/components/volunteerDashboard/VolunteerDashboard.tsx b/apps/frontend/src/components/volunteerDashboard/VolunteerDashboard.tsx index 27644be..31a303c 100644 --- a/apps/frontend/src/components/volunteerDashboard/VolunteerDashboard.tsx +++ b/apps/frontend/src/components/volunteerDashboard/VolunteerDashboard.tsx @@ -18,7 +18,13 @@ const boxStyles = { fontSize: '30px', }; -function VolunteerDashboard() { +interface VolunteerDashboardProps { + setMaintenanceChecklistOpen: React.Dispatch>; +} + +function VolunteerDashboard({ + setMaintenanceChecklistOpen, +}: VolunteerDashboardProps) { return (
- - - My Adopted Green Infrastructure - - + + + My Adopted Green Infrastructure + + - - Adoption Map + + + Adoption Map + Maintenance Guide @@ -100,7 +126,11 @@ function VolunteerDashboard() { className="column2" style={{ paddingTop: '2%', paddingBottom: '2%', width: '55%' }} > - + setMaintenanceChecklistOpen(true)} + style={{ cursor: 'pointer' }} + > Maintenance Visit Checklist
diff --git a/apps/frontend/src/pages/volunteerPage/VolunteerPage.tsx b/apps/frontend/src/pages/volunteerPage/VolunteerPage.tsx index d37e447..2cb40d1 100644 --- a/apps/frontend/src/pages/volunteerPage/VolunteerPage.tsx +++ b/apps/frontend/src/pages/volunteerPage/VolunteerPage.tsx @@ -1,5 +1,6 @@ import Navbar from '../Navbar'; import VolunteerDashboard from '../../components/volunteerDashboard/VolunteerDashboard'; +import MaintenanceChecklistPopup from '../../components/volunteerDashboard/MaintenanceChecklistPopup'; import Map from '../../components/map/Map'; import MapLegend from '../../components/map/MapLegend'; import { useState } from 'react'; @@ -10,12 +11,20 @@ const icons: string[] = SITE_STATUS_ROADMAP.map((option) => option.image); export default function VolunteerPage() { const [selectedFeatures, setSelectedFeatures] = useState([]); const [selectedStatuses, setSelectedStatuses] = useState([]); + const [maintenanceChecklistOpen, setMaintenanceChecklistOpen] = + useState(false); return (
- + +