import { useState, useContext, useEffect } from 'react';
import { useParams } from 'react-router-dom';
import { IconButton } from '@mui/material';
import ParkingZoneInfo from '../ParkingZoneInfo';
import ParkingZoneSessions from '../ParkingZoneSessions';
import GoogleMaps from '../../GoogleMaps';
import CircularProgress from '@mui/material/CircularProgress';
import {
NamesWrapper,
ParkingAndZoneName,
DividerUnderNames,
NavigationIconsWrapper,
MainSection,
MapsIcon,
ComponentIcon,
ZoneNameLoader,
} from './styles';
import AbsoluteLoader from '../../Loaders/AbsoluteLoader';
import { roles } from '../../../config/enums';
import { UserContext } from '../../../context/UserContext';
import useGetData from '../../../hooks/useGetData';
const defaultLocationObj = {
centre: {
lat: 42.000629,
lng: 21.420525,
},
coords: []
};
const mockResponsiblePersons = [
// TODO DELTE THIS
{
id: 1,
email: 'viktor-tasevski@hotmail.com',
firstName: 'Viktor',
lastName: 'Tasevski',
},
{
id: 3,
email: 'david_trajkovski@yahoo.com',
firstName: 'David',
lastName: 'Trajkovski',
},
];
const activeComponentEnum = {
MAPS: 'maps',
INFO: 'info',
};
const ParkingZone = () => {
const { user } = useContext(UserContext);
const { zone_id } = useParams();
const url = `/parkingZone/${zone_id}`;
const { data: zoneData, isLoading: isLoadingZoneData } = useGetData({
url: url,
});
const [zoneState, setZoneState] = useState(null);
const [activeComponent, setActiveComponent] = useState(
activeComponentEnum.MAPS
);
const setZone = (updatedZone) => {
setZoneState({ ...updatedZone });
};
const Info =
user.role === roles.admin ? ParkingZoneInfo : ParkingZoneSessions;
useEffect(() => {
setZoneState({
...zoneData
});
}, [zoneData]);
return (
<>
Паркинг - Дебар Маало
Зона
{isLoadingZoneData ? (
) : (
` - ${zoneState?.pzName ?? ''}`
)}
setActiveComponent(activeComponentEnum.MAPS)}
>
setActiveComponent(activeComponentEnum.INFO)}
>
{isLoadingZoneData ? (
) : (
<>
{activeComponent === activeComponentEnum.MAPS ? (
) : (
)}
>
)}
>
);
};
export default ParkingZone;