Skip to content

fix(desktop): more consistent layout - #287

Merged
AviPeltz merged 4 commits into
mainfrom
negative-ptarmigan-c3ea59
Dec 8, 2025
Merged

AviPeltz merged 4 commits into
mainfrom
negative-ptarmigan-c3ea59

Conversation

@AviPeltz

@AviPeltz AviPeltz commented Dec 8, 2025 •

Copy link
Copy Markdown
Collaborator

Description

Related Issues

Type of Change

  • Bug fix
  • New feature
  • Documentation
  • [ x] Refactor
  • Other (please describe):

Testing

Screenshots (if applicable)

Additional Notes

Summary by CodeRabbit

  • Style
    • Refined spacing, padding and icon sizes across tabs, terminal search, and action buttons for tighter visual alignment
    • Simplified split handle visuals and hover/drag interactions for clearer resizing feedback
    • Subtly reduced drop-target background opacity for less visual weight
    • Reorganized workspace content padding and background placement for cleaner layout and consistent rounded corners

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

@vercel

vercel Bot commented Dec 8, 2025 •

Copy link
Copy Markdown

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

Project Deployment Preview Comments Updated (UTC)
website Ready Ready Preview Comment Dec 8, 2025 9:01pm

@coderabbitai

coderabbitai Bot commented Dec 8, 2025 •

Copy link
Copy Markdown
Contributor

Walkthrough

Refactors UI spacing and sizing: button and toolbar spacing in TabPane, mosaic split/hover/drop visuals in CSS, TerminalSearch positioning and compact sizing, and WorkspaceView padding/background relocation. No logic or public API changes.

Changes

Cohort / File(s) Summary
Tab & Toolbar Styling
apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/TabView/TabPane.tsx
Reduced toolbarControls gap (1 → 0.5); changed action buttons from rounded-full with 0.5p padding to rounded with 1p padding; updated hover text/color styles.
Theme & Mosaic Styling
apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/TabView/mosaic-theme.css
Made dark-theme split always visible (opacity 1), simplified transitions to background-color only, consolidated hover/drag selectors, and reduced drop target background alpha (0.20 → 0.15).
Terminal Search UI
apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/Terminal/TerminalSearch/TerminalSearch.tsx
Repositioned container (top/right offsets tightened), constrained max width, reduced input height (h-7 → h-6) and made width flexible, decreased icon sizes (size-4 → size-3.5), and reduced button padding (p-1.5 → p-1).
Workspace Layout
apps/desktop/src/renderer/screens/main/components/WorkspaceView/index.tsx
Moved padding/background from outer to inner container: outer div now flex-1 h-full p-2, inner div now h-full p-1.5 bg-background rounded-lg flex flex-col overflow-hidden; removed outer margins and rounded background.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

  • Areas to spot-check:
    • Visual alignment/spacing in TabPane and across action buttons
    • Mosaic split hover and drag interactions for expected cursor/visibility
    • TerminalSearch responsiveness at constrained widths and icon/button hit targets
    • WorkspaceView padding/margin effects on surrounding layout

Possibly related PRs

Poem

🐰 A tiny hop, a nudge of space,
Buttons trim and snug in place,
Splits now whisper, not take stage,
Searchbox tucked on a compact page,
Padding moved — a cozier maze. ✨

Pre-merge checks and finishing touches

❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Description check ⚠️ Warning The description follows the required template structure but lacks substantive content: no actual implementation details, related issues, testing information, or screenshots are provided. Fill in the Description section with details about the layout changes, specify any related issues, and describe how the changes were tested (e.g., visual verification steps).
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (1 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main objective of the PR—making the layout more consistent across the desktop UI components.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch negative-ptarmigan-c3ea59

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c96db20 and d469c3d.

📒 Files selected for processing (2)
  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/TabView/mosaic-theme.css (1 hunks)
  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/Terminal/TerminalSearch/TerminalSearch.tsx (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/Terminal/TerminalSearch/TerminalSearch.tsx
  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/TabView/mosaic-theme.css
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Build

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.

@github-actions

github-actions Bot commented Dec 8, 2025 •

Copy link
Copy Markdown
Contributor

🧹 Preview Cleanup Complete

The following preview resources have been cleaned up:

  • ✅ Neon database branch

Thank you for your contribution! 🎉

AviPeltz and others added 2 commits December 8, 2025 12:35
- Consolidate padding to WorkspaceView level only (symmetric p-2)
- Use consistent hover states: hover:bg-muted-foreground/20 (theme-aware)
- Use consistent icon sizes: size-4 across all toolbar buttons
- Use consistent button padding: p-1 for all toolbar buttons
- Fix mosaic split handle hover to use theme variable
- Fix drop target border color typo (130 vs 131)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@AviPeltz
AviPeltz force-pushed the negative-ptarmigan-c3ea59 branch from 87eb2c1 to c96db20 Compare December 8, 2025 20:48
@AviPeltz
AviPeltz marked this pull request as ready for review December 8, 2025 20:49

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0109b87 and c96db20.

📒 Files selected for processing (4)
  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/TabView/TabPane.tsx (1 hunks)
  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/TabView/mosaic-theme.css (1 hunks)
  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/Terminal/TerminalSearch/TerminalSearch.tsx (1 hunks)
  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/index.tsx (1 hunks)
🧰 Additional context used
📓 Path-based instructions (5)
apps/desktop/**/*.{ts,tsx,js,jsx}

📄 CodeRabbit inference engine (apps/desktop/AGENTS.md)

For Electron interprocess communication, ALWAYS use tRPC as defined in src/lib/trpc

Files:

  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/index.tsx
  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/Terminal/TerminalSearch/TerminalSearch.tsx
  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/TabView/TabPane.tsx
apps/desktop/**/*.{ts,tsx}

📄 CodeRabbit inference engine (apps/desktop/AGENTS.md)

apps/desktop/**/*.{ts,tsx}: Please use alias as defined in tsconfig.json when possible
Prefer zustand for state management if it makes sense. Do not use effect unless absolutely necessary

Files:

  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/index.tsx
  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/Terminal/TerminalSearch/TerminalSearch.tsx
  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/TabView/TabPane.tsx
**/{components,pages}/**/*.tsx

📄 CodeRabbit inference engine (AGENTS.md)

**/{components,pages}/**/*.tsx: Use one folder per component with structure ComponentName/ComponentName.tsx plus index.ts for barrel export
Create one component per file - do not use multi-component files

Files:

  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/index.tsx
  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/Terminal/TerminalSearch/TerminalSearch.tsx
  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/TabView/TabPane.tsx
**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

**/*.{ts,tsx}: Co-locate component dependencies (utils, hooks, constants, config, tests, stories) next to the file using them
Avoid any type in TypeScript unless absolutely necessary

Files:

  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/index.tsx
  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/Terminal/TerminalSearch/TerminalSearch.tsx
  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/TabView/TabPane.tsx
apps/desktop/src/{renderer,shared,preload}/**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

Never import Node.js modules in renderer process code or shared code in the desktop app

Files:

  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/index.tsx
  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/Terminal/TerminalSearch/TerminalSearch.tsx
  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/TabView/TabPane.tsx
🧠 Learnings (1)
📚 Learning: 2025-12-06T18:44:13.290Z
Learnt from: CR
Repo: superset-sh/superset PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-06T18:44:13.290Z
Learning: Applies to src/components/{ui,ai-elements,react-flow}/**/*.tsx : Shadcn/ui components in `src/components/ui/`, `src/components/ai-elements`, and `src/components/react-flow/` use kebab-case single files (e.g., `button.tsx`) for shadcn CLI compatibility

Applied to files:

  • apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/Terminal/TerminalSearch/TerminalSearch.tsx
🧬 Code graph analysis (1)
apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/Terminal/TerminalSearch/TerminalSearch.tsx (1)
packages/ui/src/components/tooltip.tsx (3)
  • Tooltip (74-74)
  • TooltipTrigger (74-74)
  • TooltipContent (74-74)
🔇 Additional comments (5)
apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/TabView/TabPane.tsx (1)

119-136: LGTM! Toolbar styling refinements improve visual consistency.

The reduced gap between controls and updated button styling (from rounded-full with minimal padding to rounded with more padding, plus explicit text colors) create a more cohesive design that aligns with the broader UI polish in this PR.

apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/TabView/mosaic-theme.css (2)

69-82: LGTM! Transition and interaction polish improve responsiveness.

The faster transitions (0.15s vs 0.2s) and refined hover/drag states create a snappier, more cohesive user experience. The consolidated selectors and updated active state background enhance maintainability.


84-90: LGTM! Subtler drop target visual reduces distraction.

Reducing the background alpha from 0.2 to 0.15 while maintaining the border at 0.4 creates a more refined drag-and-drop experience without sacrificing clarity.

apps/desktop/src/renderer/screens/main/components/WorkspaceView/index.tsx (1)

128-132: LGTM! Layout reorganization improves box model clarity.

The restructuring moves background styling and rounded corners from the outer wrapper to the inner container while replacing margins with padding. This creates cleaner separation of layout concerns and better control over spacing. The updated border radius (rounded-lg vs rounded) provides subtle visual refinement.

Since this is a layout refactor, verify that the visual appearance remains consistent across different viewport sizes and when the sidebar is expanded/collapsed.

apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/Terminal/TerminalSearch/TerminalSearch.tsx (1)

128-177: LGTM! Search UI refinements create more compact, consistent controls.

The sizing adjustments across the search input and all control buttons create a more polished, space-efficient interface:

  • Input with responsive width behavior (min-w-0 w-28 flex-shrink)
  • Consistent button styling with explicit hover states
  • Reduced icon sizes (size-3.5 vs size-4) for tighter visual density
  • Proper flex-shrink controls prevent layout collapse

These changes align well with the toolbar refinements in TabPane.tsx and the broader UI consistency goals of this PR.


return (
<div className="absolute top-2 right-3 z-10 flex items-center rounded-md bg-popover/95 shadow-lg ring-1 ring-border/40 backdrop-blur">
<div className="absolute top-1.5 right-1.5 z-10 flex items-center max-w-[calc(100%-0.75rem)] rounded bg-popover/95 pl-2 pr-0.5 shadow-lg ring-1 ring-border/40 backdrop-blur">

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.

⚠️ Potential issue | 🟡 Minor

Verify max-width calculation for positioned element.

The container is positioned right-1.5 (1.5rem/24px from the right edge) but uses max-w-[calc(100%-0.75rem)] (subtracting only 0.75rem/12px). This seems inconsistent—if the element needs clearance on both sides, the calculation should account for the positioning offset.

Consider whether this should be:

  • calc(100%-3rem) to account for 1.5rem clearance on both left and right
  • calc(100%-1.5rem) if only accounting for the right-side positioning
  • Or clarify if the current 0.75rem value is intentional for a specific layout reason

Apply this diff if symmetric clearance is intended:

-		<div className="absolute top-1.5 right-1.5 z-10 flex items-center max-w-[calc(100%-0.75rem)] rounded bg-popover/95 pl-2 pr-0.5 shadow-lg ring-1 ring-border/40 backdrop-blur">
+		<div className="absolute top-1.5 right-1.5 z-10 flex items-center max-w-[calc(100%-3rem)] rounded bg-popover/95 pl-2 pr-0.5 shadow-lg ring-1 ring-border/40 backdrop-blur">
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<div className="absolute top-1.5 right-1.5 z-10 flex items-center max-w-[calc(100%-0.75rem)] rounded bg-popover/95 pl-2 pr-0.5 shadow-lg ring-1 ring-border/40 backdrop-blur">
<div className="absolute top-1.5 right-1.5 z-10 flex items-center max-w-[calc(100%-3rem)] rounded bg-popover/95 pl-2 pr-0.5 shadow-lg ring-1 ring-border/40 backdrop-blur">
🤖 Prompt for AI Agents
In
apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/Terminal/TerminalSearch/TerminalSearch.tsx
around line 120, the positioned container uses right-1.5 (1.5rem) but its
max-width subtracts only 0.75rem (max-w-[calc(100%-0.75rem)]), which is
inconsistent; if you intend symmetric clearance on both sides, change the
max-width calculation to subtract 3rem (max-w-[calc(100%-3rem)]) so it accounts
for 1.5rem on left and right, otherwise adjust to calc(100%-1.5rem) if you only
need to account for the right-side offset—update the class accordingly to match
the intended clearance.

@AviPeltz
AviPeltz merged commit f24da70 into main Dec 8, 2025
8 checks passed
@Kitenite
Kitenite deleted the negative-ptarmigan-c3ea59 branch December 9, 2025 00:47
@coderabbitai coderabbitai Bot mentioned this pull request Dec 27, 2025
1 of 5 tasks

This branch was successfully deployed

1 active deployment
Preview — d469c3de Deployed Dec 8, 2025 by vercel[bot]
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