@pwc-ra/components
Version:
PwC RA shared components library
68 lines (67 loc) • 1.68 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;
/**
* 租户信息存储在 localStorage 中的 key
* 如果不提供,则不会持久化租户选择
*/
tenantStorageKey?: string;
}
export declare const PageHeaderProvider: React.FC<PageHeaderProviderProps>;
export declare const usePageHeader: () => PageHeaderContextType;
export {};