@@ -104,71 +104,36 @@ export default async function DashboardPage() {
104104
105105 return (
106106 < DashboardSSEProvider >
107- < div className = "min-h-screen overflow-x-hidden bg-[var(--background)] p-4 text-[var(--foreground)] transition-colors md:p-8" >
107+ < div className = "min-h-screen bg-[var(--background)] p-4 text-[var(--foreground)] transition-colors md:p-8" >
108108 < DashboardHeader />
109- < div className = "mb-6 rounded-2xl border border-[var(--border)] bg-[var(--card)]/80 p-3 shadow-sm backdrop-blur-sm sm:p-4" >
110- < div className = "mb-3 flex items-center justify-between gap-3" >
111- < div >
112- < p
113- className = "text-[11px] font-semibold uppercase tracking-[0.22em] text-[var(--muted-foreground)]"
114- style = { { fontFamily : "var(--font-jetbrains, ui-monospace, monospace)" } }
115- >
116- Quick actions
117- </ p >
118- < p className = "mt-1 text-sm text-[var(--muted-foreground)]" >
119- Common dashboard tasks and exports
120- </ p >
121- </ div >
122- </ div >
123109
124- < div className = "grid grid-cols-2 gap-2 sm:grid-cols-4" >
110+ { /* Quick actions */ }
111+ < div className = "mt-4 flex flex-wrap items-center gap-2 sm:gap-3" >
125112 < Link
126113 href = "/wrapped"
127- className = "flex min-h-11 items-center justify-center rounded-xl border border-[var(--accent)] bg-[var(--accent-soft)] px-4 py-2 text-sm font-semibold text-[var(--accent)] transition-opacity hover:opacity-90"
114+ className = "inline- flex items-center gap-2 rounded-lg border border-[var(--accent)] bg-[var(--accent-soft)] px-4 py-2 text-sm font-semibold text-[var(--accent)] transition-opacity hover:opacity-90"
128115 >
129- Year in Code
116+ ✨ Year in Code
130117 </ Link >
131118 < Link
132119 href = "/dashboard/settings"
133- className = "secondary-button flex min-h-11 items-center justify-center rounded-xl px-4 py-2 text-sm font-medium"
120+ className = "secondary-button inline- flex items-center justify-center rounded-lg px-4 py-2 text-sm font-medium"
134121 >
135122 Settings
136123 </ Link >
137- < div className = "col-span-2 " >
124+ < div className = "sm:ml-auto " >
138125 < ExportButton />
139126 </ div >
140127 </ div >
141- </ div >
142- < StreakAtRiskBanner />
143128
144- < div className = "mt-6 mb-6 " >
145- < TodayFocusHero userName = { session . user ?. name ?? null } />
129+ < div className = "mt-4 " >
130+ < StreakAtRiskBanner />
146131 </ div >
147132
148- { /* Action bar */ }
149- < div
150- id = "overview"
151- className = "mb-6 flex flex-wrap items-stretch justify-center gap-2 scroll-mt-24 sm:justify-end"
152- >
153- < Link
154- href = "/wrapped"
155- className = "flex min-w-0 flex-1 items-center justify-center rounded-lg border border-[var(--accent)] bg-[var(--accent-soft)] px-4 py-2 text-center text-sm font-semibold text-[var(--accent)] transition-opacity hover:opacity-90 sm:min-w-[140px] sm:flex-none"
156- >
157- Year in Code
158- </ Link >
159- < Link
160- href = "/dashboard/settings"
161- className = "secondary-button flex min-w-0 flex-1 items-center justify-center rounded-xl px-4 py-2 text-center text-sm font-medium sm:min-w-[140px] sm:flex-none"
162- >
163- Settings
164- </ Link >
165- < div className = "w-full sm:w-auto" >
166- < ExportButton />
167- </ div >
133+ < div className = "mt-6 mb-6" >
134+ < TodayFocusHero userName = { session . user ?. name ?? null } />
168135 </ div >
169136
170- < StreakAtRiskBanner />
171-
172137 { /* Weekly summary — full width */ }
173138 < div className = "mt-6" >
174139 < WeeklySummaryCard />
@@ -185,9 +150,7 @@ export default async function DashboardPage() {
185150 { /* Left: contribution graph + heatmap */ }
186151 < div className = "lg:col-span-2 flex flex-col gap-6" >
187152 < ContributionGraph />
188- < LazyWidget fallback = { < SkeletonCard /> } >
189- < ContributionHeatmap />
190- </ LazyWidget >
153+ < ContributionHeatmap />
191154 </ div >
192155
193156 { /* Right: streak + coding time */ }
0 commit comments