/* ============================================================
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 });