Skip to main content
Themes are packages under themes/<id>/, not separate apps. Buyers switch looks from /admin/themes without forking routes.

Package shape

Shared nav/footer chrome stays in components/landing/templates/ until a later phase. Compatibility shims re-export packages:
  • StreamlyTemplate.tsx
  • StreamlixTemplate.tsx
  • OneTubeTemplate.tsx → StreamTube package (shim name only)

Skin pipeline

Homes stay unique templates. Browse / detail / account share logic + theme skins — do not duplicate page files per theme.

Built-in character

Preview

  • Operator session required
  • In-memory merge of preset/seed — not Apply
  • Must flip data-storefront-theme so preview chrome matches the previewed theme
  • Floating banner links back to Themes