From 9932b927450ca44aa5605090cc200ba5000f9bf9 Mon Sep 17 00:00:00 2001 From: Jason Date: Mon, 6 Oct 2025 21:30:11 +0800 Subject: [PATCH] refactor: improve endpoint list UI consistency - Show delete button for all endpoints on hover for uniform UI - Change selected state to use blue theme matching main interface: * Blue border (border-blue-500) for selected items * Light blue background (bg-blue-50/dark:bg-blue-900/20) * Blue indicator dot (bg-blue-500/dark:bg-blue-400) - Switch from compact list (space-y-px) to card-based layout (space-y-2) - Add rounded corners to each endpoint item for better visual separation --- .../ProviderForm/EndpointSpeedTest.tsx | 36 +++++++++---------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/src/components/ProviderForm/EndpointSpeedTest.tsx b/src/components/ProviderForm/EndpointSpeedTest.tsx index f4ef7ed..ef09eb2 100644 --- a/src/components/ProviderForm/EndpointSpeedTest.tsx +++ b/src/components/ProviderForm/EndpointSpeedTest.tsx @@ -387,8 +387,8 @@ const EndpointSpeedTest: React.FC = ({ {/* 端点列表 */} {hasEndpoints ? ( -
- {sortedEntries.map((entry, index) => { +
+ {sortedEntries.map((entry) => { const isSelected = normalizedSelected === entry.url; const latency = entry.latency; @@ -396,18 +396,18 @@ const EndpointSpeedTest: React.FC = ({
handleSelect(entry.url)} - className={`group flex cursor-pointer items-center justify-between px-3 py-2.5 transition ${ + className={`group flex cursor-pointer items-center justify-between px-3 py-2.5 rounded-lg border transition ${ isSelected - ? "bg-gray-100 dark:bg-gray-800" - : "bg-white hover:bg-gray-50 dark:bg-gray-900 dark:hover:bg-gray-850" - } ${index > 0 ? "border-t border-gray-100 dark:border-gray-800" : ""}`} + ? "border-blue-500 bg-blue-50 dark:border-blue-500 dark:bg-blue-900/20" + : "border-gray-200 bg-white hover:border-gray-300 hover:bg-gray-50 dark:border-gray-700 dark:bg-gray-900 dark:hover:border-gray-600 dark:hover:bg-gray-850" + }`} >
{/* 选择指示器 */}
@@ -436,18 +436,16 @@ const EndpointSpeedTest: React.FC = ({
)} - {entry.isCustom && ( - - )} +
);