From d7dc22d0c89ab8389072281a095323c26a257ad6 Mon Sep 17 00:00:00 2001
From: Josh Bairstow
Date: Tue, 2 Jun 2026 01:10:27 +1000
Subject: [PATCH] feat(blog): render search input, empty-state, hidden utility
Co-Authored-By: Claude Sonnet 4.6
---
src/components/molecules/BlogSearch.astro | 81 ++++++++++++++++++++++-
src/pages/blog/index.astro | 18 +++++
2 files changed, 98 insertions(+), 1 deletion(-)
diff --git a/src/components/molecules/BlogSearch.astro b/src/components/molecules/BlogSearch.astro
index e39a11d..c694e11 100644
--- a/src/components/molecules/BlogSearch.astro
+++ b/src/components/molecules/BlogSearch.astro
@@ -1,3 +1,82 @@
---
-// Stub — real implementation lands in Task 4.
+// Light client-side filter for the blog archive.
+// Reads [data-search] attributes on rows + the featured article, hides
+// non-matches, collapses empty year heads, toggles a no-results message.
+// Filter script is added in Task 5; this file ships markup + styles only.
---
+
+
+
+ Esc to clear
+
+
+
diff --git a/src/pages/blog/index.astro b/src/pages/blog/index.astro
index 9fa00a2..14329fc 100644
--- a/src/pages/blog/index.astro
+++ b/src/pages/blog/index.astro
@@ -78,6 +78,8 @@ for (const post of posts) {
+
+
{
featured && (
@@ -125,6 +127,10 @@ for (const post of posts) {
))
}
+
+
+ No entries match "".
+