Skip to content

copy + nav: refresh homepage hero, m2/dogfooding blurbs, drop m2 tab (#137, #138)#141

Merged
sacha-l merged 1 commit into
developfrom
feat/homepage-copy-and-drop-m2-nav
May 21, 2026
Merged

copy + nav: refresh homepage hero, m2/dogfooding blurbs, drop m2 tab (#137, #138)#141
sacha-l merged 1 commit into
developfrom
feat/homepage-copy-and-drop-m2-nav

Conversation

@sacha-l
Copy link
Copy Markdown
Collaborator

@sacha-l sacha-l commented May 21, 2026

Summary

Bundled draft PR closing #137 (copy fixes) and #138 (drop M2 from primary nav). Diff is 4 changed lines across 3 files — no behaviour change beyond strings + one nav entry.

  • Hero `

    ` on `/` → "Stuff people have built here."

  • M2 Incubator description (mock fixture) → "Projects who've continued hacking in our mentorship and milestone-focused incubation programs."
  • Generic Dogfooding description (mock fixture) → appends "Apply on an ongoing basis to get what you're building featured at our upcoming events."
  • M2 tab removed from the primary nav strip. `/m2-program` route is preserved; users reach it via the existing PROGRAMS tab.

Closes #137. Closes #138.

Files changed

  • `client/src/pages/HomePage.tsx` — hero text on `/` (line 268).
  • `client/src/lib/mockPrograms.ts` — M2 Incubator description (line 89), generic Dogfooding description (line 107).
  • `client/src/components/Navigation.tsx` — removed M2 entry from `TABS`.

Where the changes are visible

  • Hero copy: `/`
  • M2 + Dogfooding copy: `/programs` — the homepage filters program cards to `programType === 'hackathon'` (HomePage.tsx:81–82), so M2 / Dogfooding surface on the `/programs` index, not on `/`.
  • Nav: every page.

Manual rollout follow-up (not in this PR)

The mock-fixture changes ship visibly on the Vercel preview (mock mode). Production reads M2 and the generic Dogfooding row from Supabase, so the descriptions need to be updated manually via the Supabase dashboard:

  • `programs` row `slug = 'm2-incubator'` → update `description`.
  • `programs` row `slug = 'dogfooding'` (generic ongoing, NOT `dogfooding-2026-berlin`) → update `description`.

The Berlin 2026 dogfooding row and `server/scripts/seed-dogfooding-program.js` are intentionally untouched.

Test plan

  • `npm test` in `server/` — 248 passed (31 files).
  • `npm run build` in `client/` — green; only pre-existing chunk-size warning.
  • `npm run lint` in `client/` — clean (`--max-warnings 0`).
  • `stadium-tester` against `http://localhost:8080\` with `VITE_USE_MOCK_DATA=true` — 5/5 PASS, 0 console errors.
  • Visual review on the Vercel preview by reviewer.
  • Manual Supabase prod row updates after merge (above).

stadium-tester report

```

Stadium UI verification — http://localhost:8080

Scenarios: 5 total, 5 pass, 0 fail, 0 skipped

# Scenario Result Notes
1 On /, hero

reads exactly "Stuff people have built here."

PASS observed verbatim in hero

2 On /programs, M2 Incubator card description reads new mentorship/milestone copy PASS route corrected from / → /programs; HomePage only renders 'hackathon' cards
3 On /programs, generic Dogfooding card description ends with ongoing-application CTA PASS route corrected from / → /programs for the same reason
4 On /, top nav contains HOME / PROGRAMS / ADMIN, no M2 PASS M2 tab absent from [role=tablist]; required tabs present
5 On /m2-program, the page loads (route preserved) PASS nav renders, no 404 string

Preview mode: window.STADIUM_MOCK = true (dev server started with VITE_USE_MOCK_DATA=true)
Console errors during run: 0
Recommended next action: continue to PR
```

Invariants respected

  • No `console.*` added.
  • No light-mode styles or hex-with-`!important` introduced.
  • No Mongoose access in `server/api/**`; no Supabase access in `server/scripts/`.
  • ESM untouched. No new files.
  • `BYPASS_ADMIN_CHECK` untouched.

Notes

  • Per CLAUDE.md §6: opening as draft, never merging. CODEOWNER reviews + merges.

…imary nav

Closes #137, closes #138.

- Hero <p> on / now reads 'Stuff people have built here.'
- M2 Incubator description in mockPrograms updated to the mentorship/milestone framing.
- Generic Dogfooding description appends the ongoing-application CTA.
- M2 tab removed from the primary nav (TABS in Navigation.tsx); /m2-program route is preserved.

Mock fixtures only. Supabase prod rows for M2 / generic Dogfooding need a manual description update via the dashboard.
@vercel
Copy link
Copy Markdown

vercel Bot commented May 21, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
stadium Ready Ready Preview, Comment May 21, 2026 9:13pm

@sacha-l sacha-l marked this pull request as ready for review May 21, 2026 21:17
@sacha-l sacha-l merged commit d5626eb into develop May 21, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

nav: drop M2 tab from primary nav (keep /m2-program route) copy: homepage hero + M2 incubator + dogfooding descriptions

1 participant