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 && ( - +