UNPKG

@pwc-ra/components

Version:

PwC RA shared components library

68 lines (67 loc) 1.68 kB
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 {};