diff --git a/frontend/src/pages/Dashboard.tsx b/frontend/src/pages/Dashboard.tsx
index 8e5fe5c..7d3cd4e 100644
--- a/frontend/src/pages/Dashboard.tsx
+++ b/frontend/src/pages/Dashboard.tsx
@@ -417,13 +417,18 @@ export default function Dashboard() {
No chart data for {activeWatchlistName}
)}
- {((watchlistQuotesData as any)?.items ?? []).map((it: any) => (
+ {((watchlistQuotesData as any)?.items ?? []).map((it: any) => {
+ const inCatalog = (instrumentCatalogIds as Set
| undefined)?.has(it.ticker.toUpperCase())
+ return (
{ if (inCatalog) navigate(`/instruments/${encodeURIComponent(it.ticker)}`) }}
className={clsx(
'flex items-center justify-between gap-1.5 text-[10px] whitespace-nowrap rounded px-1 -mx-1 py-0.5 transition-colors',
- it.ticker === activeWatchlistTicker ? 'bg-blue-900/20' : 'hover:bg-dark-700/40'
+ it.ticker === activeWatchlistTicker ? 'bg-blue-900/20' : 'hover:bg-dark-700/40',
+ inCatalog && 'cursor-pointer'
)}
+ title={inCatalog ? `Double-click to open ${it.name || it.ticker} in Instrument Analysis` : undefined}
>
- ))}
+ )
+ })}
>
) : (
@@ -813,11 +819,11 @@ export default function Dashboard() {
🛡️ Risk
- 0 ? 'text-red-400' : 'text-emerald-400')}>
+
0 ? 'text-red-400' : 'text-emerald-400')}>
{alertCount > 0 ? `${alertCount} alert${alertCount > 1 ? 's' : ''}` : 'OK'}
{radarAxes.length > 0 && (
-
+