From c7a243d7853fed74ecd4076ae7dbec481dc97b34 Mon Sep 17 00:00:00 2001 From: Brooklyn Nicholson Date: Fri, 14 Aug 2026 15:05:03 -0500 Subject: [PATCH] feat(desktop): tag each sidebar project row with data-sessions-project MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The merged data-attributes only exposed data-sessions-project on the sessions wrapper once a project was entered, so in the project overview (and every other mode) the attribute was absent. Put it on each project overview row too, carrying that row's project id, so a custom skin can target an individual project from the list — the parallel to the entered wrapper's attribute. --- .../src/app/chat/sidebar/projects/overview-row.test.tsx | 6 ++++++ apps/desktop/src/app/chat/sidebar/projects/overview-row.tsx | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/apps/desktop/src/app/chat/sidebar/projects/overview-row.test.tsx b/apps/desktop/src/app/chat/sidebar/projects/overview-row.test.tsx index 896643636d..5467b7be86 100644 --- a/apps/desktop/src/app/chat/sidebar/projects/overview-row.test.tsx +++ b/apps/desktop/src/app/chat/sidebar/projects/overview-row.test.tsx @@ -86,4 +86,10 @@ describe('ProjectOverviewRow', () => { expect(onNewSession).toHaveBeenCalledWith(null) }) + + it('tags the row with data-sessions-project so a skin can target one project', () => { + const { container } = render() + + expect(container.querySelector('[data-sessions-project="p1"]')).toBeTruthy() + }) }) diff --git a/apps/desktop/src/app/chat/sidebar/projects/overview-row.tsx b/apps/desktop/src/app/chat/sidebar/projects/overview-row.tsx index 155d477e1e..4ef812a2d7 100644 --- a/apps/desktop/src/app/chat/sidebar/projects/overview-row.tsx +++ b/apps/desktop/src/app/chat/sidebar/projects/overview-row.tsx @@ -158,7 +158,11 @@ export function ProjectOverviewRow({ ) return ( -
+ // Tag each project sibling with its id so a custom skin can target one + // project in the overview — the parallel to the entered-project wrapper's + // `data-sessions-project` (index.tsx), which only fires once you've drilled + // in. Here it's present on every row of the list. +
{/* Home has no per-project actions, so it gets no right-click menu. */} {project.isNoProject ? ( shell