summaryrefslogtreecommitdiff
path: root/frontend/lib/overview.ts
diff options
context:
space:
mode:
authorTyler Hoang <tyler@tylerhoang.xyz>2026-05-17 13:36:57 -0700
committerTyler Hoang <tyler@tylerhoang.xyz>2026-05-17 13:36:57 -0700
commitc3f19f79f66054dc3b3a98999ea38b0f05248e06 (patch)
tree2d3b551838bfc8abeb52be20350b729377bceea5 /frontend/lib/overview.ts
parent6b8e9470d5b40030172b0413f0c5875fcbe65595 (diff)
Refine overview ratios and shell
Diffstat (limited to 'frontend/lib/overview.ts')
-rw-r--r--frontend/lib/overview.ts13
1 files changed, 6 insertions, 7 deletions
diff --git a/frontend/lib/overview.ts b/frontend/lib/overview.ts
index efbd9f9..d02c5d3 100644
--- a/frontend/lib/overview.ts
+++ b/frontend/lib/overview.ts
@@ -41,14 +41,14 @@ export function buildKpis(overview: TickerOverview): KpiItem[] {
{
key: "P / E",
value: overview.stats.trailing_pe == null ? "Unavailable" : `${fmtNumber(overview.stats.trailing_pe)}x`,
- sublabel: `EPS ${fmtCurrency(overview.stats.trailing_eps)}`,
+ sublabel: `P/B ${overview.ratios.price_to_book == null ? "-" : `${fmtNumber(overview.ratios.price_to_book)}x`}`,
missing: overview.stats.trailing_pe == null
},
{
- key: "Prev Close",
- value: fmtCurrency(overview.quote.prev_close),
- sublabel: `Day chg ${fmtCurrency(overview.quote.change)}`,
- missing: overview.quote.prev_close == null
+ key: "EPS ยท TTM",
+ value: fmtCurrency(overview.stats.trailing_eps),
+ sublabel: `Net margin ${fmtPct(overview.ratios.net_margin_ttm)}`,
+ missing: overview.stats.trailing_eps == null
},
{
key: "52W Position",
@@ -95,7 +95,7 @@ export function availableFieldSummary(overview: TickerOverview): string {
const fields = Object.values(overview.meta.field_availability);
if (!fields.length) return "Availability metadata unavailable";
const available = fields.filter(Boolean).length;
- return `${available}/${fields.length} tracked fields available`;
+ return `${available} of ${fields.length} tracked fields filled`;
}
export function watchlistSubtitle(item: WatchlistItem): string {
@@ -131,4 +131,3 @@ export function marketClock(now = new Date()) {
}).format(now)
};
}
-