From 5a93ac36aa90e7b752c7d35e0472d9e48acf26bb Mon Sep 17 00:00:00 2001 From: Ulas Kalayci Date: Thu, 30 Apr 2026 08:20:36 +0200 Subject: [PATCH] chore: release v0.37.2 --- CHANGELOG.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- public/router.js | 5 +++++ public/styles/layout.css | 42 ++++++++++++++++++++++++++++++++++++++-- 5 files changed, 55 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c9ce42..abd6763 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.37.2] - 2026-04-30 + +### Changed +- Search bar in More sheet: added hover, active, and focus states with accent colour highlight and subtle scale feedback +- Search bar icon changes to accent colour on hover and press for clearer trigger affordance +- Keyboard shortcut hint (`/`) shown inside search bar on desktop as discoverability signal + ## [0.37.1] - 2026-04-30 ### Changed diff --git a/package-lock.json b/package-lock.json index 6d398f1..aecc799 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "oikos", - "version": "0.37.1", + "version": "0.37.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "oikos", - "version": "0.37.1", + "version": "0.37.2", "license": "MIT", "dependencies": { "bcrypt": "^6.0.0", diff --git a/package.json b/package.json index d23a3aa..9916188 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "oikos", - "version": "0.37.1", + "version": "0.37.2", "description": "Self-hosted family planner - calendar, tasks, shopping, meal planning, budget and more. Private, open-source, no subscription.", "main": "server/index.js", "type": "module", diff --git a/public/router.js b/public/router.js index b484903..7e01f94 100644 --- a/public/router.js +++ b/public/router.js @@ -550,8 +550,13 @@ function renderAppShell(container) { const moreSearchPlaceholder = document.createElement('span'); moreSearchPlaceholder.className = 'more-sheet__search-placeholder'; moreSearchPlaceholder.textContent = t('search.placeholder'); + const moreSearchKbd = document.createElement('kbd'); + moreSearchKbd.className = 'more-sheet__search-kbd'; + moreSearchKbd.textContent = '/'; + moreSearchKbd.setAttribute('aria-hidden', 'true'); moreSearchBar.appendChild(moreSearchIcon); moreSearchBar.appendChild(moreSearchPlaceholder); + moreSearchBar.appendChild(moreSearchKbd); moreSheet.appendChild(moreSearchBar); navItems().filter((i) => !i.kitchenGroup).slice(PRIMARY_NAV).forEach((item) => moreSheet.appendChild(moreItemEl(item))); diff --git a/public/styles/layout.css b/public/styles/layout.css index a7138ae..1a8a395 100755 --- a/public/styles/layout.css +++ b/public/styles/layout.css @@ -252,10 +252,22 @@ cursor: text; margin-bottom: var(--space-1); -webkit-tap-highlight-color: transparent; - transition: border-color var(--transition-fast); + transition: border-color var(--transition-fast), background-color var(--transition-fast), transform 0.1s ease; + user-select: none; +} + +.more-sheet__search:hover { + border-color: var(--color-border-strong, var(--color-border)); + background-color: var(--color-surface-hover); +} + +.more-sheet__search:active { + outline: none; + border-color: var(--color-accent); + background-color: color-mix(in srgb, var(--color-accent) 8%, var(--color-surface-elevated)); + transform: scale(0.985); } -.more-sheet__search:active, .more-sheet__search:focus { outline: none; border-color: var(--color-accent); @@ -265,11 +277,37 @@ width: var(--space-4); height: var(--space-4); flex-shrink: 0; + transition: color var(--transition-fast); +} + +.more-sheet__search:hover .more-sheet__search-icon, +.more-sheet__search:active .more-sheet__search-icon { + color: var(--color-accent); } .more-sheet__search-placeholder { font-size: var(--text-sm); color: var(--color-text-tertiary); + flex: 1; +} + +.more-sheet__search-kbd { + display: none; + font-size: var(--text-xs); + color: var(--color-text-quaternary, var(--color-text-tertiary)); + background-color: var(--color-surface); + border: 1px solid var(--color-border); + border-radius: var(--radius-sm); + padding: 1px 5px; + font-family: inherit; + line-height: 1.4; + flex-shrink: 0; +} + +@media (min-width: 1024px) { + .more-sheet__search-kbd { + display: inline; + } } /* ── More-Item ── */