summaryrefslogtreecommitdiff
path: root/frontend/app
diff options
context:
space:
mode:
authorTyler Hoang <tyler@tylerhoang.xyz>2026-05-17 13:20:12 -0700
committerTyler Hoang <tyler@tylerhoang.xyz>2026-05-17 13:20:12 -0700
commit6b8e9470d5b40030172b0413f0c5875fcbe65595 (patch)
treebeafaefd933d038d89fc1eed3e923dcdee38c4b5 /frontend/app
parent62bdd79b3473262dde5fb0a90eab34fe7bf344fd (diff)
Fix design system violations and logic bugs from code review
- Remove backdrop-filter blur (glass effect) from TopBar; use opaque ink-1 background - Remove decorative glow box-shadows from market status dot - Fix button border-radius: var(--r-2) → var(--r-1) (4px → 2px) per design rules - Replace invented hover color rgba(194,170,122,0.04) with var(--ink-3) token - Add missing .psm-signal.neu CSS rule so neutral signals have visual treatment - Use HTML disabled attribute on nav buttons instead of aria-disabled alone - Replace duplicate EPS KPI tile with Prev Close to remove redundancy with P/E sublabel - Rename sortIndices → limitIndices (function only truncates, never sorts) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'frontend/app')
-rw-r--r--frontend/app/page.tsx4
-rw-r--r--frontend/app/prism-shell.css13
2 files changed, 9 insertions, 8 deletions
diff --git a/frontend/app/page.tsx b/frontend/app/page.tsx
index f47d49a..02bd706 100644
--- a/frontend/app/page.tsx
+++ b/frontend/app/page.tsx
@@ -11,7 +11,7 @@ import { TickerHeader } from "@/components/prism/TickerHeader";
import { TopBar } from "@/components/prism/TopBar";
import { ApiError, api } from "@/lib/api";
import { deltaClass, fmtCurrency, fmtLarge, fmtNumber, fmtPct } from "@/lib/format";
-import { availableFieldSummary, buildKpis, marketClock, OVERVIEW_NAV_ITEMS, signalTone, sortIndices, unavailableFields } from "@/lib/overview";
+import { availableFieldSummary, buildKpis, limitIndices, marketClock, OVERVIEW_NAV_ITEMS, signalTone, unavailableFields } from "@/lib/overview";
import type { HistoryPoint, MarketIndex, SearchResult, TickerOverview, WatchlistResponse } from "@/types/api";
type LoadState = "idle" | "loading" | "ready" | "invalid" | "error";
@@ -48,7 +48,7 @@ function OverviewClient() {
const watchlistSymbols = useMemo(() => new Set(watchlist.items.map((item) => item.symbol)), [watchlist]);
const isSaved = selectedTicker ? watchlistSymbols.has(selectedTicker) : false;
- const marketCards = useMemo(() => sortIndices(market), [market]);
+ const marketCards = useMemo(() => limitIndices(market), [market]);
const kpis = useMemo(() => (overview ? buildKpis(overview) : []), [overview]);
const missingFields = useMemo(() => (overview ? unavailableFields(overview) : []), [overview]);
diff --git a/frontend/app/prism-shell.css b/frontend/app/prism-shell.css
index c198479..9b0e1b5 100644
--- a/frontend/app/prism-shell.css
+++ b/frontend/app/prism-shell.css
@@ -212,7 +212,7 @@
.psm-watch-select:hover,
.psm-search-result:hover {
- background: rgba(194, 170, 122, 0.04);
+ background: var(--ink-3);
}
.psm-watch-row.active .psm-watch-select {
@@ -291,8 +291,7 @@
gap: var(--sp-4);
padding: var(--sp-3) var(--sp-6);
border-bottom: 1px solid var(--line-1);
- background: rgba(11, 14, 19, 0.94);
- backdrop-filter: blur(16px);
+ background: var(--ink-1);
}
.psm-search-shell {
@@ -401,12 +400,10 @@
height: 8px;
border-radius: var(--r-full);
background: var(--warning);
- box-shadow: 0 0 10px rgba(196, 149, 69, 0.45);
}
.psm-market-dot.open {
background: var(--positive);
- box-shadow: 0 0 10px rgba(79, 140, 94, 0.45);
}
.psm-account {
@@ -592,7 +589,7 @@
.psm-primary-action,
.psm-ghost-action {
- border-radius: var(--r-2);
+ border-radius: var(--r-1);
padding: 10px 14px;
font-size: var(--fs-12);
font-weight: 600;
@@ -825,6 +822,10 @@
border-color: rgba(181, 73, 75, 0.35);
}
+.psm-signal.neu {
+ border-color: var(--line-2);
+}
+
.psm-profile-list,
.psm-stat-list,
.psm-source-list {