site-builder: feedback batch (social, features, header menu, spacer)

Five of six items from user feedback (Contact Form email delivery split
into a focused, live-tested follow-up):

- Social Links: add Spotify + Twitch (FA 4.7.0 already ships both glyphs).
- Features Grid: per-feature icon/image toggle (upload + URL) and an
  optional button (text + url); render, settings, and HTML export updated,
  backward compatible with existing icon-only features.
- Header: seed the default header with a Navbar (logo + Home/About/Services/
  Contact) so new sites open with an editable menu-with-links instead of an
  empty header zone. Adds a vitest guard that the seed deserializes and
  exports a real <nav>.
- Canvas: slim the empty header/footer placeholder from a padded band to a
  thin hint line so an empty zone no longer reads as a stray spacer.

Design spec: docs/superpowers/specs/2026-07-06-site-builder-feedback-batch-design.md

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-06 17:53:22 -07:00
parent d0925d9e2d
commit 53c40f856f
6 changed files with 268 additions and 6 deletions
+3 -2
View File
@@ -48,9 +48,10 @@ const ZonePreview: React.FC<{ craftState: string | null; zone: 'header' | 'foote
data-zone-preview={zone}
style={{
width: '100%',
minHeight: 40,
// Slim hint bar, not a content-height band — an empty zone should not
// read as a stray spacer between the page and the header/footer.
padding: '5px 12px',
backgroundColor: zone === 'header' ? '#ffffff' : '#0f172a',
padding: '12px 24px',
color: zone === 'header' ? '#9ca3af' : '#64748b',
textAlign: 'center',
fontSize: 11,