Skip to content

feat: seo#82

Merged
SimonBurmer merged 7 commits intomainfrom
seo
Apr 6, 2026
Merged

feat: seo#82
SimonBurmer merged 7 commits intomainfrom
seo

Conversation

@SimonBurmer
Copy link
Copy Markdown
Collaborator

@SimonBurmer SimonBurmer commented Apr 6, 2026

Summary by CodeRabbit

Release Notes

  • New Features

    • Added loading and error pages for improved navigation experience
    • Added sitemap and robots metadata for enhanced search visibility
  • Updates

    • Updated site navigation: HOME button now directs to root, Jobs link redirects to external careers site
    • Enhanced page metadata (titles, descriptions, OpenGraph fields) across all routes for better SEO and social sharing

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 6, 2026

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

Project Deployment Actions Updated (UTC)
start-munich Ready Ready Preview, Comment Apr 6, 2026 9:36pm

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 6, 2026

📝 Walkthrough

Walkthrough

This PR refactors the Next.js application by extracting large client-side page implementations into dedicated *Content.tsx components, converting route pages into thin server-side wrappers. Mock data fallbacks are removed, several routes restructured, and metadata enriched throughout.

Changes

Cohort / File(s) Summary
About Us Page Refactoring
app/about-us/AboutUsContent.tsx, app/about-us/page.tsx
Extracted client-side About Us implementation (hero, boards, advisory, mission partners, CTA) into AboutUsContent.tsx; page.tsx now renders content component and exports metadata.
Events Page Refactoring
app/events/EventsContent.tsx, app/events/page.tsx
Moved full Events page logic (timeline, slider, drag handling, recurring events) into EventsContent.tsx; route page simplified to wrapper with metadata export.
Member Journey Page Refactoring
app/member-journey/MemberJourneyContent.tsx, app/member-journey/page.tsx
Extracted interactive timeline/department/events/testimonials sections into MemberJourneyContent.tsx; route page converted to server component with metadata.
Member Network Page Refactoring
app/member-network/MemberNetworkContent.tsx, app/member-network/page.tsx
Moved company fetch and logo-card rendering logic into MemberNetworkContent.tsx; route page now renders content and exports metadata.
Members Page Refactoring
app/members/MembersContent.tsx, app/members/page.tsx
Extracted analytics, boards, batch-gallery state/logic into MembersContent.tsx; route page simplified to wrapper with metadata.
Partners Page Refactoring
app/partners/PartnersContent.tsx, app/partners/page.tsx
Moved partner fetch, filter/search, category grouping into PartnersContent.tsx; route page converted to thin wrapper with metadata export.
Startups Page Refactoring
app/startups/StartupsContent.tsx, app/startups/page.tsx
Extracted startup fetch, filtering, pagination, sections into StartupsContent.tsx; route page delegates to content component with metadata.
Startup Details Page Refactoring
app/startup-details/[id]/StartupDetailsContent.tsx, app/startup-details/[id]/page.tsx
Created StartupDetailsContent.tsx with detail rendering logic; page.tsx adds generateMetadata() for dynamic SEO and delegates rendering.
Route Removals
app/jobs/page.tsx, app/our-mission/page.tsx
Removed /jobs redirect route and /our-mission redirect-to-about-us route entirely.
Home Page Refactor
app/page.tsx
Replaced /home redirect with server-rendered root page that fetches featured partners/startups from NocoDB at request time; added ISR caching (3600s), metadata, and JSON-LD.
Mock Data Removal
lib/mockMembers.ts
Removed entire mock members module including interface, data array, and query helper functions (getMembersByBatch, getMembersByRole, getAllBatches, getAllRoles).
API Fallback Removal
app/api/members/route.ts, app/api/members/batch/[batchId]/route.ts
Removed fallback to mock members; routes now return empty arrays on missing env vars or failed API responses instead of returning cached mock data.
Type Consolidation
lib/types.ts
Added Partner and Startup interfaces (moved from component-local declarations); HomeClient.tsx updated to import these types instead of declaring locally.
Navigation Updates
components/Navigation.tsx
Updated logo/HOME links from /home to /; changed "Our Jobs" from internal /jobs route to external https://jobs.startmunich.de/jobs.
Error Handling & Loading
app/error.tsx, app/loading.tsx
Added error boundary component with "Try again" button; added loading spinner component for root-level loading state.
Metadata & SEO Infrastructure
app/layout.tsx, app/robots.ts, app/sitemap.ts, app/join-start/2026/page.tsx
Removed global canonical from layout; added robots.ts with sitemap reference; added sitemap.ts with static route entries; added metadata to join-start/2026; enhanced for-partners page with FAQ JSON-LD and Image optimization.
Component Styling
components/CTA.tsx
Changed CTA button border-radius from rounded-lg to rounded-full.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~70 minutes

Possibly related PRs

  • Feat/member network #31: Both PRs modify the member-network feature; the related PR adds the /api/member-network route and updates company data shape, while this PR implements MemberNetworkContent that fetches from that API and converts the page to a server wrapper.
  • feat: make Member Journey ROUND #34: Both PRs refactor the member-journey page; the related PR edits the client-side timeline/layout/styling in the original file, while this PR extracts those into MemberJourneyContent.tsx and converts the route page—changes overlap and may conflict.
  • Feat: Events page ROUND #32: Both PRs modify app/events/page.tsx; the related PR adjusts Events UI/structure in the original file, while this PR extracts all logic into EventsContent.tsx and replaces the page—changes touch the same implementation.

Poem

🐰 Content components hop into their own files,
Routes now wear their metadata with style!
Mock data fades, real data takes the lead,
Navigation points true to where we need,
A cleaner architecture, swift and light! 🌟

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 10.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title 'feat: seo' is vague and does not clearly convey the scope of changes, which involve significant refactoring (component extraction, metadata additions, API behavior changes, route removals, and more). Provide a more specific title that describes the main changes, such as 'feat: refactor pages to extract client components and add metadata' or 'feat: improve seo and page architecture'.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch seo

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@SimonBurmer SimonBurmer changed the title Seo feat: seo Apr 6, 2026
@SimonBurmer SimonBurmer merged commit 5129faa into main Apr 6, 2026
2 checks passed
@SimonBurmer SimonBurmer deleted the seo branch April 6, 2026 21:40
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.

1 participant