Uh oh!
There was an error while loading. Please reload this page.
improvement(landing): scope navbar/footer to (shell) route group, align scoped 404s with root - #4246
Conversation
…p, align scoped 404s with root Move integrations and models page routes into a `(shell)` route group so the Navbar+Footer layout wraps pages but not `not-found.tsx`. This lets scoped 404s render the same `<AuthBackground>` + Navbar treatment as the root `/` 404, instead of appearing inside the landing CTA footer. Extract the shared 404 markup into `<NotFoundView>` so root, integrations, and models 404s share a single source of truth. Route URLs are unchanged — route groups are URL-transparent. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryMedium Risk Overview Moves the integrations index/detail pages under an Reviewed by Cursor Bugbot for commit 4bbf211. Configure here. |
Greptile SummaryThis PR restructures the landing-surface routing by moving Confidence Score: 5/5Safe to merge — structural rename with no logic changes, correct import path updates, and clean deduplication. All changed files are either pure renames (100% similarity) or trivial delegations to the new NotFoundView component. Import paths are correctly updated to @/ aliases after the move. No P0/P1 findings exist. No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A["(landing)/layout.tsx\nminimal wrapper"] --> B["integrations/"]
A --> C["models/"]
B --> B1["(shell)/layout.tsx\nNavbar + Footer"]
B --> B2["not-found.tsx\nNotFoundView"]
B1 --> B3["(shell)/page.tsx\n/integrations"]
B1 --> B4["(shell)/[slug]/page.tsx\n/integrations/:slug"]
C --> C1["(shell)/layout.tsx\nNavbar + Footer"]
C --> C2["not-found.tsx\nNotFoundView"]
C1 --> C3["(shell)/page.tsx\n/models"]
C1 --> C4["(shell)/[provider]/page.tsx\n/models/:provider"]
C1 --> C5["(shell)/[provider]/[model]/page.tsx\n/models/:p/:m"]
NF["app/not-found.tsx\nNotFoundView"] --> NFC["NotFoundView\nNavbar + AuthBackground\nno Footer"]
B2 --> NFC
C2 --> NFC
style NFC fill:#1a1a2e,color:#fff
style B2 fill:#162032,color:#fff
style C2 fill:#162032,color:#fff
style NF fill:#162032,color:#fff
Reviews (2): Last reviewed commit: "fix(landing): convert relative imports t..." | Re-trigger Greptile |
…hell) page Build failed because the move into the (shell) route group invalidated relative `./components/...` and `./data/...` imports. CLAUDE.md mandates absolute imports throughout — switching these resolves the Turbopack build errors. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
waleedlatif1
commented
Apr 21, 2026
waleedlatif1
commented
Apr 21, 2026
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 4bbf211. Configure here.
Uh oh!
There was an error while loading. Please reload this page.
Summary
(shell)route group so the Navbar+Footer layout wraps pages but notnot-found.tsx. Route URLs are unchanged — route groups are URL-transparent.<NotFoundView>component (Navbar +<AuthBackground>+ centered "Page not found" + return-home link) used by the rootapp/not-found.tsxand the scoped(landing)/integrations/not-found.tsxand(landing)/models/not-found.tsx./models/foo/bar/bazand/integrations/xyznow render the same 404 treatment as/rand(root). Previously they sat inside the landing CTA footer with no decorative background.Why
Before this, scoped 404s rendered through
IntegrationsLayout/ModelsLayout, which include the landing<Footer>("What should we get done?" CTA). That made invalid routes under/integrations/*and/models/*look visually inconsistent with/randand any other top-level 404.The Next.js-idiomatic fix is to scope the Navbar+Footer shell to the actual pages via a
(shell)route group, leavingnot-found.tsxto render under just the minimal(landing)/layout.tsx— free to wrap itself in the same<AuthBackground>+ Navbar treatment as the root.Test plan
/integrations/xyz-not-realand/models/anthropic/not-real— expect the same look as/rand(Navbar + grid background + centered "Page not found" + Return to Home, no footer)/integrations,/integrations/[valid-slug],/models,/models/[provider],/models/[provider]/[model]— expect Navbar + Footer shell still present, content unchanged/models/opengraph-image,/models/[provider]/opengraph-image,/models/[provider]/[model]/opengraph-image