Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pterodactyl
GitHub Repository: pterodactyl/panel
Path: blob/1.0-develop/resources/scripts/components/FlashMessageRender.tsx
7461 views
1
import React from 'react';
2
import MessageBox from '@/components/MessageBox';
3
import { useStoreState } from 'easy-peasy';
4
import tw from 'twin.macro';
5
6
type Props = Readonly<{
7
byKey?: string;
8
className?: string;
9
}>;
10
11
const FlashMessageRender = ({ byKey, className }: Props) => {
12
const flashes = useStoreState((state) =>
13
state.flashes.items.filter((flash) => (byKey ? flash.key === byKey : true))
14
);
15
16
return flashes.length ? (
17
<div className={className}>
18
{flashes.map((flash, index) => (
19
<React.Fragment key={flash.id || flash.type + flash.message}>
20
{index > 0 && <div css={tw`mt-2`}></div>}
21
<MessageBox type={flash.type} title={flash.title}>
22
{flash.message}
23
</MessageBox>
24
</React.Fragment>
25
))}
26
</div>
27
) : null;
28
};
29
30
export default FlashMessageRender;
31
32