/* ============================================================ screen_growth.jsx — «Подготовка к выезду»: документы, шаги, язык ============================================================ */ function DocRow({ doc, lang, t, delay }) { const map = { ready: { color: 'var(--good)', icon: 'check', label: t.docReady }, soon: { color: 'var(--amber-deep)', icon: 'clock', label: t.docSoon }, missing: { color: 'var(--hot)', icon: 'warn', label: t.docMissing }, }[doc.state]; return (
{tr(doc.name, lang)} {tr(doc.note, lang)} {map.label}
); } function StepCard({ step, lang, t, delay }) { const state = step.state; const color = state === 'done' ? 'var(--good)' : state === 'progress' ? 'var(--amber)' : 'var(--brand)'; return (
{tr(step, lang)} {step.mins} {t.mins}{state === 'done' ? ` · ${t.done}` : ''} {state !== 'done' && ( )}
); } function PrepScreen({ lang, theme, setLang, setTheme, t, go }) { const missing = DOCS.filter(d => d.state !== 'ready').length; return (
} t={t} />
{/* readiness */}
{PREP.readiness}%
{t.readyTitle}
{lang === 'ru' ? `Осталось собрать ${missing} документа и пройти собеседование` : `${missing} ta hujjat yig‘ish va suhbatdan o‘tish qoldi`}
{/* documents */}
{t.docsTitle}
{DOCS.map((d, i) => )}
{/* steps */}
{t.todoTitle}
{PREP.steps.map((s, i) => )}
{/* language */}
{t.langTitle}
{PREP.langs.map((l, i) => )}
); } Object.assign(window, { PrepScreen });