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;