Spaces:
Sleeping
Sleeping
File size: 2,145 Bytes
13555f3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import React from 'react'
import {useIntl} from 'react-intl'
import CardIcon from '../../widgets/icons/card'
import Menu from '../../widgets/menu'
import MenuWrapper from '../../widgets/menuWrapper'
import OptionsIcon from '../../widgets/icons/options'
import IconButton from '../../widgets/buttons/iconButton'
import CheckIcon from '../../widgets/icons/check'
import mutator from '../../mutator'
import {useAppSelector} from '../../store/hooks'
import {getCurrentView} from '../../store/views'
import {getCurrentBoardId} from '../../store/boards'
type Props = {
addCard: () => void
}
const EmptyCardButton = (props: Props) => {
const currentView = useAppSelector(getCurrentView)
const boardId = useAppSelector(getCurrentBoardId)
const intl = useIntl()
return (
<Menu.Text
icon={<CardIcon/>}
id='empty-template'
name={intl.formatMessage({id: 'ViewHeader.empty-card', defaultMessage: 'Empty card'})}
className={currentView.fields.defaultTemplateId ? '' : 'bold-menu-text'}
onClick={() => {
props.addCard()
}}
rightIcon={
<MenuWrapper stopPropagationOnToggle={true}>
<IconButton icon={<OptionsIcon/>}/>
<Menu position='left'>
<Menu.Text
icon={<CheckIcon/>}
id='default'
name={intl.formatMessage({
id: 'ViewHeader.set-default-template',
defaultMessage: 'Set as default',
})}
onClick={async () => {
await mutator.clearDefaultTemplate(boardId, currentView.id, currentView.fields.defaultTemplateId)
}}
/>
</Menu>
</MenuWrapper>
}
/>)
}
export default React.memo(EmptyCardButton)
|