mirror of
https://github.com/duckietm/Nitro-Cool-UI.git
synced 2025-06-21 22:36:58 +00:00
19 lines
1.0 KiB
TypeScript
19 lines
1.0 KiB
TypeScript
import { FC, PropsWithChildren } from 'react';
|
|
import { UnseenItemCategory } from '../../../../api';
|
|
import { LayoutBadgeImageView, LayoutGridItem } from '../../../../common';
|
|
import { useInventoryBadges, useInventoryUnseenTracker } from '../../../../hooks';
|
|
|
|
export const InventoryBadgeItemView: FC<PropsWithChildren<{ badgeCode: string }>> = props =>
|
|
{
|
|
const { badgeCode = null, children = null, ...rest } = props;
|
|
const { selectedBadgeCode = null, setSelectedBadgeCode = null, toggleBadge = null, getBadgeId = null } = useInventoryBadges();
|
|
const { isUnseen = null } = useInventoryUnseenTracker();
|
|
const unseen = isUnseen(UnseenItemCategory.BADGE, getBadgeId(badgeCode));
|
|
|
|
return (
|
|
<LayoutGridItem itemActive={ (selectedBadgeCode === badgeCode) } itemUnseen={ unseen } onMouseDown={ event => setSelectedBadgeCode(badgeCode) } onDoubleClick={ event => toggleBadge(selectedBadgeCode) } { ...rest }>
|
|
<LayoutBadgeImageView badgeCode={ badgeCode } />
|
|
{ children }
|
|
</LayoutGridItem>
|
|
);
|
|
} |