Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion apps/web/src/components/Sidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3521,7 +3521,7 @@ export default function Sidebar() {
environmentId={project.environmentId}
cwd={project.workspaceRoot}
faviconPath={project.faviconPath}
className="size-4 shrink-0"
className="-mx-0.5 size-4 shrink-0"

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.

ProjectFavicon merges className into every branch — the loaded <img> (cn("size-3.5 shrink-0 rounded-sm object-contain", className)) and ProjectFaviconFallback (cn("size-3.5 shrink-0 text-icon-muted", className)) — so -mx-0.5 lands on both. Image rows and SVG-fallback rows were already the same 16px box and both now shift by the same 2px, so their relative geometry is unchanged and the stated image-vs-fallback discrepancy isn't addressed.

What it does change is the sibling row: the All projects MenuRadioItem above still renders <FolderIcon className="size-4 shrink-0" /> without the offset, so within one open menu project icons sit 2px left of it and their labels 4px left of All projects (icon 16px → 12px of layout width, plus the same gap-2). The MenuTrigger favicon/FolderIcon also keeps the original spacing.

Smallest fix is to drop the offset here; if favicon bitmaps genuinely need optical compensation versus lucide's inset glyph, apply it inside ProjectFavicon's image branch only so the fallback path is unaffected.

Suggested change
className="-mx-0.5 size-4 shrink-0"
className="size-4 shrink-0"

Posted via Macroscope — UI Consistency

/>
<span className="min-w-0 truncate text-sm">{project.displayName}</span>
<Button
Expand Down
Loading