import { useQuery, useQueryClient } from '@tanstack/react-query' import { useAuth } from '../auth/AuthContext' import { usePermission } from '../../hooks/usePermission' import { useMqttTopic } from '../../hooks/useMqtt' import { InfoBox } from '../../components/desktop/InfoBox' import { ChartPanel } from '../../components/desktop/ChartPanel' import { ActivityTimeline } from '../../components/desktop/ActivityTimeline' import { fetchStats, fetchActivity } from './dashboardApi' export function DashboardPage() { const { user } = useAuth() const { can } = usePermission() const queryClient = useQueryClient() const { data: stats } = useQuery({ queryKey: ['dashboard', 'stats'], queryFn: fetchStats }) const { data: activity } = useQuery({ queryKey: ['dashboard', 'activity'], queryFn: fetchActivity, enabled: can('audit.view'), }) useMqttTopic('module/users/events', () => { queryClient.invalidateQueries({ queryKey: ['dashboard'] }) }) return (
Welcome, {user?.name}.