mirror of
https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
synced 2025-10-01 15:46:39 +08:00
showToast(): return a dismiss callback
This commit is contained in:
parent
a73a4c6dd6
commit
903d00bd89
@ -229,13 +229,19 @@ export function showToast(
|
||||
content: string,
|
||||
action?: ToastProps["action"],
|
||||
delay = 3000,
|
||||
) {
|
||||
): () => void {
|
||||
const div = document.createElement("div");
|
||||
div.className = styles.show;
|
||||
document.body.appendChild(div);
|
||||
|
||||
const root = createRoot(div);
|
||||
let closeCalled = false;
|
||||
const close = () => {
|
||||
if (closeCalled) {
|
||||
return;
|
||||
} else {
|
||||
closeCalled = true;
|
||||
}
|
||||
div.classList.add(styles.hide);
|
||||
|
||||
setTimeout(() => {
|
||||
@ -249,6 +255,8 @@ export function showToast(
|
||||
}, delay);
|
||||
|
||||
root.render(<Toast content={content} action={action} onClose={close} />);
|
||||
|
||||
return close;
|
||||
}
|
||||
|
||||
export type InputProps = React.HTMLProps<HTMLTextAreaElement> & {
|
||||
|
Loading…
Reference in New Issue
Block a user