Skip to content

Feat: /home caching for logos and startups#49

Merged
SimonBurmer merged 1 commit intomainfrom
feat/caching3
Apr 4, 2026
Merged

Feat: /home caching for logos and startups#49
SimonBurmer merged 1 commit intomainfrom
feat/caching3

Conversation

@SimonBurmer
Copy link
Copy Markdown
Collaborator

@SimonBurmer SimonBurmer commented Apr 4, 2026

Summary by CodeRabbit

  • New Features

    • Added enhanced home page with animated hero section, scrolling partner/startup lists, and rotating news carousel with pagination.
  • Bug Fixes

    • Improved logo error handling with text fallback displays.
  • Style

    • Updated board section layouts with responsive grid formatting for better mobile display.
  • Chores

    • Optimized data fetching strategy for improved performance and reduced client-side load.

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 4, 2026

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

Project Deployment Actions Updated (UTC)
start-munich Building Building Preview, Comment Apr 4, 2026 5:18pm

@SimonBurmer SimonBurmer merged commit 5c982a1 into main Apr 4, 2026
1 of 3 checks passed
@SimonBurmer SimonBurmer deleted the feat/caching3 branch April 4, 2026 17:18
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 4, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: b1c5fd30-97a1-4636-860a-c59120e1421a

📥 Commits

Reviewing files that changed from the base of the PR and between d55f83d and 9808824.

📒 Files selected for processing (3)
  • app/about-us/page.tsx
  • app/home/HomeClient.tsx
  • app/home/page.tsx

📝 Walkthrough

Walkthrough

The changes refactor the home page architecture from a purely client-side implementation to a hybrid server/client approach, moving data fetching to the server with NocoDB integration and caching. A new HomeClient component handles all home page UI rendering. Layout adjustments to the about-us page convert Executive Board and Department Board containers from flex-based to responsive grid-based designs.

Changes

Cohort / File(s) Summary
About-Us Layout Updates
app/about-us/page.tsx
Replaced flex flex-wrap containers with responsive grid grid-cols-2 base layouts for Executive Board and Department Board sections, maintaining responsive behavior via lg:flex lg:flex-wrap overrides and preserving existing spacing and transition classes.
Home Page Server Component
app/home/page.tsx
Converted from client component to async server component with server-side NocoDB data fetching (using xc-token header and cache revalidation every 3600 seconds). Replaced client-side fetchPartners/fetchStartups with server-side variants that filter and map NocoDB records, then pass results as props to HomeClient. Removed dynamic = 'force-dynamic' export.
Home Page UI Client Component
app/home/HomeClient.tsx
New 788-line client component encapsulating all home page UI logic: hero background crossfade, animated number sections, rotating "turning phrases," brand/startup carousel sections with error-handling for broken logos, latest news pagination/grid (desktop 3-column + mobile stack), inline script for iframe height updates via ResizeObserver, and style jsx global for numeric table styling.

Sequence Diagram(s)

sequenceDiagram
    participant User as User/Browser
    participant Server as Next.js Server
    participant NocoDB as NocoDB
    participant HomeClient as HomeClient Component
    
    User->>Server: Request /home
    activate Server
    
    Server->>NocoDB: Fetch partners (with xc-token)
    activate NocoDB
    NocoDB-->>Server: Partner records (with filtering by Show, Featured)
    deactivate NocoDB
    
    Server->>NocoDB: Fetch startups (with xc-token)
    activate NocoDB
    NocoDB-->>Server: Startup records (with filtering by Featured/YC/EWOR)
    deactivate NocoDB
    
    Server->>Server: Map NocoDB records to Partner[]/Startup[]<br/>(resolve logoUrl, apply fallbacks)
    
    Server->>HomeClient: Render with initialPartners & initialStartups
    deactivate Server
    
    HomeClient->>HomeClient: Mount component<br/>(useInView, animated numbers, carousel state)
    HomeClient->>User: Deliver HTML + JS
    activate User
    
    User->>HomeClient: User interactions<br/>(scroll, carousel navigation, news pagination)
    HomeClient->>User: Update UI, animate sections, rotate content
    deactivate User
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

  • PR #20 — Directly related architectural changes to home page with initial Partner/Startup interface definitions and client-side fetching; this PR moves that logic to server-side and refactors rendering into HomeClient.
  • PR #48 — Modifies the same app/about-us/page.tsx Executive Board portrait layout container, making related responsive grid adjustments.
  • PR #42 — Updates app/about-us/page.tsx Executive Board and Department Board card presentation (grid vs. flex layouts), overlapping with the layout changes in this PR.

Poem

🐰 From client-side dreams to server-side streams,
Data flows down with NocoDB beams,
Grid layouts shine where flexbox once stood,
HomeClient renders—the architecture's good! ✨

✨ Finishing Touches
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch feat/caching3

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.

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