import { useState } from 'react'; import moment from 'moment'; import { Wrapper, SessionChildWrapper, SessionChildTitle, SeessionChildData, InputAndCheckIconWrapper, ParkingSpaceNumberInput, CheckIcon, DeleteButton, } from './styles'; import { sessionStatus } from '../../../../config/enums'; import { dateFormatString } from '../../../../config/utilities'; import { IconButton } from '@mui/material'; import AbsoluteLoader from '../../../Loaders/AbsoluteLoader'; import useDeleteSession from '../../../../hooks/useDeleteSession'; const sessionCardColors = { active: '#389e0d', idle: '#ffa940', over: '#cf1322', }; const ActiveCard = ({ pssId, timeStart, zone, plate, status, parkingSpace, onDeleteSession, }) => { const { isLoading: isLoadingDeleteSession, deleteSession } = useDeleteSession(); const formatedTimeStart = moment(timeStart).format(dateFormatString); return ( Почеток {formatedTimeStart} Број на место {parkingSpace.psName} Регистрација {plate.plate} {isLoadingDeleteSession ? (
) : ( { console.log(`CLICKED DELETE BUTTON ${pssId}`); deleteSession({ pssId, onDeleteSession }); }} > ИЗБРИШИ )}
); }; const IdleCard = ({ pssId, timeStart, zone, plate, status, handleActivateSession, isLoadingActivateSession, onDeleteSession, }) => { const { isLoading: isLoadingDeleteSession, deleteSession } = useDeleteSession(); const [parkingSpaceName, setParkingSpaceName] = useState(''); const formatedTimeStart = moment(timeStart).format(dateFormatString); return ( Почеток {formatedTimeStart} Број на место setParkingSpaceName(event.target.value.trim()) } /> {parkingSpaceName !== '' ? ( <> {isLoadingActivateSession ? ( ) : ( handleActivateSession({ pssId, parkingSpaceName, }) } > )} ) : null} Регистрација {plate.plate} {isLoadingDeleteSession ? (
) : ( { console.log(`CLICKED DELETE BUTTON ${pssId}`); deleteSession({ pssId, onDeleteSession }); }} > ИЗБРИШИ )}
); }; const OverCard = ({ pssId, timeStart, timeEnd, zone, plate, status, parkingSpace, onDeleteSession, }) => { const { isLoading: isLoadingDeleteSession, deleteSession } = useDeleteSession(); const formatedTimeStart = moment(timeStart).format(dateFormatString); const formatedTimeEnd = moment(timeEnd).format(dateFormatString); return ( Почеток {formatedTimeStart} Крај {formatedTimeEnd} Број на место {parkingSpace.psName} Регистрација {plate.plate} {isLoadingDeleteSession ? (
) : ( { console.log(`CLICKED DELETE BUTTON ${pssId}`); deleteSession({ pssId, onDeleteSession }); }} > ИЗБРИШИ )}
); }; const SessionCard = ({ handleActivateSession, isLoadingActivateSession, ...commponProps }) => { switch (commponProps.status) { case sessionStatus.active: return ; case sessionStatus.idle: return ( ); case sessionStatus.over: return ; default: return null; } }; export default SessionCard;