diff --git a/web/src/routes/Main/Content/Group/SidebarItem.tsx b/web/src/routes/Main/Content/Group/SidebarItem.tsx
index 47f0bc86..a32862f5 100644
--- a/web/src/routes/Main/Content/Group/SidebarItem.tsx
+++ b/web/src/routes/Main/Content/Group/SidebarItem.tsx
@@ -35,6 +35,9 @@ export const SidebarItem: React.FC<{
return ;
}
+ const isPinned =
+ isValidStr(groupInfo.pinnedPanelId) && groupInfo.pinnedPanelId === panel.id;
+
const menu = (
);
+ const icon = isPinned ? : ;
+
return (
{panel.type === GroupPanelType.TEXT ? (
-
+
) : (
#
}
+ icon={icon}
to={`/main/group/${groupId}/${panel.id}`}
/>
)}
diff --git a/web/src/routes/Main/Content/Group/TextPanelItem.tsx b/web/src/routes/Main/Content/Group/TextPanelItem.tsx
index 05e38588..ba62efb4 100644
--- a/web/src/routes/Main/Content/Group/TextPanelItem.tsx
+++ b/web/src/routes/Main/Content/Group/TextPanelItem.tsx
@@ -5,6 +5,7 @@ import { GroupPanel, useGroupTextPanelUnread } from 'tailchat-shared';
interface GroupTextPanelItemProps {
groupId: string;
panel: GroupPanel;
+ icon: React.ReactNode;
}
/**
@@ -19,7 +20,7 @@ export const GroupTextPanelItem: React.FC = React.memo(
return (
#}
+ icon={props.icon}
to={`/main/group/${groupId}/${panel.id}`}
badge={hasUnread}
/>