@pwc-ra/components
Version:
PwC RA shared components library
63 lines (62 loc) • 1.53 kB
TypeScript
import React, { ReactNode } from 'react';
import { User } from '../../types/user';
interface PageHeaderContextType {
currentUser: User | null;
loading: boolean;
error: string | null;
selectedTenant: {
id: string;
code: string;
name: string;
} | null;
setSelectedTenant: (tenant: {
id: string;
code: string;
name: string;
} | null) => void;
logout: () => void;
}
interface GlobalPageHeaderState {
currentUser: User | null;
selectedTenant: {
id: string;
code: string;
name: string;
} | null;
loading: boolean;
error: string | null;
}
export declare const PageHeaderState: {
/**
* 获取当前用户信息
*/
getCurrentUser: () => User | null;
/**
* 获取当前选中的租户
*/
getSelectedTenant: () => {
id: string;
code: string;
name: string;
} | null;
/**
* 获取加载状态
*/
isLoading: () => boolean;
/**
* 获取错误信息
*/
getError: () => string | null;
/**
* 监听状态变化
* @param callback 状态变化时的回调函数
* @returns 取消监听的函数
*/
subscribe: (callback: (state: GlobalPageHeaderState) => void) => (() => void);
};
interface PageHeaderProviderProps {
children: ReactNode;
}
export declare const PageHeaderProvider: React.FC<PageHeaderProviderProps>;
export declare const usePageHeader: () => PageHeaderContextType;
export {};