fix(ui): fix inbox nesting column alignment

Move child indentation from wrapper paddingLeft into desktopMetaLeading
so the unread dot stays in the leftmost column regardless of nesting
depth. When nesting is enabled, all issue rows get a fixed-width folding
column (chevron or empty spacer) for consistent alignment. Children
indent after the folding column. When nesting is disabled, no folding
column is rendered.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
dotta
2026-04-08 08:15:56 -05:00
parent 58ae23aa2c
commit 2cf2a44d68
+20 -16
View File
@@ -1792,21 +1792,26 @@ export function Inbox() {
}
desktopMetaLeading={
<>
{depth === 0 && hasChildren ? (
<button
type="button"
className="hidden shrink-0 items-center sm:inline-flex"
onClick={(e) => {
e.preventDefault();
e.stopPropagation();
toggleInboxParentCollapse(issue.id);
}}
>
<ChevronRight className={cn("h-3.5 w-3.5 transition-transform", isExpanded && "rotate-90")} />
</button>
) : depth === 0 ? null : (
<span className="hidden w-3.5 shrink-0 sm:block" />
)}
{nestingEnabled ? (
depth === 0 && hasChildren ? (
<button
type="button"
className="hidden w-4 shrink-0 items-center justify-center sm:inline-flex"
onClick={(e) => {
e.preventDefault();
e.stopPropagation();
toggleInboxParentCollapse(issue.id);
}}
>
<ChevronRight className={cn("h-3.5 w-3.5 transition-transform", isExpanded && "rotate-90")} />
</button>
) : (
<span className="hidden w-4 shrink-0 sm:block" />
)
) : null}
{depth > 0 ? (
<span className="hidden w-4 shrink-0 sm:block" />
) : null}
<InboxIssueMetaLeading
issue={iss}
isLive={liveIssueIds.has(iss.id)}
@@ -1890,7 +1895,6 @@ export function Inbox() {
key={`sel-issue:${child.id}`}
data-inbox-item
className="relative"
style={{ paddingLeft: 16 }}
onClick={() => setSelectedIndex(cNavIdx)}
>
{canArchiveFromTab ? (