From e283d487ce0e447dd6252cf0139708edd3206e1f Mon Sep 17 00:00:00 2001 From: shy3130 <415333856@qq.com> Date: Thu, 2 Jul 2026 17:40:41 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20Free=20=E6=A1=A3=E5=AE=9E=E6=97=B6?= =?UTF-8?q?=E8=A1=8C=E6=83=85=E7=9B=91=E6=8E=A7=E9=99=90=E5=88=B6=E6=8F=90?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 实时行情开关区新增 Free 档限制提示「监控自选股前 5 只, 全市场监控需 Starter+」,位于交易时段状态上方,可手动关闭 (不持久化,刷新后恢复显示)。 --- frontend/src/components/Layout.tsx | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/frontend/src/components/Layout.tsx b/frontend/src/components/Layout.tsx index 619330c..e46dbbe 100644 --- a/frontend/src/components/Layout.tsx +++ b/frontend/src/components/Layout.tsx @@ -43,6 +43,7 @@ import { CheckCircle2, BookOpenCheck, ExternalLink, + X, } from 'lucide-react' import { Logo } from './Logo' import { api, type IndexQuote } from '@/lib/api' @@ -296,6 +297,8 @@ export function Layout() { const navigate = useNavigate() const version = versionData?.version const realtimeEnabled = prefs?.realtime_quotes_enabled ?? false + // Free 档监控限制提示: 可手动关闭, 不持久化 (刷新后恢复显示) + const [dismissFreeHint, setDismissFreeHint] = useState(false) const indicesPinned = prefs?.indices_nav_pinned ?? true const sidebarIndexSymbols = prefs?.sidebar_index_symbols ?? CORE_INDEXES.map(p => p.symbol) const sidebarIndexes = CORE_INDEXES.filter(item => sidebarIndexSymbols.includes(item.symbol)) @@ -518,11 +521,23 @@ export function Layout() { {/* 状态提示 */} {realtimeEnabled && !isNoneTier && ( -