import { ChatInputActionBar } from '@lobehub/ui'; import { ReactNode, memo, useMemo } from 'react'; import { ActionKeys, actionMap, getLeftActionList, getRightActionList } from './config'; const RenderActionList = ({ dataSource }: { dataSource: ActionKeys[] }) => ( <> {dataSource.map((key) => { const Render = actionMap[key]; return ; })} ); export interface ActionBarProps { leftAreaEndRender?: ReactNode; leftAreaStartRender?: ReactNode; mobile?: boolean; padding?: number | string; rightAreaEndRender?: ReactNode; rightAreaStartRender?: ReactNode; } const ActionBar = memo( ({ padding = '0 16px', mobile, rightAreaStartRender, rightAreaEndRender, leftAreaStartRender, leftAreaEndRender, }) => { const leftActionList = useMemo(() => getLeftActionList(mobile), [mobile]); const rightActionList = useMemo(() => getRightActionList(mobile), [mobile]); return ( {leftAreaStartRender} {leftAreaEndRender} } padding={padding} rightAddons={ <> {rightAreaStartRender} {rightAreaEndRender} } /> ); }, ); export default ActionBar;