From 833bd614a104b2ac94c792fad8a98d7a30d7ec91 Mon Sep 17 00:00:00 2001 From: Sean Doherty Date: Sat, 16 May 2026 23:21:26 -0500 Subject: [PATCH] Honor homepage search query --- src/components/ProjectList.astro | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/components/ProjectList.astro b/src/components/ProjectList.astro index 8a8806b8..a7dc98bf 100644 --- a/src/components/ProjectList.astro +++ b/src/components/ProjectList.astro @@ -26,6 +26,10 @@ const allTags = [...new Set(projectList.flatMap(project => project.tags || []))] + +
{projectList.map((item) => ( project.tags || []))] const searchInput = document.getElementById('search'); const tagSelector = document.getElementById('tag-selector'); const projectListContainer = document.getElementById('project-list'); + const noResultsMessage = document.getElementById('no-project-results'); + + const initialSearchValue = new URLSearchParams(window.location.search).get('q')?.trim() || ''; + if (initialSearchValue) { + searchValue = initialSearchValue; + searchInput.value = initialSearchValue; + } // Filter projects function function filterProjects() { @@ -92,6 +103,7 @@ const allTags = [...new Set(projectList.flatMap(project => project.tags || []))] } filteredProjects = filtered; + noResultsMessage.hidden = filteredProjects.length > 0; // Hide/show cards instead of re-rendering projectList.forEach(project => { @@ -185,6 +197,13 @@ const allTags = [...new Set(projectList.flatMap(project => project.tags || []))] break-inside: avoid; } + .no-project-results { + color: rgba(255, 255, 255, 0.8); + font-size: 1rem; + margin: 0 auto 2rem; + padding: 0 1rem; + } + @media (max-width: 768px) { #container {