import { useEffect, useState } from 'react'; import { Wrapper, Title, SessionsWrapper, StatsWrapper, Stats, KeyValueWrapper, StatsKey, StatsValue, } from './styles'; import SessionCard from './SessionCard'; import { sessionStatus } from '../../../config/enums'; import { sessionsData } from './mockData'; const ParkingZoneSessions = ({ zone }) => { const [sessions, setSession] = useState(sessionsData); const [stats, setStats] = useState({ activeSessions: 0, idleSessions: 0, overSessions: 0, }); const setSessionsStats = () => { let aS = 0; let iS = 0; let oS = 0; sessions.forEach((s) => { switch (s.status) { case sessionStatus.active: aS += 1; break; case sessionStatus.idle: iS += 1; break; case sessionStatus.over: oS += 1; break; default: break; } }); setStats({ activeSessions: aS, idleSessions: iS, overSessions: oS, }); }; useEffect(() => { setSessionsStats(); }, [sessions]); return ( ОТВОРЕНИ ПАРКИНГ СЕСИИ {/* PARKING SPACES STATS*/} Вкупно паркинг места: {zone.parkingSpaces} Слободни паркинг места: {zone.parkingSpaces - zone.takenParkingSpaces} Зафатени паркинг места: {zone.takenParkingSpaces} {/* SESSIONS STATS*/} Активни паркинг сесии: {stats.activeSessions} Завршени паркинг сесии: {stats.overSessions} Неактивни паркинг сесии: {stats.idleSessions} {sessions.map((session) => ( ))} ); }; export default ParkingZoneSessions;