46 lines
1.6 KiB
TypeScript
46 lines
1.6 KiB
TypeScript
import { FunctionComponent } from 'preact'
|
|
import { Icon } from '@/Components/Icon/Icon'
|
|
import { ListableContentItem } from './Types/ListableContentItem'
|
|
|
|
type Props = {
|
|
item: {
|
|
locked: ListableContentItem['locked']
|
|
trashed: ListableContentItem['trashed']
|
|
archived: ListableContentItem['archived']
|
|
pinned: ListableContentItem['pinned']
|
|
}
|
|
hasFiles?: boolean
|
|
}
|
|
|
|
export const ListItemFlagIcons: FunctionComponent<Props> = ({ item, hasFiles = false }) => {
|
|
return (
|
|
<div className="flex items-start p-4 pl-0 border-0 border-b-1 border-solid border-main">
|
|
{item.locked && (
|
|
<span className="flex items-center" title="Editing Disabled">
|
|
<Icon ariaLabel="Editing Disabled" type="pencil-off" className="sn-icon--small color-info" />
|
|
</span>
|
|
)}
|
|
{item.trashed && (
|
|
<span className="flex items-center ml-1.5" title="Trashed">
|
|
<Icon ariaLabel="Trashed" type="trash-filled" className="sn-icon--small color-danger" />
|
|
</span>
|
|
)}
|
|
{item.archived && (
|
|
<span className="flex items-center ml-1.5" title="Archived">
|
|
<Icon ariaLabel="Archived" type="archive" className="sn-icon--mid color-accessory-tint-3" />
|
|
</span>
|
|
)}
|
|
{item.pinned && (
|
|
<span className="flex items-center ml-1.5" title="Pinned">
|
|
<Icon ariaLabel="Pinned" type="pin-filled" className="sn-icon--small color-info" />
|
|
</span>
|
|
)}
|
|
{hasFiles && (
|
|
<span className="flex items-center ml-1.5" title="Files">
|
|
<Icon ariaLabel="Files" type="attachment-file" className="sn-icon--small color-info" />
|
|
</span>
|
|
)}
|
|
</div>
|
|
)
|
|
}
|