mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-05-22 21:38:52 +00:00
Conversion-oriented English landing page that drives applications to the Comfy Affiliate Program Google Form. Page is shipped behind noindex while copy and assets are still being finalized; a follow-up PR will flip it indexable and add the zh-CN locale. Sections (in order): hero, trust band, how-it-works, who-we're-looking-for, program details, brand assets, FAQ, footer CTA. Mirrors the type scale, brand tokens, and noindex/sitemap/robots conventions used by the /affiliates/terms PR (#11954) so the two pages feel like a set. - Copy lives under `affiliate-landing.*` in src/i18n/translations.ts (en only; zh-CN values mirror en until a localized version lands). - Reuses common/FAQSection, common/BrandButton, common/SectionHeader, common/SectionLabel verbatim. Sections without a clean primitive fit (split hero, trust band, 3-step flow, audience list, details table, brand-asset grid, footer CTA) render inline with brand tokens rather than forking new shared components. - Brand-assets grid wired via a config object in components/affiliates/brandAssets.ts so 728x90 / 300x250 / 160x600 / 1200x628 banners can be dropped in without code changes. - FAQ emits FAQPage JSON-LD (schema.org) so the page is structured-data ready when noindex flips off. - Adds /affiliates to NOINDEX_PATHNAMES (excluded from sitemap), to robots.txt Disallow under every UA block (including AI-bot overrides), and renders `<meta name="robots" content="noindex, nofollow">`. - Adds `rel` prop to common/BrandButton.vue so external CTAs can pass rel="noopener noreferrer" alongside target="_blank". - Vitest unit test asserts i18n key structure (no internal-only keys, ordered sections, every indexed item has a translation). - Playwright e2e covers desktop+mobile render/visibility under @smoke, CTA click and FAQ toggle interactions, FAQPage JSON-LD presence, responsive table-to-definition-list collapse.