Skip to content

fix: improve mobile responsiveness of Releases page#170

Open
Ayush1169 wants to merge 12 commits into
CircuitVerse:mainfrom
Ayush1169:fix/release
Open

fix: improve mobile responsiveness of Releases page#170
Ayush1169 wants to merge 12 commits into
CircuitVerse:mainfrom
Ayush1169:fix/release

Conversation

@Ayush1169

@Ayush1169 Ayush1169 commented Jan 9, 2026

Copy link
Copy Markdown

Description

This PR fixes mobile responsiveness issues on the Releases page.
The layout has been updated to be mobile-first so that release cards render cleanly on smaller screens without layout breaks or cramped content.

Related Issue

Fixes #169

Type of change

  • Bug fix

Checklist

  • Code follows project style
  • Tested locally on mobile and desktop viewports
  • No unnecessary files added
  • PR title is clear and descriptive
Screenshot 2026-01-09 165159

Summary by CodeRabbit

  • Style
    • Improved responsive design for the releases page with adjusted layout, padding, and typography across breakpoints.
    • Updated release card layout and typography for better readability, wrapping, and alignment on small and large screens.
  • Chores
    • Minor .gitignore reordering and addition of a releases ignore entry (non-functional).

✏️ Tip: You can customize this high-level summary in your review settings.

@netlify

netlify Bot commented Jan 9, 2026

Copy link
Copy Markdown

Deploy Preview for cv-community-dashboard ready!

Name Link
🔨 Latest commit fa0f3ad
🔍 Latest deploy log https://app.netlify.com/projects/cv-community-dashboard/deploys/6960e94930808c0008f280df
😎 Deploy Preview https://deploy-preview-170--cv-community-dashboard.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai

coderabbitai Bot commented Jan 9, 2026

Copy link
Copy Markdown

Walkthrough

Updates the Releases feature to improve responsive layout and spacing: adds public/releases/releases.json to .gitignore; adjusts Tailwind classes in app/releases/page.tsx for responsive paddings, typography, and spacing; restructures components/Releases/ReleaseCard.tsx header into a stacked/two-column layout with responsive text sizing, wrapping, and reduced contributor spacing. No exported API or data-flow changes.

Possibly related PRs

  • community-dashboard PR 120: Introduces or modifies the same Releases page and ReleaseCard component, containing related UI/layout changes.
🚥 Pre-merge checks | ✅ 4 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: improving mobile responsiveness of the Releases page, which matches the primary objectives in the PR.
Description check ✅ Passed The description covers all required sections: a clear description of the fix, the linked issue number (#169), the type of change (bug fix), and a completed checklist with a screenshot.
Linked Issues check ✅ Passed The PR directly addresses all objectives from issue #169: making the Releases page render correctly on mobile viewports, ensuring release cards adapt to smaller screens, improving text wrapping and spacing, and resolving cramped content.
Out of Scope Changes check ✅ Passed All changes are directly related to improving mobile responsiveness: .gitignore update for releases.json, responsive Tailwind styling in page.tsx and ReleaseCard.tsx. No unrelated modifications detected.

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

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 72c6b8c and fa0f3ad.

📒 Files selected for processing (1)
  • components/Releases/ReleaseCard.tsx
🚧 Files skipped from review as they are similar to previous changes (1)
  • components/Releases/ReleaseCard.tsx

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
components/Releases/ReleaseCard.tsx (1)

12-26: Prevent overflow in the sm:flex-row header by allowing the left column to shrink.

Consider adding min-w-0 to the left column, and limiting nowrap to larger screens.

Proposed fix
-        <div className="flex flex-col sm:flex-row sm:items-start sm:justify-between gap-2 sm:gap-4">
-          <div>
+        <div className="flex flex-col sm:flex-row sm:items-start sm:justify-between gap-2 sm:gap-4">
+          <div className="min-w-0">
             <h3 className="text-base sm:text-lg font-semibold break-words">
               {release.repo} — {release.version}
             </h3>
             <p className="text-sm text-muted-foreground break-words">
               {release.summary}
             </p>
           </div>
-          <span className="text-xs sm:text-sm text-zinc-500 whitespace-nowrap sm:self-start">
+          <span className="text-xs sm:text-sm text-zinc-500 whitespace-normal sm:whitespace-nowrap sm:self-start">
             {release.date}
           </span>
         </div>
📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between dd20387 and 72c6b8c.

📒 Files selected for processing (3)
  • .gitignore
  • app/releases/page.tsx
  • components/Releases/ReleaseCard.tsx
🔇 Additional comments (2)
components/Releases/ReleaseCard.tsx (1)

28-58: Contributors wrap + tighter gap looks good for mobile.

app/releases/page.tsx (1)

8-25: Mobile-first container + responsive typography/spacing are consistent and should fix the small-viewport breakage.

Minor: worth confirming repoSlug is always defined and that repoSlug + version is unique across the dataset (otherwise React key collisions).

Comment thread .gitignore
Comment on lines 63 to +66
!app/icons.gen.ts
!app/overrides.gen.css No newline at end of file
!app/overrides.gen.css

public/releases/releases.json No newline at end of file

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

# Search for any references to releases.json or public/releases
rg "releases\.json" --type-list

Repository: CircuitVerse/community-dashboard

Length of output: 465


🏁 Script executed:

# Find all references to releases.json
rg "releases\.json" -i

Repository: CircuitVerse/community-dashboard

Length of output: 193


🏁 Script executed:

# Check for any build/generation scripts
rg "releases|getReleases" -i -A 2 --type ts --type js --type json

Repository: CircuitVerse/community-dashboard

Length of output: 7500


🏁 Script executed:

# Look at the current .gitignore file to understand context
cat -n .gitignore | head -75

Repository: CircuitVerse/community-dashboard

Length of output: 1209


🏁 Script executed:

# Check package.json for build, generate, or prepare scripts
rg "generateReleases|generate" package.json

Repository: CircuitVerse/community-dashboard

Length of output: 209


🏁 Script executed:

# Look at the full package.json to see all scripts
cat package.json | grep -A 30 '"scripts"'

Repository: CircuitVerse/community-dashboard

Length of output: 1098


🏁 Script executed:

# Check if there's a build config that runs the generation
cat next.config.js || echo "no next.config.js"

Repository: CircuitVerse/community-dashboard

Length of output: 157


🏁 Script executed:

# Also check for pre-commit or CI automation
fd "\.github|\.gitlab|Makefile|package\.json" --type f | head -20

Repository: CircuitVerse/community-dashboard

Length of output: 88


The releases.json file is required at runtime but won't exist on fresh clones or CI.

The app/releases/page.tsx calls getReleases() at runtime, which reads from public/releases/releases.json. However, scripts/generateReleases.ts (which generates this file) is not included in the build pipeline—unlike generate:leaderboard and generate:workflow which have dedicated package.json scripts. Since the file is also ignored in .gitignore, it will be missing on fresh clones and CI runs, breaking the releases page.

Add the generation script to the build pipeline (e.g., as a prebuild step or explicit generate:releases script), or ensure the app gracefully handles the missing file. Additionally, anchor the .gitignore pattern with /public/releases/releases.json to avoid accidental matches elsewhere.

@Git-HimanshuRathi Git-HimanshuRathi left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Ayush1169 fix the code rabbit suggestions .

@Ayush1169

Copy link
Copy Markdown
Author

Thanks for the review @Git-HimanshuRathi

Just to clarify, getReleases() already handles the absence of
public/releases/releases.json gracefully by wrapping the file read in a
try/catch and returning an empty array on failure. This prevents runtime
crashes on fresh clones or CI.

The file is intentionally ignored and generated via the workflow when needed.
No build-time dependency exists for the Releases page.

All UI-related CodeRabbit suggestions have been addressed.
Please let me know if anything else is required.

@Git-HimanshuRathi Git-HimanshuRathi left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The file is generated later by a workflow when needed, and the Releases page is designed to work even if the file is not present. Because of that, it’s not required to be part of the build process. so can u please fix what code rabbit has suggested also there is some conflicts too .

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.

Releases page layout breaks on smaller screen sizes

2 participants