import { useState } from 'react' import { Link } from 'react-router-dom' import { ClipboardList, Crosshair, Crown, ScanSearch, ShieldCheck, Users } from 'lucide-react' import { useCandidates, useRequirements } from '../lib/queries' import { Badge, Panel, Stat } from '../components/ui' import { MissionCheckModal } from '../components/MissionCheckModal' import { clearanceLabel } from '../lib/format' export function Dashboard() { const candidates = useCandidates() const requirements = useRequirements() const [missionCheck, setMissionCheck] = useState(false) const cs = candidates.data ?? [] const rs = requirements.data ?? [] const available = cs.filter((c) => c.available).length const keyP = rs.filter((r) => r.key_personnel).length return (
} /> } /> } /> } />

Evaluate a candidate against a requirement

Run screenMATCHâ„¢ to generate an explainable Mission Readiness score.

Screen Candidate
setMissionCheck(false)} />
    {rs.length === 0 &&
  • No requirements yet.
  • } {rs.slice(0, 6).map((r) => (
  • {r.title}
    {r.customer_agency ?? 'No specific customer'}
    {clearanceLabel[r.required_level] ?? r.required_level}
  • ))}
    {cs.length === 0 &&
  • No candidates yet.
  • } {cs.slice(0, 6).map((c) => (
  • {c.full_name}
    {c.years_experience} yrs experience
    {clearanceLabel[c.clearance_level] ?? c.clearance_level}
  • ))}

Clearance is a self reported, detected indicator, not verified. Candidates are Demo data.

) }