Show ephemeral header badge as icon only

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Thomas Petersen
2026-05-06 21:17:46 -04:00
parent 052c2f402c
commit 99beb2c099
2 changed files with 9 additions and 14 deletions

View File

@@ -1,9 +1,6 @@
import { Clock } from "lucide-react";
import {
EPHEMERAL_CHANNEL_LABEL,
type EphemeralChannelDisplay,
} from "@/features/channels/lib/ephemeralChannel";
import type { EphemeralChannelDisplay } from "@/features/channels/lib/ephemeralChannel";
import { cn } from "@/shared/lib/cn";
type EphemeralChannelBadgeProps = {
@@ -24,10 +21,6 @@ export function EphemeralChannelBadge({
"aria-label": display.tooltipLabel,
role: "img" as const,
};
const label =
isHeader && display.detailLabel
? `${EPHEMERAL_CHANNEL_LABEL} · ${display.detailLabel}`
: EPHEMERAL_CHANNEL_LABEL;
return (
<span
@@ -35,14 +28,13 @@ export function EphemeralChannelBadge({
className={cn(
"inline-flex items-center gap-1 rounded-full font-medium text-amber-700 dark:text-amber-300",
isHeader
? "border border-amber-500/30 bg-amber-500/10 px-2 py-0.5 text-xs"
? "h-5 w-5 justify-center border border-amber-500/30 bg-amber-500/10 p-0 text-xs"
: "shrink-0 h-4 w-4 justify-center border border-amber-500/20 bg-amber-500/10 p-0",
)}
data-testid={testId}
title={display.tooltipLabel}
>
<Clock className={cn(isHeader ? "h-3 w-3" : "h-2.5 w-2.5")} />
{isHeader ? <span>{label}</span> : null}
</span>
);
}

View File

@@ -329,8 +329,10 @@ test("create ephemeral stream shows sidebar and header affordances", async ({
await expect(
page.getByTestId(`channel-ephemeral-${channelName}`),
).toBeVisible();
await expect(page.getByTestId("chat-ephemeral-badge")).toHaveText(
/Ephemeral.+left/,
await expect(page.getByTestId("chat-ephemeral-badge")).toBeVisible();
await expect(page.getByTestId("chat-ephemeral-badge")).toHaveAttribute(
"title",
/Ephemeral channel\..+left/,
);
await page.getByRole("button", { name: "Toggle Sidebar" }).click();
@@ -370,8 +372,9 @@ test("ephemeral countdown refreshes when switching channels after a clock jump",
await page.getByTestId(`channel-${firstChannelName}`).click();
await expect(page.getByTestId("chat-title")).toHaveText(firstChannelName);
await expect(page.getByTestId("chat-ephemeral-badge")).toHaveText(
/Ephemeral.+22h left/,
await expect(page.getByTestId("chat-ephemeral-badge")).toHaveAttribute(
"title",
/Ephemeral channel\..+22 hours left/,
);
});