mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
fix(desktop): restore solid dot for top-level channel unreads (#1253)
Signed-off-by: Will Pfleger <pfleger.will@gmail.com> Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
This commit is contained in:
co-authored by
npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7
parent
ebd74d11b4
commit
9d3bfd38b0
@@ -70,6 +70,23 @@ function UnreadCountBadge({
|
||||
);
|
||||
}
|
||||
|
||||
function UnreadDotBadge({
|
||||
channelName,
|
||||
className,
|
||||
}: {
|
||||
channelName: string;
|
||||
className?: string;
|
||||
}) {
|
||||
return (
|
||||
<span
|
||||
className={cn("h-2 w-2 shrink-0 rounded-full bg-primary", className)}
|
||||
data-testid={`channel-unread-dot-${channelName}`}
|
||||
>
|
||||
<span className="sr-only">unread</span>
|
||||
</span>
|
||||
);
|
||||
}
|
||||
|
||||
export type SidebarDmParticipant = {
|
||||
avatarUrl: string | null;
|
||||
label: string;
|
||||
@@ -233,15 +250,16 @@ export function ChannelMenuButton({
|
||||
)}
|
||||
/>
|
||||
) : null}
|
||||
{hasUnread &&
|
||||
unreadCount > 0 &&
|
||||
!isActive &&
|
||||
channel.channelType !== "dm" ? (
|
||||
<UnreadCountBadge
|
||||
channelName={channel.name}
|
||||
className="ml-auto"
|
||||
count={Math.max(unreadCount, 1)}
|
||||
/>
|
||||
{hasUnread && !isActive && channel.channelType !== "dm" ? (
|
||||
unreadCount > 0 ? (
|
||||
<UnreadCountBadge
|
||||
channelName={channel.name}
|
||||
className="ml-auto"
|
||||
count={unreadCount}
|
||||
/>
|
||||
) : (
|
||||
<UnreadDotBadge channelName={channel.name} className="ml-auto" />
|
||||
)
|
||||
) : null}
|
||||
</SidebarMenuButton>
|
||||
);
|
||||
|
||||
@@ -105,6 +105,7 @@ test("regular message bolds inactive channel without numeric badge", async ({
|
||||
"600",
|
||||
);
|
||||
await expect(page.getByTestId("channel-unread-random")).toHaveCount(0);
|
||||
await expect(page.getByTestId("channel-unread-dot-random")).toBeVisible();
|
||||
await waitForBadgeState(page, withDotOnlyBadge(baselineBadge));
|
||||
});
|
||||
|
||||
@@ -134,6 +135,7 @@ test("numeric badge increments for @mention in inactive channel", async ({
|
||||
);
|
||||
|
||||
await expect(page.getByTestId("channel-unread-random")).toBeVisible();
|
||||
await expect(page.getByTestId("channel-unread-dot-random")).toHaveCount(0);
|
||||
await waitForBadgeState(page, withAdditionalBadgeCount(baselineBadge, 1));
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user