@@ -0,0 +1,18 @@
|
||||
type FloatingToastListener = (message: string) => void;
|
||||
|
||||
const listeners = new Set<FloatingToastListener>();
|
||||
|
||||
export function registerFloatingToastListener(fn: FloatingToastListener) {
|
||||
listeners.add(fn);
|
||||
return () => {
|
||||
listeners.delete(fn);
|
||||
};
|
||||
}
|
||||
|
||||
/** 已有页面宿主时返回 true,否则调用方应回退到原生 toast */
|
||||
export function showFloatingToast(message: string): boolean {
|
||||
const text = message.trim();
|
||||
if (!text || listeners.size === 0) return false;
|
||||
listeners.forEach((fn) => fn(text));
|
||||
return true;
|
||||
}
|
||||
Reference in New Issue
Block a user