// V2 — "Смелый": editorial typography, dark hero, serif display, live pop-up demo in hero.
// Same content, different voice.
const V2_WORDS = [
{ word: 'seat', ipa: '[siːt]', translation: 'сиденье', meta: 'cars · A2 · 14:32' },
{ word: 'dashboard', ipa: '[ˈdæʃbɔːd]', translation: 'приборная панель', meta: 'cars · A2 · 14:33' },
{ word: 'fuel', ipa: '[fjuːəl]', translation: 'топливо', meta: 'cars · A2 · 14:34' },
{ word: 'engine', ipa: '[ˈendʒɪn]', translation: 'двигатель', meta: 'cars · A2 · 14:35' },
{ word: 'brake', ipa: '[breɪk]', translation: 'тормоз', meta: 'cars · A2 · 14:36' },
];
function V2Nav({ copy, lang, onLang }) {
return (
);
}
function V2Hero({ copy }) {
return (
{/* ambient glow */}
WORDYTRAINER v3.0 · {copy.hero.badge.toUpperCase()}
{copy.hero_v2.kicker}{' '}
{copy.hero_v2.kicker_italic}
.
}
popupPos="br"
/>
{/* annotation */}
← POP-UP ON YOUR DESKTOP
);
}
function V2Pains({ copy }) {
return (
{copy.pains.eyebrow}
{copy.pains.title_v2}
{copy.pains.items.map((it, i) => (
))}
);
}
function V2How({ copy }) {
return (
{copy.how.eyebrow}
{copy.how.title}
{copy.how.steps.map((s, i) => (
))}
);
}
function V2Features({ copy }) {
const icons = ['wand', 'bell', 'upload', 'globe', 'chat', 'sparkles'];
return (
{copy.features.eyebrow}
{copy.features.title}
{copy.features.items.map((f, i) => (
{f.t}
{f.d}
))}
);
}
function V2AI({ copy }) {
return (
{copy.ai.eyebrow}
{copy.ai.title}
{copy.ai.sub}
AI ASSISTANT · PROMPT
A2 · 25 WORDS
→ RESULT
{copy.ai.example_result}
⏎ GENERATE
);
}
function AIRow({ label, value }) {
return (
{label.toUpperCase()}
{value}
);
}
function V2Testimonials({ copy }) {
return (
{copy.testimonials.eyebrow}
{copy.testimonials.title}
{copy.testimonials.items.map((t, i) => (
“{t.q}”
LEARNER · 0{i+1}
{t.name}
{t.role}
))}
);
}
function V2Pricing({ copy }) {
return (
{copy.pricing.eyebrow}
{copy.pricing.title}
{copy.pricing.plans.map((p, i) => (
{p.tag && (
{p.tag}
)}
{p.name.toUpperCase()}
{p.features.map((f, j) => (
-
{f}
))}
{p.cta}
))}
);
}
function V2FAQ({ copy }) {
const [open, setOpen] = useState(0);
return (
{copy.faq.eyebrow}
{copy.faq.title}
{copy.faq.items.map((f, i) => (
{open === i && (
{f.a}
)}
))}
);
}
function V2Final({ copy }) {
return (
{copy.final.eyebrow}
{copy.final.title}{' '}
{copy.final.title_2}
{copy.final.cta}
{copy.final.sub}
);
}
function V2Footer({ copy }) {
return (
);
}
function V2Landing({ copy, lang, onLang }) {
return (
);
}
window.V2Landing = V2Landing;