Skip to content

Commit 6663de8

Browse files
author
Jose Cruz
committed
dashboard: push breadcrumb + actions below the hero, max space for panels
User wanted the Home/Dashboard label and the top-right buttons moved downward so the content panels reclaim as much vertical space as possible. New order: 1. Hero (greeting + quote) — very top, 18px top padding 2. Meta row (breadcrumb + action buttons) — 12px below hero 3. 3-column grid — 10px below meta row All vertical padding trimmed compared to the previous iteration. The hero is the first thing on the page (no chrome bar above it), the breadcrumb and buttons are now chrome-adjacent rather than chrome-first, and the panels sit right below without a wide empty band.
1 parent a555178 commit 6663de8

1 file changed

Lines changed: 30 additions & 31 deletions

File tree

frontend/src/components/screens/Dashboard.tsx

Lines changed: 30 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -561,37 +561,12 @@ export function Dashboard() {
561561

562562
return (
563563
<div>
564-
{/* Meta row sits at the very top: breadcrumb left, primary actions
565-
right. No chrome bar, no border — flows on top of the atmospheric
566-
backdrop. */}
567-
<div
568-
style={{
569-
padding: isMobile ? "14px 20px 0" : "18px 32px 0",
570-
display: "flex",
571-
alignItems: "center",
572-
justifyContent: "space-between",
573-
gap: 12,
574-
flexWrap: "wrap",
575-
}}
576-
>
577-
<span className="label-micro">Home / Dashboard</span>
578-
<div style={{ display: "flex", gap: 8 }}>
579-
<button className="btn btn--sm" onClick={() => router.push("/library")}>
580-
<Icon name="search" size={13} /> Library
581-
</button>
582-
<button className="btn btn--sm btn--primary" onClick={() => router.push("/learn")}>
583-
<Icon name="sparkle" size={13} /> Start learning
584-
</button>
585-
</div>
586-
</div>
587-
588-
{/* Hero drops below the meta row now. Greeting types in, then
589-
the quote fades in (0.7s) once typing completes — same
590-
sequence as the pre-revamp dashboard. */}
564+
{/* Hero at the very top — zero TopBar above it, tight top padding
565+
so the greeting is literally the first thing on the page. */}
591566
<div
592567
style={{
593568
textAlign: "center",
594-
padding: isMobile ? "20px 20px 4px" : "28px 32px 8px",
569+
padding: isMobile ? "14px 20px 0" : "18px 32px 0",
595570
}}
596571
>
597572
<h1
@@ -611,7 +586,7 @@ export function Dashboard() {
611586
<p
612587
className="body-serif"
613588
style={{
614-
margin: "10px auto 0",
589+
margin: "8px auto 0",
615590
maxWidth: 640,
616591
fontSize: 14,
617592
fontStyle: "italic",
@@ -626,6 +601,29 @@ export function Dashboard() {
626601
)}
627602
</div>
628603

604+
{/* Meta row pushed DOWN below the hero, tight padding. Breadcrumb
605+
left, actions right — one line of chrome, no bar. */}
606+
<div
607+
style={{
608+
padding: isMobile ? "10px 20px 0" : "12px 32px 0",
609+
display: "flex",
610+
alignItems: "center",
611+
justifyContent: "space-between",
612+
gap: 12,
613+
flexWrap: "wrap",
614+
}}
615+
>
616+
<span className="label-micro">Home / Dashboard</span>
617+
<div style={{ display: "flex", gap: 8 }}>
618+
<button className="btn btn--sm" onClick={() => router.push("/library")}>
619+
<Icon name="search" size={13} /> Library
620+
</button>
621+
<button className="btn btn--sm btn--primary" onClick={() => router.push("/learn")}>
622+
<Icon name="sparkle" size={13} /> Start learning
623+
</button>
624+
</div>
625+
</div>
626+
629627
{suggestNode && !suggestDismissed && (
630628
<div style={{ padding: "14px 32px 0" }}>
631629
<div className="card fade-in" style={{ padding: "14px 18px", display: "flex", gap: 14, alignItems: "center", borderColor: "var(--accent-border)", background: "var(--accent-soft)" }}>
@@ -664,8 +662,9 @@ export function Dashboard() {
664662

665663
<div
666664
style={{
667-
// Tight top padding so panels start immediately below the meta row.
668-
padding: isMobile ? "12px 20px 16px" : "14px 32px 24px",
665+
// Very tight top padding so panels start immediately below the
666+
// meta row — maximises the space the content panels can claim.
667+
padding: isMobile ? "8px 20px 16px" : "10px 32px 24px",
669668
display: "grid", gap: 16,
670669
// Pre-revamp layout: narrow left (courses), wide middle (graph),
671670
// narrow right (stats/upcoming/learn-next). Matches the 300px /

0 commit comments

Comments
 (0)