mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-14 13:25:12 +00:00
feat: add message center (#1486)
This commit is contained in:
30
apps/web/src/components/pure/message-center/index.tsx
Normal file
30
apps/web/src/components/pure/message-center/index.tsx
Normal file
@@ -0,0 +1,30 @@
|
||||
import { toast } from '@affine/component';
|
||||
import { MessageCode } from '@affine/datacenter';
|
||||
import { messages } from '@affine/datacenter';
|
||||
import React, { useEffect } from 'react';
|
||||
|
||||
declare global {
|
||||
interface DocumentEventMap {
|
||||
'affine-error': CustomEvent<{
|
||||
code: MessageCode;
|
||||
}>;
|
||||
}
|
||||
}
|
||||
|
||||
export const MessageCenter: React.FC = () => {
|
||||
useEffect(() => {
|
||||
const listener = (
|
||||
event: CustomEvent<{
|
||||
code: MessageCode;
|
||||
}>
|
||||
) => {
|
||||
toast(messages[event.detail.code].message);
|
||||
};
|
||||
|
||||
document.addEventListener('affine-error', listener);
|
||||
return () => {
|
||||
document.removeEventListener('affine-error', listener);
|
||||
};
|
||||
}, []);
|
||||
return null;
|
||||
};
|
||||
Reference in New Issue
Block a user