import {useState} from 'react'; import {Container} from 'reactstrap'; import {useBallot} from '@services/BallotContext'; import CandidateCard from '@components/ballot/CandidateCard'; import TitleBar from '@components/ballot/TitleBar'; import GradeInput from '@components/ballot/GradeInput'; import {CandidatePayload} from '@services/api'; import CandidateModal from '@components/CandidateModalGet'; import {useTranslation} from 'next-i18next'; const BallotDesktop = ({hasVoted}) => { const {t} = useTranslation(); const [ballot, dispatch] = useBallot(); const numGrades = ballot.election.grades.length; const disabled = ballot.votes.length !== ballot.election.candidates.length; const [candidate, setCandidate] = useState(null); return (

{ballot.election.name}

{hasVoted &&
{t("vote.already-voted")}
} {ballot.election.candidates.map((candidate, candidateId) => { return (
setCandidate(candidate)} candidate={candidate} />
{ballot.election.grades.sort( (a, b) => b.value - a.value ).map((_, gradeId) => { console.assert(gradeId < numGrades); return ( ); })}
); })} setCandidate(null)} candidate={candidate} />
); }; export default BallotDesktop;