diff --git a/frontend/src/components/GovernanceModelBadge.tsx b/frontend/src/components/GovernanceModelBadge.tsx index 096ddb9..fba3c8c 100644 --- a/frontend/src/components/GovernanceModelBadge.tsx +++ b/frontend/src/components/GovernanceModelBadge.tsx @@ -54,7 +54,7 @@ export default function GovernanceModelBadge({ className = '', }: GovernanceModelBadgeProps) { const [isHovered, setIsHovered] = useState(false); - const hoverTimeoutRef = useRef(null); + const hoverTimeoutRef = useRef | null>(null); const badgeRef = useRef(null); const style = getGovernanceModelStyle(governanceModelName); diff --git a/frontend/src/components/TeamDashboard.tsx b/frontend/src/components/TeamDashboard.tsx index 05fb363..46b26a4 100644 --- a/frontend/src/components/TeamDashboard.tsx +++ b/frontend/src/components/TeamDashboard.tsx @@ -68,7 +68,7 @@ export default function TeamDashboard() { const [statusDropdownOpen, setStatusDropdownOpen] = useState(false); const [governanceModels, setGovernanceModels] = useState([]); const [hoveredGovModel, setHoveredGovModel] = useState(null); - const hoverTimeoutRef = useRef(null); + const hoverTimeoutRef = useRef | null>(null); // Hover handlers with delayed hide to prevent flickering when moving between badges const handleGovModelMouseEnter = useCallback((hoverKey: string) => { diff --git a/frontend/src/types/node.d.ts b/frontend/src/types/node.d.ts index 5debb4c..98008d0 100644 --- a/frontend/src/types/node.d.ts +++ b/frontend/src/types/node.d.ts @@ -1,4 +1,5 @@ // Type definitions for Node.js types used in frontend +// In browser context, setTimeout returns number, not NodeJS.Timeout declare namespace NodeJS { - interface Timeout {} + interface Timeout extends ReturnType {} }