// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. import React, {useCallback} from 'react' import {BlockIcons} from '../blockIcons' import {Card} from '../blocks/card' import mutator from '../mutator' import IconSelector from './iconSelector' type Props = { block: Card size?: 's' | 'm' | 'l' readonly?: boolean } const BlockIconSelector = (props: Props) => { const {block, size} = props const onSelectEmoji = useCallback((emoji: string) => { mutator.changeBlockIcon(block.boardId, block.id, block.fields.icon, emoji) document.body.click() }, [block.id, block.fields.icon]) const onAddRandomIcon = useCallback(() => mutator.changeBlockIcon(block.boardId, block.id, block.fields.icon, BlockIcons.shared.randomIcon()), [block.id, block.fields.icon]) const onRemoveIcon = useCallback(() => mutator.changeBlockIcon(block.boardId, block.id, block.fields.icon, '', 'remove icon'), [block.id, block.fields.icon]) if (!block.fields.icon) { return null } let className = `octo-icon size-${size || 'm'}` if (props.readonly) { className += ' readonly' } const iconElement =