From 09fd59d5708bf9ebadc078b2980a490c85f73887 Mon Sep 17 00:00:00 2001 From: Ryan Malloy Date: Sat, 21 Feb 2026 15:28:08 -0700 Subject: [PATCH] Visual polish: card hover lift, gradient section dividers, editor spacing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Cards (featured + gallery): hover adds -translate-y-1 + shadow-lg for subtle lift-off-surface effect - Homepage sections: replace hard border-b with gradient-fade dividers that taper to transparent at edges - Resistor button section: tighten vertical padding (py-10 → py-6) - Notebook editor: cell spacing increased (space-y-0 → space-y-3), add-cell button slides up on hover instead of abrupt opacity flash, status bar gets more breathing room and lighter text --- .../src/components/FeaturedNotebooks.astro | 4 +- frontend/src/components/NotebookCard.tsx | 2 +- frontend/src/components/notebook/CellList.tsx | 4 +- .../components/notebook/NotebookEditor.tsx | 2 +- frontend/src/pages/index.astro | 12 +++--- frontend/src/styles/homepage.css | 43 +++++++++++++++++++ 6 files changed, 56 insertions(+), 11 deletions(-) diff --git a/frontend/src/components/FeaturedNotebooks.astro b/frontend/src/components/FeaturedNotebooks.astro index 467c975..3286a4e 100644 --- a/frontend/src/components/FeaturedNotebooks.astro +++ b/frontend/src/components/FeaturedNotebooks.astro @@ -46,7 +46,9 @@ const engineColor: Record href={`/notebook/${nb.id}`} class:list={[ 'group block rounded-lg border bg-slate-900/50 overflow-hidden', - 'hover:border-blue-500/40 hover:bg-slate-800/70 transition-all', + 'hover:border-blue-500/40 hover:bg-slate-800/70', + 'hover:-translate-y-1 hover:shadow-lg hover:shadow-black/25', + 'transition-all duration-200', 'border-slate-800', ]} > diff --git a/frontend/src/components/NotebookCard.tsx b/frontend/src/components/NotebookCard.tsx index 40bbb7d..84b354c 100644 --- a/frontend/src/components/NotebookCard.tsx +++ b/frontend/src/components/NotebookCard.tsx @@ -30,7 +30,7 @@ export function NotebookCard({ notebook }: NotebookCardProps) { return ( {schematic_svg ? (
+
@@ -61,7 +61,7 @@ export function CellList() { } return ( -
+
{cells.map((cell, index) => { const isFirst = index === 0; const isLast = index === cells.length - 1; diff --git a/frontend/src/components/notebook/NotebookEditor.tsx b/frontend/src/components/notebook/NotebookEditor.tsx index ffe03cf..0167660 100644 --- a/frontend/src/components/notebook/NotebookEditor.tsx +++ b/frontend/src/components/notebook/NotebookEditor.tsx @@ -90,7 +90,7 @@ export default function NotebookEditor({ notebookId }: NotebookEditorProps) { {/* Status bar at bottom */} -