From 2881e7598628697d0a786cf840abdc69086d1d24 Mon Sep 17 00:00:00 2001
From: Tyler Hoang <tyler@tylerhoang.xyz>
Date: Tue, 19 May 2026 00:28:08 -0700
Subject: feat: remove Coverage card from overview tab, move Profile to top of
 right column

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---
 frontend/app/page.tsx | 45 +--------------------------------------------
 1 file changed, 1 insertion(+), 44 deletions(-)

(limited to 'frontend/app/page.tsx')

diff --git a/frontend/app/page.tsx b/frontend/app/page.tsx
index 971216c..7ccb781 100644
--- a/frontend/app/page.tsx
+++ b/frontend/app/page.tsx
@@ -13,7 +13,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, limitIndices, marketClock, OVERVIEW_NAV_ITEMS, signalTone, unavailableFields } from "@/lib/overview";
+import { buildKpis, limitIndices, marketClock, OVERVIEW_NAV_ITEMS, signalTone } from "@/lib/overview";
 import type { HistoryPoint, MarketIndex, SearchResult, TickerOverview, WatchlistResponse } from "@/types/api";
 
 type LoadState = "idle" | "loading" | "ready" | "invalid" | "error";
@@ -53,8 +53,6 @@ function OverviewClient() {
   const isSaved = selectedTicker ? watchlistSymbols.has(selectedTicker) : false;
   const marketCards = useMemo(() => limitIndices(market), [market]);
   const kpis = useMemo(() => (overview ? buildKpis(overview) : []), [overview]);
-  const missingFields = useMemo(() => (overview ? unavailableFields(overview) : []), [overview]);
-
   useEffect(() => {
     const timer = window.setInterval(() => setClockSnapshot(marketClock()), 60_000);
     return () => window.clearInterval(timer);
@@ -314,7 +312,6 @@ function OverviewClient() {
                 <SignalCard overview={overview} />
               </div>
               <div className="psm-column">
-                <DataStatusCard overview={overview} missingFields={missingFields} />
                 <ProfileCard overview={overview} />
                 <ShortInterestCard overview={overview} />
                 <StatsCard overview={overview} />
@@ -425,46 +422,6 @@ function SignalCard({ overview }: { overview: TickerOverview }) {
   );
 }
 
-function DataStatusCard({ overview, missingFields }: { overview: TickerOverview; missingFields: string[] }) {
-  const entries = Object.entries(overview.meta.sources).slice(0, 6);
-  const visibleMissing = missingFields.slice(0, 4);
-  const hiddenMissingCount = Math.max(0, missingFields.length - visibleMissing.length);
-
-  return (
-    <section className="psm-card">
-      <div className="psm-card-head">
-        <div>
-          <div className="psm-eyebrow">Coverage</div>
-          <h2 className="psm-card-title">Coverage</h2>
-        </div>
-        <span className={`psm-status-chip${overview.meta.is_partial ? " partial" : ""}`}>{overview.meta.status}</span>
-      </div>
-      <p className="psm-quality-copy">{availableFieldSummary(overview)}</p>
-      {overview.meta.is_partial ? (
-        <div className="psm-stack">
-          {missingFields.length ? visibleMissing.map((field) => <span key={field} className="psm-field-tag missing">{field}</span>) : null}
-          {hiddenMissingCount ? <span className="psm-field-tag missing">+{hiddenMissingCount} more</span> : null}
-        </div>
-      ) : null}
-      <div className="psm-source-list">
-        {entries.length ? (
-          entries.map(([field, source]) => (
-            <div className="psm-source-row" key={field}>
-              <span className="psm-source-key">{field}</span>
-              <span className="psm-source-value">{source}</span>
-            </div>
-          ))
-        ) : (
-          <div className="psm-source-row">
-            <span className="psm-source-key">Sources</span>
-            <span className="psm-source-value">Unavailable</span>
-          </div>
-        )}
-      </div>
-    </section>
-  );
-}
-
 function ProfileCard({ overview }: { overview: TickerOverview }) {
   return (
     <section className="psm-card">
-- 
cgit v1.3-2-g0d8e

