Skip to content

fix(dashboard): drop hero copy + wire Reclaimable pulse to live estimate#144

Merged
ShogyX merged 1 commit into
fix/dashboard-reclaimable-pickerfrom
fix/dashboard-hero-cleanup
May 27, 2026
Merged

fix(dashboard): drop hero copy + wire Reclaimable pulse to live estimate#144
ShogyX merged 1 commit into
fix/dashboard-reclaimable-pickerfrom
fix/dashboard-hero-cleanup

Conversation

@ShogyX
Copy link
Copy Markdown
Owner

@ShogyX ShogyX commented May 27, 2026

Summary

Stacked on top of #143 — two follow-up tweaks that depend on the new /dashboard/reclaim-preview endpoint.

  • Hero copy removed. The "N titles are doing X% of the transcoding" headline + bullet list + HeroStats row + "Queue N optimization" CTA on the Silently-costing card duplicated information the new TranscodeInsightsBlock (top codecs / devices / reasons / bitrate split) already surfaces more usefully. Kept the eyebrow header and moved the "Open playback report" link into a compact action row above the breakdown.
  • Reclaimable pulse cell shows the live estimate. The old value was topTranscoded.transcode_count × 2.5 GB — a heuristic that diverged wildly from the actual reclaim a transcode would deliver on libraries dominated by smaller files. The cell now reads from the same /dashboard/reclaim-preview endpoint the drawer picker uses, with a default-params query (hevc / mkv / 6 Mbps, ≥10 GB / ≥15 Mbps source floors). New useDashboardReclaimEstimate hook wraps the POST in a useQuery keyed on the body so the value caches and shares with any other consumer.

Knock-on cleanup: removed the now-unused useTopTranscoded import + topTranscoded query call, plus HeroStat / pctOfTotal / deriveMediaTitle helpers (only the hero used them).

GitHub will auto-retarget this PR to main once #143 merges.

Test plan

  • pnpm tsc --noEmit clean
  • pnpm vitest run src/features/dashboard — 40/40 pass
  • Visual: Silently-costing card no longer shows the hero copy; Reclaimable pulse cell shows live estimate + candidate count
  • Visual: clicking the Reclaimable pulse cell still opens the drawer picker

🤖 Generated with Claude Code

Two follow-up tweaks on top of the Reclaimable interactive picker:

1. **Hero copy gone.** The "N titles are doing X% of the
   transcoding" headline + bullet list on the Silently-costing
   card duplicated content that the new TranscodeInsightsBlock
   (top codecs / devices / reasons / bitrate split) already
   surfaces more usefully. Stripped the hero + HeroStats row +
   "Queue N optimization" CTA; kept the eyebrow header and
   moved the "Open playback report" link into a compact action
   row above the breakdown.

2. **Reclaimable pulse cell now shows the live estimate.** The
   old value was ``topTranscoded.transcode_count × 2.5 GB`` — a
   heuristic that diverged wildly from the actual reclaim a
   transcode would deliver on libraries dominated by smaller
   files. The cell now reads from the same
   ``/dashboard/reclaim-preview`` endpoint the drawer picker
   uses, with a default-params query (hevc / mkv / 6 Mbps,
   ≥10 GB / ≥15 Mbps source floors). New
   ``useDashboardReclaimEstimate`` hook wraps the POST in a
   ``useQuery`` keyed on the body so the value caches and
   shares with any other consumer that picks the same defaults.

Knock-on cleanup:

  * Removed the now-unused ``useTopTranscoded`` import + the
    ``topTranscoded`` query call.
  * Removed ``HeroStat`` / ``pctOfTotal`` / ``deriveMediaTitle``
    helpers — only the hero used them.

Tests: 40/40 dashboard vitest pass; ``tsc --noEmit`` clean.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@ShogyX ShogyX merged commit fbad328 into fix/dashboard-reclaimable-picker May 27, 2026
@ShogyX ShogyX deleted the fix/dashboard-hero-cleanup branch May 29, 2026 08:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant