Site-wide rich search with keyword highlighting + header search box
CI/CD / CI · dotnet build (push) Successful in 1m53s
CI/CD / Deploy · hamkadr (push) Successful in 2m47s

- /Search: searches shifts, hiring openings, and applicants together via
  Postgres ILIKE (every term must match across role/city/facility/title/
  description/tags/person). Results grouped per type.
- Keyword highlighting (<mark>) extended to shift & job cards (was talent-only),
  so matches stand out everywhere.
- Persistent header search box (.nav-search) → /Search; big hero box on the
  page itself.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
soroush.asadi
2026-06-08 11:40:26 +03:30
parent 234bcd1f88
commit 9db4deafbc
6 changed files with 148 additions and 5 deletions
+13
View File
@@ -273,6 +273,19 @@ label { font-size: 13px; }
background: var(--primary-soft); color: var(--primary-dark); }
mark { background: #fff3bf; color: inherit; padding: 0 2px; border-radius: 3px; }
/* Header search */
.nav-search { display: flex; align-items: center; gap: 0; }
.nav-search input { width: 150px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 10px 0 0 10px;
font-family: inherit; font-size: 13px; background: var(--bg); }
.nav-search input:focus { outline: none; border-color: var(--primary); width: 190px; }
.nav-search button { padding: 7px 11px; border: 1px solid var(--primary); background: var(--primary); color: #fff;
border-radius: 0 10px 10px 0; cursor: pointer; font-size: 14px; }
/* Big search box on the /Search page head */
.search-hero { display: flex; gap: 8px; max-width: 640px; margin: 6px 0 4px; }
.search-hero input { flex: 1; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px;
font-family: inherit; font-size: 15px; background: var(--surface); }
.search-hero input:focus { outline: none; border-color: var(--primary); }
/* Animated contact reveal box (shift/job/talent details) */
.contact-reveal { border: 1px solid var(--primary); border-radius: 14px; padding: 14px;
background: var(--primary-soft); animation: revealIn .35s cubic-bezier(.2,.7,.3,1); }