import { useMemo, useState } from 'react'; import { OZON_CRITERIA } from '../data/criteria'; import type { CriteriaStatus, DemoStep } from '../domain/types'; type CriteriaFilter = 'all' | CriteriaStatus; const filters: CriteriaFilter[] = ['all', 'covered', 'partially covered', 'demo step available']; export default function OzonCriteriaPanel({ currentStep }: { currentStep: DemoStep }) { const [filter, setFilter] = useState('all'); const visibleCriteria = useMemo( () => OZON_CRITERIA.filter((criterion) => filter === 'all' || criterion.status === filter), [filter], ); const related = new Set(currentStep.relatedCriteria); return (

OZON criteria coverage

Evidence checklist

{visibleCriteria.length}/{OZON_CRITERIA.length}
{filters.map((item) => ( ))}
{visibleCriteria.map((criterion) => (
{criterion.title} {criterion.status}

{criterion.evidence}

{criterion.relatedScenarioIds.join(', ')} / {criterion.relatedDoc}
))}
); }