diff --git a/deepfence_frontend/apps/dashboard/package.json b/deepfence_frontend/apps/dashboard/package.json index b41c482ef2..20d1d4c0b3 100644 --- a/deepfence_frontend/apps/dashboard/package.json +++ b/deepfence_frontend/apps/dashboard/package.json @@ -25,7 +25,6 @@ "@suspensive/react": "^1.11.2", "@suspensive/react-query": "^1.11.2", "@tanstack/react-query": "^4.29.17", - "classnames": "^2.3.2", "dayjs": "^1.11.8", "echarts": "^5.4.2", "lodash-es": "^4.17.21", @@ -35,7 +34,6 @@ "react-router-dom": "^6.14.0", "react-use": "^17.4.0", "sonner": "^0.1.1", - "tailwind-merge": "^1.13.2", "tailwind-preset": "workspace:*", "ui-components": "workspace:*" }, diff --git a/deepfence_frontend/apps/dashboard/src/components/AppHeader.tsx b/deepfence_frontend/apps/dashboard/src/components/AppHeader.tsx index 1f4e7d2491..b80e7b1f6b 100644 --- a/deepfence_frontend/apps/dashboard/src/components/AppHeader.tsx +++ b/deepfence_frontend/apps/dashboard/src/components/AppHeader.tsx @@ -1,5 +1,5 @@ -import classNames from 'classnames'; import { useFetcher, useRouteLoaderData } from 'react-router-dom'; +import { cn } from 'tailwind-preset'; import { Dropdown, DropdownItem } from 'ui-components'; import { DFLink } from '@/components/DFLink'; @@ -12,12 +12,12 @@ export function AppHeader() { const { email } = useRouteLoaderData('root') as { email: string }; return (
-
+
{ return ( -
+
Scan is in progress, please wait... @@ -17,7 +16,7 @@ export const ScanStatusInProgress = () => { export const ScanStatusInError = ({ errorMessage }: { errorMessage: string }) => { return ( -
+
{errorMessage ? (
diff --git a/deepfence_frontend/apps/dashboard/src/components/error/404.tsx b/deepfence_frontend/apps/dashboard/src/components/error/404.tsx index 108e2cb466..dd41540128 100644 --- a/deepfence_frontend/apps/dashboard/src/components/error/404.tsx +++ b/deepfence_frontend/apps/dashboard/src/components/error/404.tsx @@ -1,4 +1,3 @@ -import classNames from 'classnames'; import { useLocation, useRouteError } from 'react-router-dom'; const SVG404 = () => { @@ -435,7 +434,7 @@ export const FourZeroFourAuthenticated = () => { } return ( -
+
); diff --git a/deepfence_frontend/apps/dashboard/src/components/error/500.tsx b/deepfence_frontend/apps/dashboard/src/components/error/500.tsx index bdd4092cdc..4103d25fc5 100644 --- a/deepfence_frontend/apps/dashboard/src/components/error/500.tsx +++ b/deepfence_frontend/apps/dashboard/src/components/error/500.tsx @@ -1,6 +1,6 @@ -import classNames from 'classnames'; import { useMemo, useState } from 'react'; import { useLocation, useRouteError } from 'react-router-dom'; +import { cn } from 'tailwind-preset'; import { AppHeader } from '@/components/AppHeader'; import { getSideNavigationState, SideNavigation } from '@/components/SideNavigation'; @@ -1367,13 +1367,10 @@ export const FiveZeroZero = () => { onExpandedChange={(state) => setSideNavExpanded(state)} />
diff --git a/deepfence_frontend/apps/dashboard/src/components/forms/FilterHeader.tsx b/deepfence_frontend/apps/dashboard/src/components/forms/FilterHeader.tsx deleted file mode 100644 index 0d18b884a7..0000000000 --- a/deepfence_frontend/apps/dashboard/src/components/forms/FilterHeader.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import cx from 'classnames'; -import { Separator } from 'ui-components'; - -export const FilterHeader = ({ onReset }: { onReset: () => void }) => { - return ( -
-

- Filters - -

- -
- ); -}; diff --git a/deepfence_frontend/apps/dashboard/src/features/auth/pages/Login.tsx b/deepfence_frontend/apps/dashboard/src/features/auth/pages/Login.tsx index a4d04a54f3..c16147df39 100644 --- a/deepfence_frontend/apps/dashboard/src/features/auth/pages/Login.tsx +++ b/deepfence_frontend/apps/dashboard/src/features/auth/pages/Login.tsx @@ -1,4 +1,3 @@ -import cx from 'classnames'; import { useFetcher } from 'react-router-dom'; import { Button, TextInput } from 'ui-components'; @@ -41,9 +40,7 @@ export const Login = () => { Forgot password? diff --git a/deepfence_frontend/apps/dashboard/src/features/common/RootLayout.tsx b/deepfence_frontend/apps/dashboard/src/features/common/RootLayout.tsx index 9d9c0a9632..e6aa634fec 100644 --- a/deepfence_frontend/apps/dashboard/src/features/common/RootLayout.tsx +++ b/deepfence_frontend/apps/dashboard/src/features/common/RootLayout.tsx @@ -1,6 +1,6 @@ -import classNames from 'classnames'; import { useState } from 'react'; import { Outlet } from 'react-router-dom'; +import { cn } from 'tailwind-preset'; import { AppHeader } from '@/components/AppHeader'; import { getSideNavigationState, SideNavigation } from '@/components/SideNavigation'; @@ -17,13 +17,10 @@ export const RootLayout = () => { onExpandedChange={(state) => setSideNavExpanded(state)} />
diff --git a/deepfence_frontend/apps/dashboard/src/features/malwares/pages/MalwareScans.tsx b/deepfence_frontend/apps/dashboard/src/features/malwares/pages/MalwareScans.tsx index 514695f0de..395d0c4491 100644 --- a/deepfence_frontend/apps/dashboard/src/features/malwares/pages/MalwareScans.tsx +++ b/deepfence_frontend/apps/dashboard/src/features/malwares/pages/MalwareScans.tsx @@ -1,6 +1,5 @@ import { useSuspenseQuery } from '@suspensive/react-query'; import { useIsFetching } from '@tanstack/react-query'; -import cx from 'classnames'; import { capitalize } from 'lodash-es'; import React, { Suspense, useCallback, useEffect, useMemo, useState } from 'react'; import { @@ -9,6 +8,7 @@ import { useFetcher, useSearchParams, } from 'react-router-dom'; +import { cn } from 'tailwind-preset'; import { Badge, Breadcrumb, @@ -273,15 +273,9 @@ const ActionDropdown = ({ e.preventDefault(); onDownloadAction(); }} + disabled={!isScanComplete(scanStatus)} > - - Download report - + Download report { diff --git a/deepfence_frontend/apps/dashboard/src/features/onboard/components/ConnectorHeader.tsx b/deepfence_frontend/apps/dashboard/src/features/onboard/components/ConnectorHeader.tsx index 2628c9f29b..bcec89bea0 100644 --- a/deepfence_frontend/apps/dashboard/src/features/onboard/components/ConnectorHeader.tsx +++ b/deepfence_frontend/apps/dashboard/src/features/onboard/components/ConnectorHeader.tsx @@ -1,6 +1,5 @@ -import cx from 'classnames'; import { useLocation } from 'react-router-dom'; -import { twMerge } from 'tailwind-merge'; +import { cn } from 'tailwind-preset'; import { Breadcrumb, BreadcrumbLink } from 'ui-components'; type ConnectorHeaderProps = { @@ -40,17 +39,15 @@ export const ConnectorHeader = ({ 1 @@ -59,18 +56,16 @@ export const ConnectorHeader = ({ 2 @@ -79,17 +74,15 @@ export const ConnectorHeader = ({ 3 diff --git a/deepfence_frontend/apps/dashboard/src/features/onboard/pages/connectors/AddConnectors.tsx b/deepfence_frontend/apps/dashboard/src/features/onboard/pages/connectors/AddConnectors.tsx index 6e849cc207..58c9f11c2b 100644 --- a/deepfence_frontend/apps/dashboard/src/features/onboard/pages/connectors/AddConnectors.tsx +++ b/deepfence_frontend/apps/dashboard/src/features/onboard/pages/connectors/AddConnectors.tsx @@ -1,8 +1,8 @@ -import cx from 'classnames'; import { useRef } from 'react'; import { useState } from 'react'; import { useMemo } from 'react'; import { generatePath } from 'react-router-dom'; +import { cn } from 'tailwind-preset'; import { Button, Card, Tabs } from 'ui-components'; import { ACCOUNT_CONNECTOR } from '@/components/hosts-connector/NoConnectors'; @@ -42,7 +42,7 @@ const CardConnect = ({ label, path, icon }: CardConnectProps) => { return (