mirror of
https://github.com/shishantbiswas/bknd.git
synced 2026-03-16 20:37:21 +00:00
40 lines
903 B
TypeScript
40 lines
903 B
TypeScript
import { getFlashMessage } from "core/server/flash";
|
|
import { useEffect, useState } from "react";
|
|
import { Alert } from "ui/components/display/Alert";
|
|
|
|
/**
|
|
* Handles flash message from server
|
|
* @constructor
|
|
*/
|
|
export function FlashMessage() {
|
|
const [flash, setFlash] = useState<any>();
|
|
|
|
useEffect(() => {
|
|
if (!flash) {
|
|
const content = getFlashMessage();
|
|
if (content) {
|
|
setFlash(content);
|
|
}
|
|
}
|
|
}, []);
|
|
|
|
if (flash) {
|
|
let Component = Alert.Info;
|
|
switch (flash.type) {
|
|
case "error":
|
|
Component = Alert.Exception;
|
|
break;
|
|
case "success":
|
|
Component = Alert.Success;
|
|
break;
|
|
case "warning":
|
|
Component = Alert.Warning;
|
|
break;
|
|
}
|
|
|
|
return <Component message={flash.message} className="justify-center" />;
|
|
}
|
|
|
|
return null;
|
|
}
|