import React from 'react'; import MessageBox from '@/components/MessageBox'; import { useStoreState } from 'easy-peasy'; import tw from 'twin.macro'; type Props = Readonly<{ byKey?: string; className?: string; }>; const FlashMessageRender = ({ byKey, className }: Props) => { const flashes = useStoreState(state => state.flashes.items.filter( flash => byKey ? flash.key === byKey : true, )); return ( flashes.length ? <div className={className}> { flashes.map((flash, index) => ( <React.Fragment key={flash.id || flash.type + flash.message}> {index > 0 && <div css={tw`mt-2`}></div>} <MessageBox type={flash.type} title={flash.title}> {flash.message} </MessageBox> </React.Fragment> )) } </div> : null ); }; export default FlashMessageRender;