refactor(layout-review): consolidate tool-header actions + align reconcile downloads

Consistency pass over the parallel-agent work:
- Replace 4 divergent inline header wrappers (flex/inline-flex, gap
  10/12px, margin-top present/absent across 8 tool pages) with one shared
  .dt-tool-header-actions class; strip the now-redundant per-button
  margin-top:0. Every tool header now aligns the local-first pill + Help
  button identically.
- Reconcile downloads row: reorder to the page's exceptions-first order
  (Review, Unmatched left, Unmatched right, Matched) to match the tabs and
  metric strip, and drop the lone competing primary — the four are
  parallel exports of equal weight.

Audited and confirmed already-consistent: compact intake banner, privacy
pill markup, .dt-next-step strips, the three coming-soon stubs, primary
CTAs, and the 3-download CSV/audit/config pattern.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-08 16:50:25 +00:00
parent dd0942d710
commit 48251b625f
9 changed files with 20 additions and 14 deletions

View File

@@ -19,7 +19,7 @@
<!-- Tool header --> <!-- Tool header -->
<div class="dt-tool-header"> <div class="dt-tool-header">
<h1>Find Duplicates</h1> <h1>Find Duplicates</h1>
<div style="display:flex;align-items:center;gap:12px;margin-top:6px"> <div class="dt-tool-header-actions">
<span class="dt-privacy-pill"> <span class="dt-privacy-pill">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<rect x="4" y="11" width="16" height="10" rx="2"/> <rect x="4" y="11" width="16" height="10" rx="2"/>
@@ -27,7 +27,7 @@
</svg> </svg>
Runs 100% locally Runs 100% locally
</span> </span>
<button class="dt-help-btn" style="margin-top:0"><span class="dt-mi">help_outline</span> Help</button> <button class="dt-help-btn"><span class="dt-mi">help_outline</span> Help</button>
</div> </div>
</div> </div>
<p class="dt-tool-caption">Find rows that repeat, then keep one and remove the extras.</p> <p class="dt-tool-caption">Find rows that repeat, then keep one and remove the extras.</p>

View File

@@ -27,7 +27,7 @@
<!-- Tool header --> <!-- Tool header -->
<div class="dt-tool-header"> <div class="dt-tool-header">
<h1>Clean Text</h1> <h1>Clean Text</h1>
<div style="display:inline-flex;align-items:center;gap:12px"> <div class="dt-tool-header-actions">
<span class="dt-privacy-pill"> <span class="dt-privacy-pill">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<rect x="4" y="11" width="16" height="10" rx="2"/> <rect x="4" y="11" width="16" height="10" rx="2"/>

View File

@@ -19,7 +19,7 @@
<!-- Tool header --> <!-- Tool header -->
<div class="dt-tool-header"> <div class="dt-tool-header">
<h1>Standardize Formats</h1> <h1>Standardize Formats</h1>
<div style="display:inline-flex;align-items:center;gap:12px"> <div class="dt-tool-header-actions">
<span class="dt-privacy-pill"> <span class="dt-privacy-pill">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<rect x="4" y="11" width="16" height="10" rx="2"/> <rect x="4" y="11" width="16" height="10" rx="2"/>

View File

@@ -19,7 +19,7 @@
<!-- Tool header --> <!-- Tool header -->
<div class="dt-tool-header"> <div class="dt-tool-header">
<h1>Fix Missing Values</h1> <h1>Fix Missing Values</h1>
<div style="display:flex;align-items:center;gap:12px;margin-top:6px"> <div class="dt-tool-header-actions">
<span class="dt-privacy-pill"> <span class="dt-privacy-pill">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<rect x="4" y="11" width="16" height="10" rx="2"/> <rect x="4" y="11" width="16" height="10" rx="2"/>
@@ -27,7 +27,7 @@
</svg> </svg>
Runs 100% locally Runs 100% locally
</span> </span>
<button class="dt-help-btn" style="margin-top:0"><span class="dt-mi">help_outline</span> Help</button> <button class="dt-help-btn"><span class="dt-mi">help_outline</span> Help</button>
</div> </div>
</div> </div>
<p class="dt-tool-caption">Find blank cells (even hidden ones) and fill them in or remove them.</p> <p class="dt-tool-caption">Find blank cells (even hidden ones) and fill them in or remove them.</p>

View File

@@ -19,7 +19,7 @@
<!-- Tool header --> <!-- Tool header -->
<div class="dt-tool-header"> <div class="dt-tool-header">
<h1>Map Columns</h1> <h1>Map Columns</h1>
<div style="display:flex;align-items:center;gap:12px"> <div class="dt-tool-header-actions">
<span class="dt-privacy-pill"> <span class="dt-privacy-pill">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<rect x="4" y="11" width="16" height="10" rx="2"/> <rect x="4" y="11" width="16" height="10" rx="2"/>

View File

@@ -19,7 +19,7 @@
<!-- Tool header --> <!-- Tool header -->
<div class="dt-tool-header"> <div class="dt-tool-header">
<h1>Automated Workflows</h1> <h1>Automated Workflows</h1>
<div style="display:flex;align-items:center;gap:12px"> <div class="dt-tool-header-actions">
<span class="dt-privacy-pill"> <span class="dt-privacy-pill">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<rect x="4" y="11" width="16" height="10" rx="2"/> <rect x="4" y="11" width="16" height="10" rx="2"/>

View File

@@ -19,7 +19,7 @@
<!-- Tool header --> <!-- Tool header -->
<div class="dt-tool-header"> <div class="dt-tool-header">
<h1>PDF to CSV</h1> <h1>PDF to CSV</h1>
<div style="display:flex;align-items:center;gap:10px;margin-top:6px"> <div class="dt-tool-header-actions">
<span class="dt-privacy-pill"> <span class="dt-privacy-pill">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<rect x="4" y="11" width="16" height="10" rx="2"/> <rect x="4" y="11" width="16" height="10" rx="2"/>
@@ -27,7 +27,7 @@
</svg> </svg>
Runs 100% locally Runs 100% locally
</span> </span>
<button class="dt-help-btn" style="margin-top:0"><span class="dt-mi">help_outline</span> Help</button> <button class="dt-help-btn"><span class="dt-mi">help_outline</span> Help</button>
</div> </div>
</div> </div>
<p class="dt-tool-caption">Pull transactions out of bank-statement PDFs into a clean CSV file.</p> <p class="dt-tool-caption">Pull transactions out of bank-statement PDFs into a clean CSV file.</p>

View File

@@ -19,7 +19,7 @@
<!-- Tool header --> <!-- Tool header -->
<div class="dt-tool-header"> <div class="dt-tool-header">
<h1>Reconcile Two Files</h1> <h1>Reconcile Two Files</h1>
<div style="display:flex;align-items:center;gap:10px;margin-top:6px"> <div class="dt-tool-header-actions">
<span class="dt-privacy-pill"> <span class="dt-privacy-pill">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<rect x="4" y="11" width="16" height="10" rx="2"/> <rect x="4" y="11" width="16" height="10" rx="2"/>
@@ -27,7 +27,7 @@
</svg> </svg>
Runs 100% locally Runs 100% locally
</span> </span>
<button class="dt-help-btn" style="margin-top:0"><span class="dt-mi">help_outline</span> Help</button> <button class="dt-help-btn"><span class="dt-mi">help_outline</span> Help</button>
</div> </div>
</div> </div>
<p class="dt-tool-caption">Compare two lists of transactions (e.g. bank vs. ledger) and flag what doesn't match.</p> <p class="dt-tool-caption">Compare two lists of transactions (e.g. bank vs. ledger) and flag what doesn't match.</p>
@@ -230,12 +230,13 @@
<hr class="dt-divider"> <hr class="dt-divider">
<!-- Downloads (st.columns(4) of html_download_button) --> <!-- Downloads (st.columns(4) of html_download_button) — exceptions-first,
matching the tab/metric order; four parallel exports, equal weight -->
<div class="dt-btn-row"> <div class="dt-btn-row">
<button class="dt-btn dt-btn-primary">Matched CSV</button>
<button class="dt-btn">Review CSV</button> <button class="dt-btn">Review CSV</button>
<button class="dt-btn">Unmatched left</button> <button class="dt-btn">Unmatched left</button>
<button class="dt-btn">Unmatched right</button> <button class="dt-btn">Unmatched right</button>
<button class="dt-btn">Matched CSV</button>
</div> </div>
</div> </div>

View File

@@ -212,6 +212,11 @@ code, .dt-mono { font-family: var(--font-mono); font-size: 0.92em; font-feature-
} }
.dt-help-btn .dt-mi { font-family: "Material Symbols Outlined"; font-size: 18px; } .dt-help-btn .dt-mi { font-family: "Material Symbols Outlined"; font-size: 18px; }
.dt-tool-caption { font-size: 12.5px; color: var(--ink-tertiary); line-height: 1.5; margin: 2px 0 0; } .dt-tool-caption { font-size: 12.5px; color: var(--ink-tertiary); line-height: 1.5; margin: 2px 0 0; }
/* Right-side actions cluster in a tool header: the local-first privacy pill +
the Help button. One shared class so every tool page aligns identically
(replaces per-page inline flex/gap/margin drift). */
.dt-tool-header-actions { display: flex; align-items: center; gap: 12px; flex-shrink: 0; margin-top: 6px; }
.dt-tool-header-actions .dt-help-btn { margin-top: 0; }
/* =========================================================================== /* ===========================================================================
Buttons Buttons