From c9ada8f41d0099968484b2edb5167cac778f6039 Mon Sep 17 00:00:00 2001 From: Alejandro Celaya Date: Wed, 2 Apr 2025 09:01:33 +0200 Subject: [PATCH] Migrate servers table to a tailwind-based Table component --- src/common/NoMenuLayout.tsx | 2 +- src/servers/ManageServers.tsx | 49 +++++++++++++++----------------- src/servers/ManageServersRow.tsx | 19 +++++++------ 3 files changed, 34 insertions(+), 36 deletions(-) diff --git a/src/common/NoMenuLayout.tsx b/src/common/NoMenuLayout.tsx index 2a2e171d..bcc87837 100644 --- a/src/common/NoMenuLayout.tsx +++ b/src/common/NoMenuLayout.tsx @@ -7,5 +7,5 @@ export type NoMenuLayoutProps = PropsWithChildren & { }; export const NoMenuLayout: FC = ({ children, className }) => ( -
{children}
+
{children}
); diff --git a/src/servers/ManageServers.tsx b/src/servers/ManageServers.tsx index 3cf1fb61..20f02710 100644 --- a/src/servers/ManageServers.tsx +++ b/src/servers/ManageServers.tsx @@ -1,7 +1,7 @@ import { faFileDownload as exportIcon, faPlus as plusIcon } from '@fortawesome/free-solid-svg-icons'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import type { TimeoutToggle } from '@shlinkio/shlink-frontend-kit'; -import { Button, Result, SearchInput, SimpleCard } from '@shlinkio/shlink-frontend-kit/tailwind'; +import { Button, Result, SearchInput, SimpleCard, Table } from '@shlinkio/shlink-frontend-kit/tailwind'; import type { FC } from 'react'; import { useMemo, useState } from 'react'; import { NoMenuLayout } from '../common/NoMenuLayout'; @@ -43,40 +43,37 @@ const ManageServers: FCWithDeps = ({ serv const [errorImporting, setErrorImporting] = useTimeoutToggle(false, SHOW_IMPORT_MSG_TIME); return ( - + -
-
- Import servers +
+
+ Import servers {filteredServers.length > 0 && ( - )}
-
- - - - - {hasAutoConnect && } - - - - - - - {!filteredServers.length && } - {filteredServers.map((server) => ( - - ))} - -
Auto-connectNameBase URLOptions
No servers found.
+ + + {hasAutoConnect && Auto-connect} + Name + Base URL + Options + + )}> + {!filteredServers.length && No servers found.} + {filteredServers.map((server) => ( + + ))} +
{errorImporting && ( diff --git a/src/servers/ManageServersRow.tsx b/src/servers/ManageServersRow.tsx index a6d20c91..91fd5067 100644 --- a/src/servers/ManageServersRow.tsx +++ b/src/servers/ManageServersRow.tsx @@ -1,5 +1,6 @@ import { faCheck as checkIcon } from '@fortawesome/free-solid-svg-icons'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { Table } from '@shlinkio/shlink-frontend-kit/tailwind'; import type { FC } from 'react'; import { Link } from 'react-router'; import { UncontrolledTooltip } from 'reactstrap'; @@ -21,9 +22,9 @@ const ManageServersRow: FCWithDeps const { ManageServersRowDropdown } = useDependencies(ManageServersRow); return ( - + {hasAutoConnect && ( - + {server.autoConnect && ( <> @@ -32,16 +33,16 @@ const ManageServersRow: FCWithDeps )} - + )} - + {server.name} - - {server.url} - + + {server.url} + - - + + ); };