authorgravatar for 97427849+flamboh@users.noreply.github.comoliver <97427849+flamboh@users.noreply.github.com> 2026-09-07 12:57:52-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-09-07 16:57:52-03:00
log72d94087b460e8d3d76572ed59fe935b80eb41a1
treec2ae9876a6cb1276de584fdca1de56e3d0a2371a
parent62fbbe08aa854fcbd8044cd971a45a54edafcb98
signature Signed by PGP key B5690EEEBB952194

fix(web): restore settled PR colors on hover (#10023)


3 files changed, 9 insertions(+), 9 deletions(-)

apps/web/src/components/Sidebar.tsx+1-3
......@@ -1468,9 +1468,7 @@ const SidebarThreadRow = memo(function SidebarThreadRow(props: {
14681468 // number from reflowing as PR states stream in.
14691469 "shrink-0 text-xs tabular-nums hover:underline",
14701470 variant === "slim" && variantAction === "unsettle"
1471 ? props.isActive
1472 ? "text-secondary-label"
1473 : cn("text-secondary-label transition-colors", settledPrHoverClass)
1471 ? cn("text-secondary-label transition-colors", settledPrHoverClass)
14741472 : prStatus.colorClass,
14751473 )}
14761474 aria-label={prStatus.tooltip}
apps/web/src/components/ThreadStatusIndicators.test.ts+4-2
......@@ -125,10 +125,12 @@ describe("settledPrHoverColorClass", () => {
125125 ["merged", "text-violet-600"],
126126 ["closed", "text-red-600"],
127127 ] as const)("restores the %s pull request color on row hover", (state, colorClass) => {
128 expect(settledPrHoverColorClass(state)).toContain(`group-hover/v2-row:${colorClass}`);
128 expect(settledPrHoverColorClass(state)).toContain(`group-hover/sidebar-row:${colorClass}`);
129129 });
130130
131131 it("keeps draft pull requests gray on row hover", () => {
132 expect(settledPrHoverColorClass("open", true)).toContain("group-hover/v2-row:text-zinc-500");
132 expect(settledPrHoverColorClass("open", true)).toContain(
133 "group-hover/sidebar-row:text-zinc-500",
134 );
133135 });
134136});
apps/web/src/components/ThreadStatusIndicators.tsx+4-4
......@@ -86,13 +86,13 @@ export function settledPrHoverColorClass(
8686 switch (state) {
8787 case "open":
8888 if (isDraft) {
89 return "group-hover/v2-row:text-zinc-500 dark:group-hover/v2-row:text-zinc-400/80";
89 return "group-hover/sidebar-row:text-zinc-500 dark:group-hover/sidebar-row:text-zinc-400/80";
9090 }
91 return "group-hover/v2-row:text-emerald-600 dark:group-hover/v2-row:text-emerald-300/90";
91 return "group-hover/sidebar-row:text-emerald-600 dark:group-hover/sidebar-row:text-emerald-300/90";
9292 case "merged":
93 return "group-hover/v2-row:text-violet-600 dark:group-hover/v2-row:text-violet-300/90";
93 return "group-hover/sidebar-row:text-violet-600 dark:group-hover/sidebar-row:text-violet-300/90";
9494 case "closed":
95 return "group-hover/v2-row:text-red-600 dark:group-hover/v2-row:text-red-300/90";
95 return "group-hover/sidebar-row:text-red-600 dark:group-hover/sidebar-row:text-red-300/90";
9696 }
9797}
9898