import IconFont from '@/components/icon-font'; import { KeyMap } from '@/config/hotkeys'; import UploadImg from '@/pages/playground/components/upload-img'; import { ClearOutlined, DownloadOutlined, ExpandOutlined, FormatPainterOutlined, UndoOutlined } from '@ant-design/icons'; import { useIntl } from '@umijs/max'; import { Button, Checkbox, Slider, Tooltip } from 'antd'; import { CheckboxChangeEvent } from 'antd/es/checkbox'; import React from 'react'; interface ToolsBarProps { disabled: boolean; loading: boolean; lineWidth: number; uploadButton?: React.ReactNode; invertMask?: boolean; accept?: string; handleBrushSizeChange: (value: number) => void; undo: () => void; onClear: () => void; handleFitView: () => void; handleUpdateImageList: (fileList: any[]) => void; handleUpdateMaskList: (fileList: any[]) => void; } const ToolsBar: React.FC = (props) => { const { disabled, loading, lineWidth, invertMask, accept, handleBrushSizeChange, undo, onClear, handleFitView, handleUpdateImageList, handleUpdateMaskList } = props; const intl = useIntl(); return (
{intl.formatMessage({ id: 'playground.image.brushSize' })}
} > [{KeyMap.UNDO.textKeybinding}] {intl.formatMessage({ id: 'common.button.undo' })} } > } disabled={loading || invertMask} handleUpdateImgList={handleUpdateMaskList} size="middle" accept={accept} > ); }; interface ImageActionsBarProps { disabled: boolean; maskUpload?: any[]; isOriginal: boolean; invertMask: boolean; handleOnChangeMask: (e: CheckboxChangeEvent) => void; downloadMask: () => void; download: () => void; } const ImageActionsBar: React.FC = (props) => { const intl = useIntl(); const { disabled, isOriginal, invertMask, handleOnChangeMask, downloadMask, download } = props; return (
{isOriginal && ( <> {intl.formatMessage({ id: 'playground.image.negativeMask.tips' })} } > {intl.formatMessage({ id: 'playground.image.negativeMask' })} )} {!isOriginal && ( )}
); }; export { ImageActionsBar, ToolsBar };