tangweijie e0a6ba2dc4 feat: 初始化 React 数据看板项目
- Vite + React 18 + TypeScript
- TailwindCSS 暗色主题
- 仪表板、分析、事件浏览页面
- Recharts 图表组件
- Zustand 状态管理
- TanStack Query 数据请求
2026-01-05 18:08:27 +08:00

27 lines
624 B
TypeScript

import { create } from 'zustand';
interface AppState {
lastRefresh: Date | null;
isLoading: boolean;
error: string | null;
refreshData: () => void;
setLoading: (loading: boolean) => void;
setError: (error: string | null) => void;
}
export const useAppStore = create<AppState>((set) => ({
lastRefresh: null,
isLoading: false,
error: null,
refreshData: () => {
set({ lastRefresh: new Date() });
// Trigger refetch via React Query
window.dispatchEvent(new CustomEvent('app:refresh'));
},
setLoading: (loading) => set({ isLoading: loading }),
setError: (error) => set({ error }),
}));