farmcontrol-ui/src/components/Dashboard/common/ObjectTableViewButton.jsx
Tom Butcher 1192d56027
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
Add showEndingDivider prop to ObjectTableViewButton for enhanced layout control
- Updated ObjectTableViewButton component to accept a showEndingDivider prop, allowing for conditional rendering of a divider in the layout.
- Modified multiple dashboard components (Invoices, Payments, TaxRecords, etc.) to utilize the new prop, improving visual separation in the UI.
- Ensured consistent application of the new prop across various components for a cohesive user experience.
2026-08-09 23:08:01 +01:00

40 lines
1022 B
JavaScript

import PropTypes from 'prop-types'
import { Button, Divider, Flex } from 'antd'
import GridIcon from '../../Icons/GridIcon'
import ListIcon from '../../Icons/ListIcon'
const ObjectTableViewButton = ({
viewMode,
setViewMode,
showEndingDivider = false,
...buttonProps
}) => {
const content = (
<Button
icon={viewMode === 'cards' ? <ListIcon /> : <GridIcon />}
onClick={() => setViewMode(viewMode === 'cards' ? 'list' : 'cards')}
title={
viewMode === 'cards' ? 'Switch to list view' : 'Switch to card view'
}
{...buttonProps}
/>
)
if (showEndingDivider) {
return (
<Flex gap='small' align='center'>
<Divider type='vertical' style={{ margin: '0 4px', height: '18px' }} />
{content}
</Flex>
)
}
return content
}
ObjectTableViewButton.propTypes = {
viewMode: PropTypes.oneOf(['list', 'cards']).isRequired,
setViewMode: PropTypes.func.isRequired,
showEndingDivider: PropTypes.bool
}
export default ObjectTableViewButton