Skip to content

Commit a568901

Browse files
Show real TraceVault dashboard screenshots in Visibility section
Replace the hand-rolled mock with the light + dark dashboard screenshots bundled from tracevault.dev (credit: softwaremill/ virtuslab). Hover lift, red-tag theme captions, Community vs Enterprise note kept as before.
1 parent 55c066b commit a568901

4 files changed

Lines changed: 79 additions & 105 deletions

File tree

78.2 KB
Loading
80.1 KB
Loading

src/pages/index.astro

Lines changed: 31 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -253,46 +253,38 @@ const base = import.meta.env.BASE_URL;
253253
</li>
254254
</ul>
255255

256-
<div class="dashboard-card" aria-hidden="true">
257-
<div class="dashboard-card__header">
258-
<span class="dashboard-card__title">tracevault &middot; dashboard</span>
259-
<span class="dashboard-card__period">Apr 01 &rarr; Apr 16</span>
260-
</div>
261-
<div class="dashboard-row">
262-
<span class="dashboard-row__label">tokens this month</span>
263-
<span class="dashboard-row__value">4.12M</span>
264-
<span class="dashboard-row__meta">&#8593; 18% wow</span>
265-
</div>
266-
<div class="dashboard-row">
267-
<span class="dashboard-row__label">spend / budget</span>
268-
<span class="dashboard-row__value">$412</span>
269-
<span class="dashboard-row__meta">82% of $500 cap</span>
270-
</div>
271-
<div class="dashboard-bar">
272-
<div class="dashboard-bar__fill" style="width:82%"></div>
273-
</div>
274-
<div class="dashboard-row">
275-
<span class="dashboard-row__label">cache hit-rate</span>
276-
<span class="dashboard-row__value">67%</span>
277-
<span class="dashboard-row__meta">saved ~$181</span>
278-
</div>
279-
<div class="dashboard-row">
280-
<span class="dashboard-row__label">model mix</span>
281-
<span class="dashboard-row__value">claude 58% &middot; gpt 31% &middot; gemini 11%</span>
282-
</div>
283-
<div class="dashboard-row">
284-
<span class="dashboard-row__label">top team</span>
285-
<span class="dashboard-row__value">Platform</span>
286-
<span class="dashboard-row__meta">1.8M tok &middot; $118</span>
287-
</div>
288-
<div class="dashboard-row">
289-
<span class="dashboard-row__label">AI share / PR (p50)</span>
290-
<span class="dashboard-row__value">47%</span>
291-
<span class="dashboard-row__meta">cap 60%</span>
292-
</div>
293-
<div class="dashboard-card__footnote">
256+
<div class="dashboard-gallery">
257+
<figure class="dashboard-figure">
258+
<img
259+
class="dashboard-figure__img"
260+
src={`${base}screenshots/tracevault-dashboard.png`}
261+
alt="TraceVault dashboard, light theme — total spend, active devs, sessions, tokens, session quality, top-authors leaderboard, compliance score and cache savings"
262+
width="1200"
263+
height="675"
264+
loading="lazy"
265+
/>
266+
<figcaption class="dashboard-figure__caption">
267+
<span class="dashboard-figure__tag">light</span>
268+
Spend, sessions, tokens, top-authors leaderboard, compliance score, cache savings
269+
</figcaption>
270+
</figure>
271+
<figure class="dashboard-figure dashboard-figure--dark">
272+
<img
273+
class="dashboard-figure__img"
274+
src={`${base}screenshots/tracevault-dashboard-dark.png`}
275+
alt="TraceVault dashboard, dark theme — same KPIs as the light variant"
276+
width="1200"
277+
height="675"
278+
loading="lazy"
279+
/>
280+
<figcaption class="dashboard-figure__caption">
281+
<span class="dashboard-figure__tag">dark</span>
282+
Same view, dark theme &mdash; drops into existing IDE / ops screens
283+
</figcaption>
284+
</figure>
285+
<p class="dashboard-gallery__note">
294286
Community: basic traces + policy engine. Enterprise: full dashboard &amp; reports.
295-
</div>
287+
</p>
296288
</div>
297289
</div>
298290
</div>

src/styles/landing.css

Lines changed: 48 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1315,91 +1315,73 @@ body {
13151315
line-height: 1.55;
13161316
color: var(--text-secondary);
13171317
}
1318-
.dashboard-card {
1319-
background: var(--ink);
1320-
color: #e5e7eb;
1321-
border: 1px solid var(--ink-line);
1322-
border-radius: 2px;
1323-
font-family: var(--font-mono);
1324-
overflow: hidden;
1325-
box-shadow: 6px 6px 0 var(--brand-navy);
1326-
position: sticky;
1327-
top: 110px;
1328-
}
1329-
.dashboard-card__header {
1330-
background: var(--ink-soft);
1331-
padding: 12px 18px;
1332-
border-bottom: 1px solid var(--ink-line);
1318+
.dashboard-gallery {
13331319
display: flex;
1334-
justify-content: space-between;
1335-
align-items: center;
1336-
font-size: 0.72rem;
1337-
letter-spacing: 0.05em;
1338-
}
1339-
.dashboard-card__title {
1340-
color: rgba(255,255,255,0.7);
1341-
text-transform: lowercase;
1320+
flex-direction: column;
1321+
gap: 20px;
13421322
}
1343-
.dashboard-card__period {
1344-
color: var(--seal-red);
1345-
font-weight: 700;
1323+
.dashboard-figure {
1324+
margin: 0;
1325+
border: 1px solid var(--brand-navy);
1326+
border-radius: 2px;
1327+
box-shadow: 6px 6px 0 var(--brand-navy);
1328+
overflow: hidden;
1329+
background: var(--white);
1330+
transition: transform 0.15s, box-shadow 0.15s;
13461331
}
1347-
.dashboard-row {
1348-
padding: 10px 18px;
1349-
border-bottom: 1px dashed rgba(255,255,255,0.06);
1350-
display: grid;
1351-
grid-template-columns: 1fr auto auto;
1352-
gap: 12px;
1353-
align-items: baseline;
1354-
font-size: 0.82rem;
1332+
.dashboard-figure:hover {
1333+
transform: translate(-2px, -2px);
1334+
box-shadow: 8px 8px 0 var(--brand-navy);
13551335
}
1356-
.dashboard-row__label {
1357-
color: rgba(255,255,255,0.55);
1358-
text-transform: lowercase;
1359-
letter-spacing: 0.02em;
1336+
.dashboard-figure--dark {
1337+
background: var(--ink);
13601338
}
1361-
.dashboard-row__value {
1362-
color: var(--white);
1363-
font-weight: 700;
1364-
text-align: right;
1339+
.dashboard-figure__img {
1340+
display: block;
1341+
width: 100%;
1342+
height: auto;
13651343
}
1366-
.dashboard-row__meta {
1367-
color: var(--seal-red);
1344+
.dashboard-figure__caption {
1345+
font-family: var(--font-mono);
13681346
font-size: 0.72rem;
1369-
text-align: right;
1370-
white-space: nowrap;
1347+
line-height: 1.5;
1348+
padding: 10px 14px;
1349+
color: var(--text-secondary);
1350+
background: var(--off-white);
1351+
border-top: 1px solid var(--light-gray);
1352+
letter-spacing: 0.02em;
1353+
display: flex;
1354+
align-items: center;
1355+
gap: 10px;
13711356
}
1372-
.dashboard-bar {
1373-
height: 6px;
1374-
background: rgba(255,255,255,0.08);
1375-
margin: 6px 18px 10px;
1376-
position: relative;
1377-
overflow: hidden;
1378-
border-radius: 2px;
1357+
.dashboard-figure--dark .dashboard-figure__caption {
1358+
background: var(--ink-soft);
1359+
color: rgba(229,231,235,0.7);
1360+
border-top-color: var(--ink-line);
13791361
}
1380-
.dashboard-bar__fill {
1381-
position: absolute;
1382-
inset: 0 auto 0 0;
1383-
background: linear-gradient(90deg, var(--brand-red) 0%, var(--seal-red) 100%);
1362+
.dashboard-figure__tag {
1363+
font-weight: 700;
1364+
color: var(--white);
1365+
background: var(--brand-red-dark);
1366+
padding: 2px 8px;
1367+
letter-spacing: 0.08em;
1368+
text-transform: uppercase;
1369+
flex-shrink: 0;
13841370
}
1385-
.dashboard-card__footnote {
1386-
padding: 12px 18px;
1387-
font-size: 0.72rem;
1388-
color: rgba(255,255,255,0.5);
1389-
background: var(--ink-soft);
1390-
border-top: 1px solid var(--ink-line);
1371+
.dashboard-gallery__note {
1372+
margin: 4px 0 0;
13911373
font-family: var(--font-body);
1374+
font-size: 0.78rem;
1375+
color: var(--text-muted);
13921376
font-style: italic;
1377+
text-align: right;
13931378
}
13941379

13951380
@media (max-width: 900px) {
13961381
.visibility-grid {
13971382
grid-template-columns: 1fr;
13981383
gap: 24px;
13991384
}
1400-
.dashboard-card {
1401-
position: static;
1402-
}
14031385
}
14041386

14051387
/* ---- Helpers ---- */

0 commit comments

Comments
 (0)