From 1d3ec3194c008bd4f3b064b0ed5380567a860f63 Mon Sep 17 00:00:00 2001 From: Sakurasan <26715255+Sakurasan@users.noreply.github.com> Date: Mon, 10 Aug 2026 21:56:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=A0=B8=E5=BF=83=E8=82=A1=E8=BF=BD?= =?UTF-8?q?=E8=B8=AA=E9=A2=98=E6=9D=90=E9=BB=98=E8=AE=A4=E5=B1=95=E5=BC=80?= =?UTF-8?q?=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 移除展开/收起交互,题材标签区始终展示 Co-Authored-By: Claude --- src/routes/core-stocks.tsx | 131 +++++++++++++++++-------------------- 1 file changed, 59 insertions(+), 72 deletions(-) diff --git a/src/routes/core-stocks.tsx b/src/routes/core-stocks.tsx index fa71c08..0704aaa 100644 --- a/src/routes/core-stocks.tsx +++ b/src/routes/core-stocks.tsx @@ -1,8 +1,8 @@ import { createFileRoute, Link } from "@tanstack/react-router"; import { useQuery } from "@tanstack/react-query"; -import { Fragment, useState } from "react"; +import { Fragment } from "react"; import { fetchActiveCoreStocks } from "@/lib/core-stock-api"; -import { ArrowLeft, RefreshCw, Flame, ChevronDown, ChevronRight } from "lucide-react"; +import { ArrowLeft, RefreshCw, Flame } from "lucide-react"; export const Route = createFileRoute("/core-stocks")({ component: CoreStocksPage, @@ -25,7 +25,6 @@ function CoreStocksPage() { const dates = data?.dates ?? []; const stocks = data?.stocks ?? []; - const [expanded, setExpanded] = useState(null); return (
@@ -76,76 +75,64 @@ function CoreStocksPage() { - {stocks.map((s) => { - const isOpen = expanded === s.stockCode; - return ( - - setExpanded(isOpen ? null : s.stockCode)} - className="border-b last:border-0 hover:bg-muted/30 cursor-pointer" - > - - - {isOpen ? : } - e.stopPropagation()} - className="font-medium hover:text-primary hover:underline" - > - {s.stockName} - - {s.stockCode} - - - {dates.map((d) => { - const g = s.dailyGains[d]; - const cls = g == null ? "text-muted-foreground/40" : g >= 0 ? "text-red-500" : "text-green-500"; - return ( - - {formatGain(g)} - - ); - })} - - {s.coverCount ?? "·"} - - - {s.lastAppear ? s.lastAppear.slice(5) : "·"} - - - - - {s.appearCount} - - - - {isOpen && ( - - -
所属题材
- {s.themes && s.themes.length > 0 ? ( -
- {s.themes.map((t) => ( - - {t.theme_name} - - ))} -
- ) : ( - 暂无题材数据 - )} + {stocks.map((s) => ( + + + + + {s.stockName} + + {s.stockCode} + + {dates.map((d) => { + const g = s.dailyGains[d]; + const cls = g == null ? "text-muted-foreground/40" : g >= 0 ? "text-red-500" : "text-green-500"; + return ( + + {formatGain(g)} - - )} - - ); - })} + ); + })} + + {s.coverCount ?? "·"} + + + {s.lastAppear ? s.lastAppear.slice(5) : "·"} + + + + + {s.appearCount} + + + + + +
所属题材
+ {s.themes && s.themes.length > 0 ? ( +
+ {s.themes.map((t) => ( + + {t.theme_name} + + ))} +
+ ) : ( + 暂无题材数据 + )} + + +
+ ))}