Skip to content

Revamp UI/UX with new design and responsive layout#58

Merged
LCSOGthb merged 12 commits into
mainfrom
ai_main_46c093cd74dc48aebf75
Jun 9, 2026
Merged

Revamp UI/UX with new design and responsive layout#58
LCSOGthb merged 12 commits into
mainfrom
ai_main_46c093cd74dc48aebf75

Conversation

@LCSOGthb

@LCSOGthb LCSOGthb commented Jun 9, 2026

Copy link
Copy Markdown
Owner

User description

Summary

This PR revamps the visual design of the coming-soon page with a refreshed color palette, improved card layout, and full responsive/adaptive screen support. It also removes the hidden screen-reader label from the language selector and centers the card properly on all screen sizes.

Problem

The coming-soon card was not centered on the screen, the overall UI felt visually heavy and lacked polish, and there was no adaptive/responsive styling for smaller screen sizes. The language selector also included an unnecessary hidden label element.

Key Changes

  • Color palette overhaul: Updated CSS variables to a slate/indigo-based theme (--bg-base, --bg-card, --accent, --accent-light, etc.) with a refreshed animated gradient background
  • Card redesign: Changed card to a wider rectangular shape (max-width: 580px), increased border-radius to 2.5rem, enhanced backdrop blur to 40px, and added a hover state with subtle indigo glow
  • Centered card: Applied margin: auto both in CSS and inline style to ensure the card is properly centered within the flex container
  • Responsive/adaptive layout: Added breakpoint-specific styles at 768px, 640px, and 480px for the card, title, subtitle, buttons, and version label
  • Title gradient: Applied an indigo gradient text effect to .coming-soon-title using background-clip: text
  • Action button styles: Added .action-buttons, .btn, .btn-primary, and .btn-secondary CSS classes for future use
  • Language selector polish: Updated selector styling with rounded corners, accent-colored focus/hover states, and removed the <label> element from the JSX
  • Gradient animation: Slowed background animation from 15s to 20s for a smoother feel

Edit in Builder  Preview

Tip

This PR wasn't reviewed by Quality Agent. Enable it in Project Settings to get AI-powered code review on every PR.


To clone this PR locally use the Github CLI with command gh pr checkout 58

You can tag me at @BuilderIO for anything you want me to fix or change


CodeAnt-AI Description

Refresh the coming-soon page with a clearer layout and mobile-friendly spacing

What Changed

  • The coming-soon card is now centered more reliably on the page
  • The page uses a new darker blue theme with a softer glass-like card, larger rounded corners, and a smoother animated background
  • The headline now uses a gradient style and the text spacing is adjusted for tablet and phone screens
  • The language selector is cleaned up by removing the extra hidden label while keeping the visible control and accessibility label
  • The version label and card padding scale down on smaller screens so the page fits better on mobile

Impact

✅ Cleaner coming-soon screen
✅ Fewer layout issues on mobile
✅ Easier language selection

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

Summary by Sourcery

Revamp the coming-soon page with a new indigo-themed glassmorphism design and improved responsive layout.

New Features:

  • Introduce reusable action button styles for primary and secondary actions on the coming-soon page.

Bug Fixes:

  • Ensure the coming-soon card is reliably centered within the viewport across screen sizes.
  • Simplify the language selector markup by removing an unnecessary hidden label element.

Enhancements:

  • Update global color variables to a slate/indigo palette with a smoother animated gradient background.
  • Redesign the coming-soon card with a wider, rounded glass-like layout, hover effects, and refined typography.
  • Improve responsive behavior of the coming-soon card, title, subtitle, and version label across tablet and mobile breakpoints.
  • Polish the language selector styling with rounded corners and accent-focused hover and focus states.

@vercel

vercel Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated (UTC)
games Ready Ready Preview, Comment Jun 9, 2026 3:00pm

@cr-gpt

cr-gpt Bot commented Jun 9, 2026

Copy link
Copy Markdown

Seems you are using me but didn't get OPENAI_API_KEY seted in Variables/Secrets for this repo. you could follow readme for more information

@codeant-ai

codeant-ai Bot commented Jun 9, 2026

Copy link
Copy Markdown

CodeAnt AI is reviewing your PR.


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@qodo-code-review

qodo-code-review Bot commented Jun 9, 2026

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (3) 📘 Rule violations (0) 📎 Requirement gaps (0) 🎨 UX issues (0)

Grey Divider


Remediation recommended

1. No reduced-motion fallback 🐞 Bug ◔ Observability
Description
The UI uses continuous background animation plus hover transitions/transforms without a
prefers-reduced-motion fallback, so users who request reduced motion will still see motion effects.
This is an accessibility regression risk given the newly-introduced/updated motion styling.
Code

app/globals.css[66]

+  animation: gradientShift 20s ease infinite;
Evidence
The stylesheet defines an infinite background animation and adds transitions/transforms for
interactive elements; there is no conditional gating shown around these effects.

app/globals.css[53-67]
app/globals.css[98-127]
app/globals.css[230-253]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
`app/globals.css` applies motion effects (infinite gradient animation, transitions, hover transforms) unconditionally. Users with `prefers-reduced-motion: reduce` should have these animations/transitions disabled or significantly reduced.

### Issue Context
- Infinite animation: `.animated-gradient { animation: gradientShift ... infinite; }`
- Card transition: `.coming-soon-card { transition: ... }`
- Button hover transform: `.btn-primary:hover { transform: translateY(-2px); }`

### Fix Focus Areas
- app/globals.css[53-67]
- app/globals.css[98-127]
- app/globals.css[230-253]

### Suggested fix
Add a block like:
```css
@media (prefers-reduced-motion: reduce) {
 .animated-gradient { animation: none; }
 .coming-soon-card, .btn { transition: none; }
 .btn-primary:hover { transform: none; }
}
```
Adjust selectors as desired to match intended UX.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Informational

2. Card transitions animate "all" 🐞 Bug ➹ Performance
Description
.coming-soon-card uses transition: all, which can unintentionally animate future property changes
and makes performance characteristics harder to reason about. Limiting transitions to the specific
properties changed on hover reduces the chance of accidental expensive animations.
Code

app/globals.css[109]

+  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
Evidence
The card explicitly sets transition: all and uses backdrop-filter/box-shadow-heavy styling; hover
updates visual properties, so narrowing the transition set is straightforward and safer long-term.

app/globals.css[98-127]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
`.coming-soon-card` uses `transition: all ...`, which is overly broad and can cause unintended animations as styles evolve.

### Issue Context
Hover currently changes `background`, `border-color`, and `box-shadow`.

### Fix Focus Areas
- app/globals.css[98-127]

### Suggested fix
Replace:
```css
transition: all 0.4s ...;
```
with something like:
```css
transition: background-color 0.4s ..., border-color 0.4s ..., box-shadow 0.4s ...;
```
(Use `background` vs `background-color` consistently based on your declarations.)

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


3. Duplicate card centering styles 🐞 Bug ⚙ Maintainability
Description
Home() adds an inline style={{ margin: 'auto' }} to .coming-soon-card even though the CSS class
already sets margin: auto. This is redundant and makes future layout adjustments more confusing
because inline styles take precedence over stylesheet rules.
Code

app/page.tsx[39]

+        <div className="coming-soon-card" style={{ margin: "auto" }}>
Evidence
The JSX applies margin: auto inline, while the .coming-soon-card CSS class already applies the
same rule.

app/page.tsx[35-42]
app/globals.css[98-119]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
Inline centering (`style={{ margin: 'auto' }}`) duplicates `.coming-soon-card { margin: auto; }` in the global stylesheet.

### Issue Context
Keeping centering logic in one place (CSS or markup) reduces precedence surprises.

### Fix Focus Areas
- app/page.tsx[35-42]
- app/globals.css[98-119]

### Suggested fix
Remove the inline style from `app/page.tsx` and rely on the CSS class (or, if centering should be component-specific, remove `margin: auto;` from the global class and use a Tailwind utility / component-scoped style instead).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

@difflens

difflens Bot commented Jun 9, 2026

Copy link
Copy Markdown

View changes in DiffLens

1 similar comment
@difflens

difflens Bot commented Jun 9, 2026

Copy link
Copy Markdown

View changes in DiffLens

@coderabbitai

coderabbitai Bot commented Jun 9, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: e1412f75-5768-46bf-8ece-44ab6e3274d3

📥 Commits

Reviewing files that changed from the base of the PR and between 0f92a6c and 4454d9a.

📒 Files selected for processing (1)
  • app/globals.css

Cache: Disabled due to Reviews > Disable Cache setting


📝 Walkthrough

Summary by CodeRabbit

  • Style
    • Updated color theme to a new dark palette with new accent colors.
    • Redesigned coming soon card with enhanced visual effects, improved sizing, and responsive adjustments.
    • Enhanced typography with responsive font sizes and gradient text styling.
    • Improved button styling with updated hover effects.
    • Refined language selector appearance and focus states.
    • Enhanced mobile and tablet layouts with adjusted spacing.
  • Other
    • Centered coming soon card layout and minor language-selector accessibility tweak.

Walkthrough

This PR redesigns the "coming soon" UI with a dark theme: new root tokens and accent variables, updated animated gradient, revamped coming-soon card layout, refreshed typography and button styles, language selector/focus styling, and mobile positioning tweaks. Small page integration changes remove a hidden label and center the card.

Changes

Coming Soon UI Redesign

Layer / File(s) Summary
Design tokens and theme foundation
app/globals.css
Root CSS custom properties updated to a darker palette (--bg-base, --bg-surface, --bg-card, --text-primary, --text-secondary, --border-default, --border-hover, --focus-ring) and new accent variables (--accent, --accent-light); animated gradient stops and timing updated.
Coming-soon card layout and responsive design
app/globals.css
.coming-soon-card restyled with increased backdrop blur, translucent dark surface, updated borders/shadow, clamped-width layout (max-width) instead of fixed square, hover states, and responsive rules at 768px and 480px adjusting spacing/padding.
Typography and button control styling
app/globals.css
.coming-soon-title and .coming-soon-subtitle rebuilt with gradient accent text and multi-breakpoint font sizes; .action-buttons, .btn, .btn-primary, and .btn-secondary added with gradient primary treatment, outlined secondary, hover transforms, and responsive spacing.
Language selector and form control updates
app/globals.css
.language-selector select updated to use translucent dark background, new border radius/padding/min-width, accent-based hover, and focus/focus-visible ring changed from --focus-ring to accent-based border/shadow.
Mobile-specific responsive adjustments
app/globals.css
Mobile media query (max-width: 480px) added to reduce .version-label font size and adjust bottom/right positioning.
Page component integration
app/page.tsx
Removed redundant hidden <label> for the language selector while retaining aria-label; added inline style={{ margin: "auto" }} to center the coming-soon card wrapper.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • LCSOGthb/Games#48: Overlaps on app/globals.css root design tokens and focus/accent updates.
  • LCSOGthb/Games#53: Related edits to .coming-soon-card styling and responsive behavior.
  • LCSOGthb/Games#49: Prior changes to the same coming-soon UI and minor page tweaks.

Poem

🐰 In moonlit hues the card now gleams,
Accent lights like starlit streams,
Buttons shimmer, titles glow,
A centered page, soft shadows flow,
The coming-soon waits, ready to show.

🚥 Pre-merge checks | ✅ 2 | ❌ 3

❌ Failed checks (1 warning, 2 inconclusive)

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.
Title check ❓ Inconclusive The title 'Update from the Builder.io agent' is vague and does not clearly convey the actual changes made (CSS theming updates and minor HTML adjustments to a coming-soon UI). Use a more descriptive title that summarizes the actual changes, such as 'Update coming-soon card styling and dark theme colors' or 'Refresh coming-soon UI with dark palette and improved styling'.
Description check ❓ Inconclusive The description is largely auto-generated metadata and links with minimal substantive content about what the pull request actually changes. Replace or expand the description with clear details about the CSS theme updates, coming-soon card redesign, and component styling changes made in this PR.
✅ Passed checks (2 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ai_main_46c093cd74dc48aebf75
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch ai_main_46c093cd74dc48aebf75

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.

@builder-io-integration builder-io-integration Bot changed the title Update from the Builder.io agent Revamp UI/UX with new design and responsive layout Jun 9, 2026
@difflens

difflens Bot commented Jun 9, 2026

Copy link
Copy Markdown

View changes in DiffLens

@guardrails

guardrails Bot commented Jun 9, 2026

Copy link
Copy Markdown

⚠️ We detected 6 security issues in this pull request:

Hard-Coded Secrets (1)
Severity Details Docs
Medium Title: SonarQube Docs API Key
uses: SonarSource/sonarqube-scan-action@7006c4492b2e0ee0f816d36501671557c97f5995 # v8.1.0
📚

More info on how to fix Hard-Coded Secrets in General.


Vulnerable Libraries (5)
Severity Details
Medium pkg:npm/@tailwindcss/postcss@4.1.18 (t) upgrade to: > 4.1.18
Medium pkg:npm/vitest@4.1.7 upgrade to: > 4.1.7
High pkg:npm/eslint-config-next@15.3.4 upgrade to: > 15.3.4
Medium pkg:npm/next@15.5.18 upgrade to: > 15.5.18
High pkg:npm/wrangler@4.95.0 upgrade to: > 4.95.0

More info on how to fix Vulnerable Libraries in JavaScript.


👉 Go to the dashboard for detailed results.

📥 Happy? Share your feedback with us.

…isort, Prettier, RuboCop, Ruff Formatter, Rustfmt, Scalafmt, StandardJS, StandardRB, swift-format and Yapf

This commit fixes the style issues introduced in 0f92a6c according to the output
from Autopep8, Black, ClangFormat, dotnet-format, isort, Prettier, RuboCop, Ruff
Formatter, Rustfmt, Scalafmt, StandardJS, StandardRB, swift-format and Yapf.

Details: #58
@difflens

difflens Bot commented Jun 9, 2026

Copy link
Copy Markdown

View changes in DiffLens

@cr-gpt

cr-gpt Bot commented Jun 9, 2026

Copy link
Copy Markdown

Seems you are using me but didn't get OPENAI_API_KEY seted in Variables/Secrets for this repo. you could follow readme for more information

Comment thread app/globals.css
Comment on lines +101 to +102
backdrop-filter: blur(40px);
-webkit-backdrop-filter: blur(40px);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

High backdrop-filter: blur(40px) may cause performance issues

Applying backdrop-filter: blur(40px) (and its webkit variant) can be very resource-intensive, especially on lower-end devices or in browsers with limited support. This can lead to sluggish UI performance and increased battery usage.

Recommendation:
Consider reducing the blur radius or providing a fallback for browsers that do not support backdrop-filter. Test on a range of devices to ensure acceptable performance.

Comment thread app/page.tsx
Comment on lines 23 to 24
id="language-select"
value={lang}

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 use of as Language in the onChange handler relies on the assumption that all <option> values exactly match the Language type. If the options ever diverge from the type, this could cause runtime errors or unexpected behavior. To improve type safety, consider deriving the options from the Language type itself or validating the value before updating the state.

Recommended solution:

onChange={(e) => {
  const value = e.target.value;
  if (value === 'en' || value === 'zh') setLang(value);
}}

Comment thread app/page.tsx
Comment on lines 41 to 42
<p className="coming-soon-subtitle">{t.subtitle}</p>
</div>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Rendering t.title and t.subtitle assumes that the translation object always contains these keys. If getTranslation(lang) returns undefined or an incomplete object, this could result in runtime errors or display of undefined in the UI. To enhance robustness, add fallback values or error handling for missing translations.

Recommended solution:

<h1 className="coming-soon-title">{t?.title ?? 'Coming Soon'}</h1>
<p className="coming-soon-subtitle">{t?.subtitle ?? ''}</p>

@difflens

difflens Bot commented Jun 9, 2026

Copy link
Copy Markdown

View changes in DiffLens

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Revamp Coming Soon page styling and responsive layout
✨ Enhancement 🕐 20-40 Minutes

Grey Divider

Walkthroughs

Description
• Refresh global theme colors, gradients, and component styling for a modern UI.
• Improve Coming Soon card centering and responsiveness across mobile/tablet breakpoints.
• Simplify language selector UI by removing the screen-reader-only label.
Diagram
graph TD
  A["app/page.tsx (Home)"] --> B["ComingSoonCard"] --> C["app/globals.css"]
  A --> D["LanguageSelector"] --> C
  C --> E["Theme variables"]
  C --> F["Responsive breakpoints"]
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Rely on CSS class-only centering (remove inline margin)
  • ➕ Avoids duplication (globals.css already sets .coming-soon-card { margin: auto; })
  • ➕ Keeps layout behavior centralized and easier to adjust
  • ➕ Reduces risk of future divergence between JSX and CSS
  • ➖ If another layout rule overrides margin, the inline style is a stronger override
2. Use Tailwind utilities for layout instead of custom CSS
  • ➕ More consistent with Tailwind workflows; fewer bespoke selectors
  • ➕ Faster iteration and simpler responsive tweaks via utilities
  • ➖ May increase JSX className verbosity
  • ➖ Requires translating existing custom theming/hover effects into Tailwind patterns
3. Keep an accessible label (sr-only) and adjust copy instead of removing
  • ➕ Maintains explicit accessible name even if select context changes
  • ➕ Avoids relying solely on surrounding UI for accessibility
  • ➖ Conflicts with the goal to remove the label text entirely

Recommendation: Prefer removing the inline style={{ margin: &quot;auto&quot; }} and relying on the .coming-soon-card { margin: auto; } rule (or a single Tailwind utility approach) to keep centering logic in one place. Also double-check the language selector’s accessible name after removing the sr-only label (e.g., ensure it still has a clear accessible name via surrounding context or aria-label).

Grey Divider

File Changes

Enhancement (1)
globals.css Modernize theme tokens and Coming Soon card responsive styling +168/-47

Modernize theme tokens and Coming Soon card responsive styling

• Updates root theme variables to a new slate/indigo palette and adjusts the animated background gradient. Redesigns '.coming-soon-card' to a wider hero layout with hover effects, adds centering via 'margin: auto', and introduces additional breakpoints for card/title/subtitle and the version label. Refines language selector styling to match the new accent-focused theme.

app/globals.css


Bug fix (1)
page.tsx Remove language label and tweak Coming Soon card centering +1/-4

Remove language label and tweak Coming Soon card centering

• Removes the screen-reader-only "Select language" label from the language selector. Adds an inline 'margin: auto' style to the Coming Soon card container to enforce centering.

app/page.tsx


Grey Divider

Qodo Logo

@codeant-ai codeant-ai Bot added the size:L This PR changes 100-499 lines, ignoring generated files label Jun 9, 2026
codescene-delta-analysis[bot]

This comment was marked as outdated.

@gemini-code-assist gemini-code-assist 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.

Code Review

This pull request updates the styling of the 'coming soon' page, introducing a new color palette, responsive layout adjustments, hover transitions, and action buttons. The feedback highlights two minor redundancies: an inline style for margin centering in app/page.tsx that is already handled by the CSS class, and a duplicate background color declaration in app/globals.css for the language selector.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread app/page.tsx
className="fixed inset-0 z-10 flex items-center justify-center p-4"
>
<div className="coming-soon-card">
<div className="coming-soon-card" style={{ margin: "auto" }}>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The inline style style={{ margin: "auto" }} is redundant because margin: auto; has already been added to the .coming-soon-card class in app/globals.css (line 118). Removing this inline style keeps the JSX clean and adheres to the separation of concerns.

Suggested change
<div className="coming-soon-card" style={{ margin: "auto" }}>
<div className="coming-soon-card">

Comment thread app/globals.css
Comment on lines 288 to +291
-webkit-backdrop-filter: blur(12px);
border: 1px solid var(--border-default);
border-radius: 0.5rem;
padding: 0.5rem 2.25rem 0.5rem 0.875rem;
border-radius: 0.75rem;
padding: 0.5rem 2.5rem 0.5rem 1rem;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The background-color property on line 290 is redundant because background: rgba(30, 41, 59, 0.5); is already defined on line 278 for the same selector. Removing it simplifies the CSS rules.

  transition: all 0.2s ease-in-out;
  min-width: 120px;
}

@difflens

difflens Bot commented Jun 9, 2026

Copy link
Copy Markdown

View changes in DiffLens

1 similar comment
@difflens

difflens Bot commented Jun 9, 2026

Copy link
Copy Markdown

View changes in DiffLens

@codspeed-hq

codspeed-hq Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Merging this PR will not alter performance

✅ 13 untouched benchmarks


Comparing ai_main_46c093cd74dc48aebf75 (4454d9a) with main (70585fe)

Open in CodSpeed

@deepsource-io

deepsource-io Bot commented Jun 9, 2026

Copy link
Copy Markdown

DeepSource Code Review

We reviewed changes in 70585fe...4454d9a on this pull request. Below is the summary for the review, and you can see the individual issues we found as inline review comments.

See full review on DeepSource ↗

PR Report Card

Overall Grade   Security  

Reliability  

Complexity  

Hygiene  

Code Review Summary

Analyzer Status Updated (UTC) Details
JavaScript Jun 9, 2026 3:00p.m. Review ↗
Python Jun 9, 2026 3:00p.m. Review ↗
Rust Jun 9, 2026 3:00p.m. Review ↗
Secrets Jun 9, 2026 3:00p.m. Review ↗
Ruby Jun 9, 2026 3:00p.m. Review ↗
Shell Jun 9, 2026 3:00p.m. Review ↗
Scala Jun 9, 2026 3:00p.m. Review ↗
SQL Jun 9, 2026 3:00p.m. Review ↗
Terraform Jun 9, 2026 3:00p.m. Review ↗
Code coverage Jun 9, 2026 3:00p.m. Review ↗
Swift Jun 9, 2026 3:00p.m. Review ↗
C & C++ Jun 9, 2026 3:00p.m. Review ↗
C# Jun 9, 2026 3:00p.m. Review ↗
Ansible Jun 9, 2026 3:00p.m. Review ↗

Important

AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.

@sonarqubecloud

sonarqubecloud Bot commented Jun 9, 2026

Copy link
Copy Markdown

@codescene-delta-analysis codescene-delta-analysis 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.

Gates Passed
6 Quality Gates Passed

See analysis details in CodeScene

Quality Gate Profile: Pay Down Tech Debt
Install CodeScene MCP: safeguard and uplift AI-generated code. Catch issues early with our IDE extension and CLI tool.

@codacy-production

Copy link
Copy Markdown

Not up to standards ⛔

🔴 Issues 2 medium

Alerts:
⚠ 2 issues (≤ 0 issues of at least minor severity)

Results:
2 new issues

Category Results
BestPractice 2 medium

View in Codacy

🟢 Metrics 0 complexity

Metric Results
Complexity 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Devin Review found 2 potential issues.

Open in Devin Review

Comment thread app/page.tsx

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🚩 Pre-existing aria-label version mismatch

The aria-label reads "Version 0.13 Beta" while the visible text content reads "Version: 0.14 β" (line 47). This mismatch was introduced in a prior PR (#54, commit a60f240) and is not touched by this PR's diff, but it means screen readers announce an outdated version number. This should be fixed separately.

(Refers to lines 46-47)

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Comment thread app/page.tsx
className="fixed inset-0 z-10 flex items-center justify-center p-4"
>
<div className="coming-soon-card">
<div className="coming-soon-card" style={{ margin: "auto" }}>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

📝 Info: Redundant inline margin:auto duplicates CSS class rule

The inline style style={{ margin: "auto" }} on line 39 is redundant with the .coming-soon-card CSS class which already declares margin: auto at app/globals.css:118. Both achieve the same effect. The git history shows multiple commits attempting to fix centering (commits 9c52a21, d0ae0b3, dba9a50, c37318a), suggesting this has been a recurring issue. Having it in both places is belt-and-suspenders but adds unnecessary specificity coupling.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

@semanticdiff-com

semanticdiff-com Bot commented Jun 9, 2026

Copy link
Copy Markdown

Review changes with  SemanticDiff

Changed Files
File Status
  app/globals.css  11% smaller
  app/page.tsx  1% smaller

@sourcery-ai

sourcery-ai Bot commented Jun 9, 2026

Copy link
Copy Markdown

Reviewer's Guide

Revamps the coming-soon page with a new slate/indigo theme, glassy rectangular card, gradient headline, polished language selector, and breakpoint-based responsive adjustments, plus new reusable button styles.

Flow diagram for updated coming-soon layout and styling

flowchart LR
  subgraph RootTheme[CSS root theme]
    bgBase[--bg-base]
    bgCard[--bg-card]
    accent[--accent]
    accentLight[--accent-light]
  end

  bodyBg[body gradient background]
  card[coming-soon-card]
  title[coming-soon-title]
  subtitle[coming-soon-subtitle]
  langSel[language-selector select]
  buttons[action-buttons / btn classes]

  bgBase --> bodyBg
  bgCard --> card
  accent --> title
  accentLight --> title
  accent --> langSel
  accentLight --> buttons

  bodyBg --> card
  card --> title
  card --> subtitle
  card --> buttons

  langSel -. fixed top-right .-> card

  subgraph ResponsiveBreakpoints[Responsive styles]
    bp768[<= 768px: card, title, subtitle scale]
    bp640[<= 640px: title, subtitle scale]
    bp480[<= 480px: card, buttons, version-label tighten]
  end

  bp768 --> card
  bp768 --> title
  bp768 --> subtitle
  bp640 --> title
  bp640 --> subtitle
  bp480 --> card
  bp480 --> buttons
Loading

File-Level Changes

Change Details Files
Rethemed base UI colors and gradient background animation to a slate/indigo palette with smoother motion.
  • Updated root CSS variables for background, surface, card, text, border, focus ring, and accent colors to a slate/indigo scheme
  • Adjusted body gradient background stops to new colors and slowed the gradientShift animation duration from 15s to 20s
app/globals.css
Redesigned the coming-soon card layout and behavior, including hover effects and responsive sizing.
  • Changed card from a square to a wider rectangular hero layout with new max width, padding, radius, and box shadow
  • Increased backdrop blur and tweaked border colors and opacity for a glassmorphism effect
  • Added hover state to adjust background, border, and shadow for subtle indigo glow
  • Introduced media queries for 768px and 480px breakpoints to adjust card width, padding, and border radius
  • Explicitly centered the card using margin:auto in CSS and mirrored it with inline style on the JSX container
app/globals.css
app/page.tsx
Refined typography and responsive behavior for the coming-soon title, subtitle, and version label.
  • Adjusted title font size, spacing, and line-height and added an indigo gradient text effect via background-clip, with multiple responsive font-size breakpoints at 768px, 640px, and 480px
  • Refined subtitle font size, color, line-height, letter-spacing, and added responsive typography adjustments across breakpoints
  • Added a mobile-specific media query to scale down version-label font size and reposition it on very small screens
app/globals.css
Introduced reusable action button styles for future use and tuned their mobile behavior.
  • Added .action-buttons flex layout container with wrapping and gap management
  • Defined .btn base styles and .btn-primary / .btn-secondary variants with gradients, shadows, and hover transitions
  • Adjusted button padding and font size for screens under 480px to improve tap targets and layout
app/globals.css
Polished the language selector styling and simplified its markup by removing the extra label element.
  • Restyled the language selector to use a darker translucent background, larger radius, slightly larger font, and accent-based hover/focus states
  • Adjusted focus-visible ring to match the new accent color and updated the dropdown arrow indicator positioning
  • Removed the visually hidden label from the JSX, relying on the select element id and surrounding context for accessibility
app/globals.css
app/page.tsx

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Comment thread app/globals.css
Comment on lines +222 to +265
/* ========================================
ACTION BUTTONS
======================================== */

.action-buttons {
display: flex;
gap: 1rem;
justify-content: center;
width: 100%;
flex-wrap: wrap;
}

.btn {
padding: 0.75rem 1.75rem;
border-radius: 0.75rem;
font-weight: 600;
font-size: 1rem;
border: none;
cursor: pointer;
transition: all 0.2s ease-in-out;
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 0.5rem;
}

.btn-primary {
background: linear-gradient(
135deg,
var(--accent) 0%,
var(--accent-light) 100%
);
color: white;
box-shadow: 0 10px 30px rgba(99, 102, 241, 0.3);
}

.btn-primary:hover {
transform: translateY(-2px);
box-shadow: 0 15px 40px rgba(99, 102, 241, 0.4);
}

.btn-secondary {
background: rgba(226, 232, 240, 0.08);
color: var(--text-primary);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Unused CSS classes added

.action-buttons, .btn, .btn-primary, and .btn-secondary are defined here but are never referenced in page.tsx or any other component. If these are intended for a future feature, they'll accumulate as dead code and increase stylesheet weight until they're actually wired up.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Fix in Cursor Fix in Codex Fix in Claude Code Fix in Conductor

Comment thread app/page.tsx
className="fixed inset-0 z-10 flex items-center justify-center p-4"
>
<div className="coming-soon-card">
<div className="coming-soon-card" style={{ margin: "auto" }}>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Redundant inline margin: auto style

The .coming-soon-card CSS class already sets margin: auto (line 118 of globals.css). The inline style={{ margin: "auto" }} is a duplicate that adds no effect but can cause confusion about which source controls the margin if either changes in the future.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Fix in Cursor Fix in Codex Fix in Claude Code Fix in Conductor

@difflens

difflens Bot commented Jun 9, 2026

Copy link
Copy Markdown

View changes in DiffLens

1 similar comment
@difflens

difflens Bot commented Jun 9, 2026

Copy link
Copy Markdown

View changes in DiffLens

Comment thread app/globals.css
Comment on lines +230 to +248
width: 100%;
flex-wrap: wrap;
}

.btn {
padding: 0.75rem 1.75rem;
border-radius: 0.75rem;
font-weight: 600;
font-size: 1rem;
border: none;
cursor: pointer;
transition: all 0.2s ease-in-out;
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 0.5rem;
}

.btn-primary {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Suggestion: The new button styling splits core sizing/interaction styles into .btn while .btn-primary only sets colors/shadow, but existing components already use btn-primary alone. This creates a contract mismatch where primary buttons render with browser-default padding/border/radius and inconsistent hit area. Make .btn-primary self-contained for required button base styles or ensure all btn-primary usages also include .btn. [api mismatch]

Severity Level: Major ⚠️
- ❌ GameCard Play button rendered with inconsistent padding and radius.
- ⚠️ CTA hit area smaller, worsened tap accessibility.
Steps of Reproduction ✅
1. Inspect the base button styles in `app/globals.css:230-242`, where the `.btn` class
defines core sizing and interaction behavior (padding, border-radius, display:
inline-flex, gap, etc.).

2. Inspect the primary-variant styles in `app/globals.css:244-248`, where `.btn-primary`
only sets background gradient, text color, and box-shadow, but does not repeat the base
sizing/interaction properties from `.btn`.

3. Open `components/GameCard.tsx:13-67` and see that the "Play Now" CTA is rendered as a
`<button>` with `className="btn-primary w-full"` at `components/GameCard.tsx:58-60`,
omitting the `.btn` base class entirely.

4. Confirm via search (`Grep` over `**/*.tsx`) that there are no usages of `.btn` in JSX
and that `btn-primary` is only used alone (`components/GameCard.tsx:60`), meaning the base
`.btn` styles never apply to this CTA; in a browser, this causes the GameCard primary
button to use browser-default padding/border/radius with only the gradient/shadow from
`.btn-primary`, producing a smaller, inconsistent hit area compared to the intended
design.

Fix in Cursor | Fix in VSCode Claude

(Use Cmd/Ctrl + Click for best experience)

Prompt for AI Agent 🤖
This is a comment left during a code review.

**Path:** app/globals.css
**Line:** 230:248
**Comment:**
	*Api Mismatch: The new button styling splits core sizing/interaction styles into `.btn` while `.btn-primary` only sets colors/shadow, but existing components already use `btn-primary` alone. This creates a contract mismatch where primary buttons render with browser-default padding/border/radius and inconsistent hit area. Make `.btn-primary` self-contained for required button base styles or ensure all `btn-primary` usages also include `.btn`.

Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
👍 | 👎

@codeant-ai

codeant-ai Bot commented Jun 9, 2026

Copy link
Copy Markdown

CodeAnt AI finished reviewing your PR.

@coderabbitai coderabbitai Bot added v0 and removed size:L This PR changes 100-499 lines, ignoring generated files labels Jun 9, 2026

@sourcery-ai sourcery-ai 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.

Hey - I've left some high level feedback:

  • Removing the <label> from the language selector leaves the <select> without an accessible name; consider adding aria-label or a visually hidden label to retain screen reader usability.
  • The inline style={{ margin: 'auto' }} on .coming-soon-card duplicates the new CSS rule and can be removed to keep centering logic in a single place.
  • There are several hard-coded color RGBA values (e.g., for the card background and borders) that could be expressed via the existing CSS variables (or new ones) to keep the theme more consistent and easier to tweak.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- Removing the `<label>` from the language selector leaves the `<select>` without an accessible name; consider adding `aria-label` or a visually hidden label to retain screen reader usability.
- The inline `style={{ margin: 'auto' }}` on `.coming-soon-card` duplicates the new CSS rule and can be removed to keep centering logic in a single place.
- There are several hard-coded color RGBA values (e.g., for the card background and borders) that could be expressed via the existing CSS variables (or new ones) to keep the theme more consistent and easier to tweak.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@llamapreview llamapreview 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.

AI Code Review by LlamaPReview

🎯 TL;DR & Recommendation

Recommendation: Approve with suggestions

This PR delivers a well-executed visual refresh of the coming-soon page with a cohesive slate/indigo palette, responsive layout, and smoother animations. The few issues found are minor non-blocking improvements that should be addressed before merge.

🌟 Strengths

  • Clean separation of design tokens via CSS variables.
  • Responsive breakpoints at 768px, 640px, and 480px are well thought out.
Priority File Category Impact Summary Anchors
P2 app/page.tsx Bug aria-label version text mismatch aria-label:Version 0.13 Beta, text:Version: 0.14 β
P2 app/globals.css Maintainability Unused button CSS classes search:.btn-primary
P2 app/globals.css Maintainability Duplicated background-color property
P2 app/page.tsx Maintainability Redundant inline margin:auto

🔍 Notable Themes

The findings centre on code cleanliness: removing dead CSS, deduplicating properties, and trimming redundant markup reduces maintenance debt.

⚠️ **Unanchored Suggestions (Manual Review Recommended)**

The following suggestions could not be precisely anchored to a specific line in the diff. This can happen if the code is outside the changed lines, has been significantly refactored, or if the suggestion is a general observation. Please review them carefully in the context of the full file.


📁 File: app/globals.css

Speculative: The PR introduces complete CSS rules for .action-buttons, .btn, .btn-primary, and .btn-secondary, yet the page JSX does not render any buttons or reference these classes. The PR description explicitly states these styles are “for future use.” While forward-looking code can be acceptable, including dead CSS increases the bundle size, adds unnecessary code to review, and may mislead future maintainers into thinking buttons exist. This should be removed until the buttons are actually implemented, or accompanied by a clear comment.

Related Code:

.btn-primary {
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%);
  color: white;
  box-shadow: 0 10px 30px rgba(99, 102, 241, 0.3);
}


💡 Have feedback? We'd love to hear it in our GitHub Discussions.
✨ This review was generated by LlamaPReview Advanced, which is free for all open-source projects. Learn more.

Comment thread app/globals.css
Comment on lines +297 to 299
min-width: 120px;
background-color: rgba(30, 41, 59, 0.5);
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 | Confidence: High

The .language-selector select rule declares both a background shorthand (which sets all background sub‑properties, including background-color) and then a separate background-color with the same value. This duplication is unnecessary and makes the CSS harder to read and maintain. The second declaration overrides nothing, but it could cause confusion if someone later changes only one of them. Remove the redundant background-color line.

Comment thread app/page.tsx
className="fixed inset-0 z-10 flex items-center justify-center p-4"
>
<div className="coming-soon-card">
<div className="coming-soon-card" style={{ margin: "auto" }}>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 | Confidence: High

The .coming-soon-card CSS class already sets margin: auto;, and the parent <main> element uses flex items-center justify-center (which centers the child without any margin). Adding an inline style={{ margin: "auto" }} is redundant and introduces a duplicate styling path. This clutters the JSX and could cause maintenance overhead if the centering strategy is later changed. Remove the inline style to rely on the CSS class and flexbox centering.

Suggested change
<div className="coming-soon-card" style={{ margin: "auto" }}>
<div className="coming-soon-card">

Comment thread app/page.tsx
<div className="coming-soon-card" style={{ margin: "auto" }}>
<h1 className="coming-soon-title">{t.title}</h1>
<p className="coming-soon-subtitle">{t.subtitle}</p>
</div>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[Contextual Comment]
This comment refers to code near real line 46. Anchored to nearest_changed(42) line 42.


P2 | Confidence: High

The displayed version text is 0.14 β but the aria-label attribute still reads Version 0.13 Beta. This mismatch causes assistive technologies (screen readers) to announce outdated and incorrectly formatted version information, creating a gap between visual and auditory content. While this does not break functionality, it degrades the accessibility of the component.

Suggested change
</div>
<div className="version-label" aria-label="Version 0.14 Beta">
Version: 0.14 β
</div>

Evidence: aria-label:Version 0.13 Beta, text:Version: 0.14 β

@LCSOGthb LCSOGthb merged commit c16bf5e into main Jun 9, 2026
50 of 59 checks passed
@LCSOGthb LCSOGthb deleted the ai_main_46c093cd74dc48aebf75 branch June 9, 2026 15:06
@kilo-code-bot

kilo-code-bot Bot commented Jun 9, 2026

Copy link
Copy Markdown

Code Review Summary

Status: No New Issues Found | Recommendation: Merge

All changes in this PR are CSS styling updates and JSX adjustments. The existing inline comments have already addressed the key concerns:

  1. Performance warning for backdrop-filter: blur(40px) in globals.css (line 102)
  2. Type safety concern for as Language type assertion in page.tsx (line 24)
  3. Translation assumption for t.title/t.subtitle rendering in page.tsx (line 42)

The removed sr-only label has been properly replaced with aria-label="Select language" maintaining accessibility support.

Files Reviewed (2 files)
  • app/globals.css - 1 existing issue (backdrop-filter performance)
  • app/page.tsx - 2 existing issues (type safety, translation assumptions)

Reviewed by laguna-m.1-20260312:free · 185,602 tokens

@netlify

netlify Bot commented Jun 9, 2026

Copy link
Copy Markdown

Deploy Preview for lsngames ready!

Name Link
🔨 Latest commit 0f92a6c
🔍 Latest deploy log https://app.netlify.com/projects/lsngames/deploys/6a282a527c8ddb000811c218
😎 Deploy Preview https://deploy-preview-58--lsngames.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.

@netlify

netlify Bot commented Jun 9, 2026

Copy link
Copy Markdown

Deploy Preview for lsngames ready!

Name Link
🔨 Latest commit 4454d9a
🔍 Latest deploy log https://app.netlify.com/projects/lsngames/deploys/6a282a6d22cb120008050b5a
😎 Deploy Preview https://deploy-preview-58--lsngames.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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants