Commit dbe2ca7
feat(home): editorial homepage, sticky top nav, and category drill-down
Reframes the home and library-browse surfaces as an editorial review
site (Tom's Hardware / Top 10 Reviews vibe) where every block is a
teaser into a deeper page rather than a single tall landing.
New surfaces
- src/components/home/HomeEditorial.tsx: featured Start hero with
embedded application starter, top-libraries leaderboard side rail,
trust pillars, Trusted-By marquee, live OSS Stats deferred section,
four "Top picks by category" cards, latest writing, tiered partners
(Gold/Silver/Bronze), Discord + YouTube community pair.
- src/components/editorial/EditorialTopNav.tsx: sticky global top nav
(eyebrow strip + brand + 11-item primary nav + search + compact 2x3
social cluster + theme + mobile drawer) and a pinned Gold Partners
strip with "Sponsored" hover tooltips.
- src/components/stack/* + src/routes/stack.\$category.tsx: four
buyer's-guide-style category articles
(/stack/{state,ui,performance,tooling}) with hero, Top Pick, quick
verdict table, ranked list, criteria block, related writing and a
sticky right-rail TOC + cross-category compare.
Global shell
- src/routes/__root.tsx: render EditorialTopNav on every page; non-
editorial pages still wrap children with <Navbar hideHeader> so the
contextual library left rail is preserved on docs pages.
- src/components/Navbar.tsx: add hideHeader prop. When true the global
Navbar skips its own fixed top header and lets EditorialTopNav own
--navbar-height (published by EditorialTopNav via ResizeObserver).
Page opt-ins
- /, /stack/\$category, /libraries, /libraries/\$framework, /partners,
/blog, /showcase + children, /stats/npm, /merch all set
staticData.showNavbar: false to drop the library left rail and use
the editorial top-nav-only layout.
Data and dev DX
- src/utils/partners.tsx: promote Railway from bronze -> gold.
- src/utils/documents.server.ts: when DATABASE_URL is unset (dev
without Postgres), fall back from getCachedGitHubTextFile to the
in-memory fetchCached path so library docs pages render locally
without a DB.
Notes for reviewers
- Removed deferred home sections (HomeSocialProofSection,
HomeCommunitySection, HomeBytesSection, standalone
HomeApplicationStarter usage) are kept as components -- only their
homepage render is gone.
- routeTree.gen.ts is regenerated by the build; included for
completeness.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 231bc91 commit dbe2ca7
21 files changed
Lines changed: 2041 additions & 525 deletions
File tree
- src
- components
- editorial
- home
- stack
- routes
- showcase
- stats/npm
- utils
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
134 | | - | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
135 | 141 | | |
136 | 142 | | |
137 | 143 | | |
| |||
145 | 151 | | |
146 | 152 | | |
147 | 153 | | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
148 | 158 | | |
149 | 159 | | |
150 | 160 | | |
| |||
161 | 171 | | |
162 | 172 | | |
163 | 173 | | |
164 | | - | |
| 174 | + | |
165 | 175 | | |
166 | 176 | | |
167 | 177 | | |
| |||
760 | 770 | | |
761 | 771 | | |
762 | 772 | | |
763 | | - | |
| 773 | + | |
764 | 774 | | |
765 | 775 | | |
766 | 776 | | |
767 | | - | |
768 | | - | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
769 | 781 | | |
770 | 782 | | |
771 | 783 | | |
| |||
0 commit comments