diff --git a/admin/frontend/src/components/BulkActionsBar.tsx b/admin/frontend/src/components/BulkActionsBar.tsx index a54babb..27de7f4 100644 --- a/admin/frontend/src/components/BulkActionsBar.tsx +++ b/admin/frontend/src/components/BulkActionsBar.tsx @@ -1,4 +1,6 @@ -import React, { useState } from 'react'; +/** @jsxImportSource react */ + +import { useState } from 'react'; export interface BulkActionsBarProps { /** Queue name (for display) */ diff --git a/admin/frontend/src/components/DLQManager.tsx b/admin/frontend/src/components/DLQManager.tsx index d57f385..da54c08 100644 --- a/admin/frontend/src/components/DLQManager.tsx +++ b/admin/frontend/src/components/DLQManager.tsx @@ -1,4 +1,6 @@ -import React, { useState } from 'react'; +/** @jsxImportSource react */ + +import { useState } from 'react'; import { useJobs } from '../hooks'; import { JobDetailsModal } from './JobDetailsModal'; import type { JobDetails } from '../types'; diff --git a/admin/frontend/src/components/JobDetailPanel.tsx b/admin/frontend/src/components/JobDetailPanel.tsx index c913304..367caba 100644 --- a/admin/frontend/src/components/JobDetailPanel.tsx +++ b/admin/frontend/src/components/JobDetailPanel.tsx @@ -1,4 +1,5 @@ -import React from 'react'; +/** @jsxImportSource react */ + import type { JobDetails } from '../types'; export interface JobDetailPanelProps { diff --git a/admin/frontend/src/components/JobDetailsModal.tsx b/admin/frontend/src/components/JobDetailsModal.tsx index 860c50d..653ce78 100644 --- a/admin/frontend/src/components/JobDetailsModal.tsx +++ b/admin/frontend/src/components/JobDetailsModal.tsx @@ -1,4 +1,6 @@ -import React, { useState } from 'react'; +/** @jsxImportSource react */ + +import { useState } from 'react'; import type { JobDetails } from '../types'; export interface JobDetailsModalProps { diff --git a/admin/frontend/src/components/JobStatusTabs.tsx b/admin/frontend/src/components/JobStatusTabs.tsx index c98d73c..ef3759a 100644 --- a/admin/frontend/src/components/JobStatusTabs.tsx +++ b/admin/frontend/src/components/JobStatusTabs.tsx @@ -1,4 +1,5 @@ -import React from 'react'; +/** @jsxImportSource react */ + import type { JobState } from '../types'; type StatusWithCount = 'waiting' | 'active' | 'completed' | 'failed' | 'delayed'; diff --git a/admin/frontend/src/components/JobsTable.tsx b/admin/frontend/src/components/JobsTable.tsx index 411629e..872b57f 100644 --- a/admin/frontend/src/components/JobsTable.tsx +++ b/admin/frontend/src/components/JobsTable.tsx @@ -1,4 +1,6 @@ -import React, { useState } from 'react'; +/** @jsxImportSource react */ + +import { useState } from 'react'; import { useJobs } from '../hooks'; import { JobDetailsModal } from './JobDetailsModal'; import type { JobState, JobDetails } from '../types'; diff --git a/admin/frontend/src/components/QueueCard.tsx b/admin/frontend/src/components/QueueCard.tsx index ab3d392..d41176e 100644 --- a/admin/frontend/src/components/QueueCard.tsx +++ b/admin/frontend/src/components/QueueCard.tsx @@ -1,4 +1,5 @@ -import React from 'react'; +/** @jsxImportSource react */ + import type { QueueSummary, QueueMetrics } from '../types'; export interface QueueCardProps { diff --git a/admin/frontend/src/components/QueueDashboard.tsx b/admin/frontend/src/components/QueueDashboard.tsx index 7d60094..8a4be42 100644 --- a/admin/frontend/src/components/QueueDashboard.tsx +++ b/admin/frontend/src/components/QueueDashboard.tsx @@ -1,4 +1,6 @@ -import React, { useState, useEffect, Component, type ReactNode, type ErrorInfo } from 'react'; +/** @jsxImportSource react */ + +import { useState, useEffect, useRef, Component, type ReactNode, type ErrorInfo } from 'react'; import { useQueueMetrics, useQueueWebSocket, useQueueControl } from '../hooks'; import { QueueList } from './QueueList'; import { JobsTable } from './JobsTable'; @@ -137,7 +139,7 @@ export function QueueDashboard({ // Auto-select first queue - only when queues first load and no selection exists // Using a ref to track if initial selection has been made to prevent race conditions - const hasAutoSelected = React.useRef(false); + const hasAutoSelected = useRef(false); useEffect(() => { if (queues.length > 0 && !selectedQueue && !hasAutoSelected.current) { hasAutoSelected.current = true; diff --git a/admin/frontend/src/components/QueueGrid.tsx b/admin/frontend/src/components/QueueGrid.tsx index d36b3e9..4b4e293 100644 --- a/admin/frontend/src/components/QueueGrid.tsx +++ b/admin/frontend/src/components/QueueGrid.tsx @@ -1,4 +1,5 @@ -import React from 'react'; +/** @jsxImportSource react */ + import type { QueueStats } from '../types'; export interface QueueGridProps { diff --git a/admin/frontend/src/components/QueueList.tsx b/admin/frontend/src/components/QueueList.tsx index 7e09133..81e6980 100644 --- a/admin/frontend/src/components/QueueList.tsx +++ b/admin/frontend/src/components/QueueList.tsx @@ -1,4 +1,5 @@ -import React from 'react'; +/** @jsxImportSource react */ + import { QueueCard } from './QueueCard'; import type { QueueSummary, QueueMetrics } from '../types'; diff --git a/admin/frontend/src/components/QueueSummaryBar.tsx b/admin/frontend/src/components/QueueSummaryBar.tsx index bb7b46d..79fe1a5 100644 --- a/admin/frontend/src/components/QueueSummaryBar.tsx +++ b/admin/frontend/src/components/QueueSummaryBar.tsx @@ -1,4 +1,5 @@ -import React from 'react'; +/** @jsxImportSource react */ + import type { QueueSummaryStats } from '../types'; export interface QueueSummaryBarProps { diff --git a/admin/frontend/src/components/SearchBar.tsx b/admin/frontend/src/components/SearchBar.tsx index c0c9fa5..f698fc7 100644 --- a/admin/frontend/src/components/SearchBar.tsx +++ b/admin/frontend/src/components/SearchBar.tsx @@ -1,4 +1,6 @@ -import React, { useState, useCallback, useEffect, useRef } from 'react'; +/** @jsxImportSource react */ + +import { useState, useCallback, useEffect, useRef } from 'react'; export interface SearchBarProps { /** Current search value */ diff --git a/admin/frontend/src/components/ServiceFilter.tsx b/admin/frontend/src/components/ServiceFilter.tsx index a1da4f4..8fa1d59 100644 --- a/admin/frontend/src/components/ServiceFilter.tsx +++ b/admin/frontend/src/components/ServiceFilter.tsx @@ -1,4 +1,5 @@ -import React from 'react'; +/** @jsxImportSource react */ + export interface ServiceOption { /** Value used for filtering */ diff --git a/admin/frontend/src/pages/QueueDashboardPage.tsx b/admin/frontend/src/pages/QueueDashboardPage.tsx index 304411f..bdb2b1d 100644 --- a/admin/frontend/src/pages/QueueDashboardPage.tsx +++ b/admin/frontend/src/pages/QueueDashboardPage.tsx @@ -1,4 +1,6 @@ -import React, { useCallback, useMemo } from 'react'; +/** @jsxImportSource react */ + +import { useCallback, useMemo } from 'react'; import { useNavigate } from 'react-router-dom'; import { useQueueMetrics } from '../hooks/useQueueMetrics'; diff --git a/admin/frontend/src/pages/QueueDetailPage.tsx b/admin/frontend/src/pages/QueueDetailPage.tsx index 45ac3f1..82a2eaf 100644 --- a/admin/frontend/src/pages/QueueDetailPage.tsx +++ b/admin/frontend/src/pages/QueueDetailPage.tsx @@ -1,4 +1,6 @@ -import React, { useCallback, useMemo } from 'react'; +/** @jsxImportSource react */ + +import { useCallback, useMemo } from 'react'; import { useParams, Link } from 'react-router-dom'; import { useQueueMetrics } from '../hooks/useQueueMetrics';