Skip to content

fix: resolve workspace preview styling and mobile login modal positio…#57

Merged
velonone merged 1 commit into
mainfrom
claude/fix-preview-mobile-login-PA49X
Feb 6, 2026
Merged

fix: resolve workspace preview styling and mobile login modal positio…#57
velonone merged 1 commit into
mainfrom
claude/fix-preview-mobile-login-PA49X

Conversation

@velonone
Copy link
Copy Markdown
Owner

@velonone velonone commented Jan 23, 2026

…ning

  • Add prose/prose-lg CSS classes for workspace preview rendering
  • Fix OAuthConfirmModal positioning by removing conflicting margin
  • Use 100dvh for dynamic viewport height on mobile devices
  • Add global mobile modal responsive fixes for PWA compatibility

Pull Request

Description

Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📝 Documentation update
  • 🎨 Style/UI update (changes that don't affect functionality)
  • ♻️ Code refactoring (no functional changes)
  • ⚡ Performance improvement
  • 🧪 Test update

Related Issues

Changes Made

Screenshots/Videos

Before

After

Testing

  • Tested on Chrome
  • Tested on Firefox
  • Tested on Safari
  • Tested on mobile devices
  • Tested with different themes

Design System Compliance

  • Follows VSPEC design system guidelines
  • Uses brand color #7C85ED appropriately (sparingly)
  • Uses grayscale system for non-accent elements
  • No Tailwind font classes unless specifically needed
  • Icons verified to exist in Lucide React
  • Follows glass morphism patterns where applicable
  • Maintains restrained, professional aesthetic

Checklist

  • My code follows the project's code style
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have tested that my changes work as expected
  • I have checked for responsive design issues
  • I have updated CHANGELOG.md (if applicable)

Additional Notes

Summary by CodeRabbit

  • New Features

    • Added prose styling for content editors and document previews.
  • Style

    • Enhanced modal responsiveness across different screen sizes.
    • Improved mobile login page layout.

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

…ning

- Add prose/prose-lg CSS classes for workspace preview rendering
- Fix OAuthConfirmModal positioning by removing conflicting margin
- Use 100dvh for dynamic viewport height on mobile devices
- Add global mobile modal responsive fixes for PWA compatibility
@vercel
Copy link
Copy Markdown

vercel Bot commented Jan 23, 2026

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

Project Deployment Review Updated (UTC)
vspec Ready Ready Preview, Comment Jan 23, 2026 10:01pm

Request Review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jan 23, 2026

📝 Walkthrough

Walkthrough

Modal responsiveness improvements across components and stylesheets using viewport-aware constraints. Fixed-position modal sizing now adapts dynamically to screen dimensions. New CSS rules add mobile-optimized layouts and PWA support. Comprehensive prose content styling introduced for document formatting with typography, spacing, and color specifications.

Changes

Cohort / File(s) Summary
Modal Responsiveness Improvements
src/app/components/OAuthConfirmModal.tsx, src/styles/responsive.css
Updated modal sizing from percentage-based to viewport-aware constraints using min(calc(100vw - 32px), 420px) for width and calc(100dvh - 48px) for height. Removed horizontal margin. Added mobile-specific backdrop and centering styles with PWA safe-area inset support.
Prose Content Styling
src/styles/theme.css
Introduced comprehensive base styles for prose elements: headings (h1–h3), paragraphs, links, emphasis, lists, blockquotes, code blocks, images, tables, and horizontal rules. Added .max-w-none utility class with dark-mode support.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 A hop and a bounce through viewports wide,
Our modals now dance with responsive pride,
From phones to screens, they gracefully flex,
And prose styles bloom—what comes next?
Thump-thump

🚥 Pre-merge checks | ✅ 2 | ❌ 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 (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the main changes: resolving workspace preview styling and mobile login modal positioning issues, which align with the prose CSS additions and OAuthConfirmModal fixes in the changeset.

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

✨ Finishing touches
  • 📝 Generate docstrings

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

@github-actions
Copy link
Copy Markdown

📊 Performance Report

Metric Value
Bundle Size 4.00 KB
Status ✅ Passing

View detailed Lighthouse report in artifacts.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@src/styles/responsive.css`:
- Around line 560-564: The PWA-safe-area selector is using a quoted top value
and never matches inline styles; update the selector inside the `@media`
(display-mode: standalone) rule so it matches actual inline styles by replacing
the attribute selector [style*="top: '50%'"] with an unquoted variant that
covers common formatting (e.g., [style*="top: 50%"] and/or [style*="top:50%"])
while keeping the existing [style*="position: fixed"] condition and the top:
max(...) adjustment in the same rule.
🧹 Nitpick comments (1)
src/styles/responsive.css (1)

532-537: Scope the fixed‑modal selector to avoid unintended matches.

The [style*="position: fixed"][style*="transform: translate(-50%, -50%)"] selector will hit any fixed element using that transform, not just modals. Consider adding a dedicated class/data‑attr to the modal container and target that instead to prevent accidental overrides.

Comment thread src/styles/responsive.css
Comment on lines +560 to +564
@media (display-mode: standalone) {
/* Ensure modals account for PWA safe areas */
[style*="position: fixed"][style*="top: '50%'"] {
top: max(50%, env(safe-area-inset-top, 0px)) !important;
}
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 | 🟡 Minor

PWA selector won’t match due to quoted value.

Inline styles render as top: 50%, so [style*="top: '50%'"] will never match. This prevents the safe‑area adjustment from applying in PWA mode.

🔧 Proposed fix
-  [style*="position: fixed"][style*="top: '50%'"] {
+  [style*="position: fixed"][style*="top: 50%"] {
     top: max(50%, env(safe-area-inset-top, 0px)) !important;
   }
🤖 Prompt for AI Agents
In `@src/styles/responsive.css` around lines 560 - 564, The PWA-safe-area selector
is using a quoted top value and never matches inline styles; update the selector
inside the `@media` (display-mode: standalone) rule so it matches actual inline
styles by replacing the attribute selector [style*="top: '50%'"] with an
unquoted variant that covers common formatting (e.g., [style*="top: 50%"] and/or
[style*="top:50%"]) while keeping the existing [style*="position: fixed"]
condition and the top: max(...) adjustment in the same rule.

@velonone velonone merged commit eea0c6e into main Feb 6, 2026
4 checks passed
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.

2 participants