style: group sidebar item icon

pull/81/head
moonrailgun 3 years ago
parent 6c3249fe3e
commit 5814c1f795

@ -35,6 +35,9 @@ export const SidebarItem: React.FC<{
return <LoadingSpinner />; return <LoadingSpinner />;
} }
const isPinned =
isValidStr(groupInfo.pinnedPanelId) && groupInfo.pinnedPanelId === panel.id;
const menu = ( const menu = (
<Menu> <Menu>
<Menu.Item <Menu.Item
@ -55,8 +58,7 @@ export const SidebarItem: React.FC<{
{t('在新窗口打开')} {t('在新窗口打开')}
</Menu.Item> </Menu.Item>
{isValidStr(groupInfo.pinnedPanelId) && {isPinned ? (
groupInfo.pinnedPanelId === panel.id ? (
<Menu.Item <Menu.Item
icon={<Icon icon="mdi:pin-off" />} icon={<Icon icon="mdi:pin-off" />}
onClick={() => { onClick={() => {
@ -87,15 +89,17 @@ export const SidebarItem: React.FC<{
</Menu> </Menu>
); );
const icon = isPinned ? <Icon icon="mdi:pin" /> : <Icon icon="mdi:pound" />;
return ( return (
<Dropdown overlay={menu} trigger={['contextMenu']}> <Dropdown overlay={menu} trigger={['contextMenu']}>
<div> <div>
{panel.type === GroupPanelType.TEXT ? ( {panel.type === GroupPanelType.TEXT ? (
<GroupTextPanelItem groupId={groupId} panel={panel} /> <GroupTextPanelItem icon={icon} groupId={groupId} panel={panel} />
) : ( ) : (
<GroupPanelItem <GroupPanelItem
name={panel.name} name={panel.name}
icon={<div>#</div>} icon={icon}
to={`/main/group/${groupId}/${panel.id}`} to={`/main/group/${groupId}/${panel.id}`}
/> />
)} )}

@ -5,6 +5,7 @@ import { GroupPanel, useGroupTextPanelUnread } from 'tailchat-shared';
interface GroupTextPanelItemProps { interface GroupTextPanelItemProps {
groupId: string; groupId: string;
panel: GroupPanel; panel: GroupPanel;
icon: React.ReactNode;
} }
/** /**
@ -19,7 +20,7 @@ export const GroupTextPanelItem: React.FC<GroupTextPanelItemProps> = React.memo(
return ( return (
<GroupPanelItem <GroupPanelItem
name={panel.name} name={panel.name}
icon={<div>#</div>} icon={props.icon}
to={`/main/group/${groupId}/${panel.id}`} to={`/main/group/${groupId}/${panel.id}`}
badge={hasUnread} badge={hasUnread}
/> />

Loading…
Cancel
Save