mirror of
https://github.com/router-for-me/Cli-Proxy-API-Management-Center.git
synced 2026-02-03 11:20:50 +08:00
fix(layout): wire header refresh to page loaders and quota config refresh
This commit is contained in:
24
src/hooks/useHeaderRefresh.ts
Normal file
24
src/hooks/useHeaderRefresh.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { useEffect } from 'react';
|
||||
|
||||
export type HeaderRefreshHandler = () => void | Promise<void>;
|
||||
|
||||
let activeHeaderRefreshHandler: HeaderRefreshHandler | null = null;
|
||||
|
||||
export const triggerHeaderRefresh = async () => {
|
||||
if (!activeHeaderRefreshHandler) return;
|
||||
await activeHeaderRefreshHandler();
|
||||
};
|
||||
|
||||
export const useHeaderRefresh = (handler?: HeaderRefreshHandler | null) => {
|
||||
useEffect(() => {
|
||||
if (!handler) return;
|
||||
|
||||
activeHeaderRefreshHandler = handler;
|
||||
|
||||
return () => {
|
||||
if (activeHeaderRefreshHandler === handler) {
|
||||
activeHeaderRefreshHandler = null;
|
||||
}
|
||||
};
|
||||
}, [handler]);
|
||||
};
|
||||
Reference in New Issue
Block a user