Changeset fd8faf5 in Klonkt for src/views/partials/topnav.ejs
- Timestamp:
- 09/30/2026 07:27:05 AM (2 hours ago)
- Branches:
- main
- Children:
- 19e28ce
- Parents:
- 86cfa1a
- File:
-
- 1 edited
-
src/views/partials/topnav.ejs (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/views/partials/topnav.ejs
r86cfa1a rfd8faf5 175 175 </header> 176 176 177 <!-- Search overlay (shared by mobile bottom-tab + desktop top-nav) --> 178 <%# De teksten staan op het element dat ze gebruikt, niet in het script: een 179 module is een statisch bestand en kan geen vertaling interpoleren. %> 180 <div id="search-overlay" class="search-overlay" hidden data-suggest="<%= _siteUrlBase %>/search/suggest" data-remote="<%= _siteUrlBase %>/search/remote" data-action="<%= _siteUrlBase %>/search" 181 data-i18n="<%= JSON.stringify({ posts: t('search.section_posts'), tracks: t('search.section_tracks'), events: t('search.section_events'), pages: t('search.section_pages'), all: t('search.suggest_all'), none: t('search.suggest_empty'), looking: t('search.fedi_looking') }) %>"> 182 <div class="container"> 183 <form class="search-overlay-form" method="get" action="<%= _siteUrlBase %>/search"> 184 <input type="search" name="q" placeholder="<%= t('search.placeholder') %>" autocomplete="off"> 185 <button type="submit" class="nav-btn" aria-label="<%= t('search.button') %>"> 186 <svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg> 187 </button> 188 <button type="button" class="nav-btn" id="search-close" aria-label="<%= t('imed.cancel') %>"> 189 <svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg> 190 </button> 191 </form> 192 <div id="search-suggest" class="search-suggest" data-lenis-prevent></div> 193 </div> 194 </div> 177 <!-- Het zoeken (gedeeld door de tabbalk op mobiel en de topnav op desktop) --> 178 <%# Balk + vak, dezelfde partial als de pagina /search: zie search-surface.ejs. %> 179 <%- include('./search-surface', { mode: 'overlay', t: t, siteUrlBase: _siteUrlBase }) %> 180 <%- include('./search-styles') %> 195 181 196 182 <%# Het script van de topnav staat in assets/js/mod/chrome.js (shaer-bqr). %> … … 441 427 } 442 428 443 /* ── Search overlay ── */ 444 .search-overlay { 445 position: fixed; top: 0; left: 0; right: 0; 446 background: color-mix(in srgb, var(--paper) 96%, transparent); 447 backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); 448 border-bottom: 1px solid var(--rule); 449 padding: 1rem 0; z-index: 200; 450 padding-top: calc(1rem + env(safe-area-inset-top, 0)); 451 box-shadow: 0 8px 24px color-mix(in srgb, var(--ink) 8%, transparent); 452 } 453 .search-overlay-form { display: flex; gap: .5rem; align-items: center; } 454 .search-overlay-form input { 455 flex: 1; padding: .85rem 1rem; 456 min-height: 44px; 457 border: 1px solid var(--rule); border-radius: 8px; 458 font-family: var(--font-ui); font-size: 1rem; 459 background: var(--paper); color: var(--ink); 460 } 461 .search-overlay-form input:focus { 462 outline: 2px solid var(--accent); outline-offset: 0; 463 } 464 .search-overlay-form .nav-btn { 465 width: 44px; height: 44px; 466 display: inline-flex; align-items: center; justify-content: center; 467 } 468 /* Live-resultaten dropdown */ 469 .search-suggest { margin-top: .6rem; max-height: 60vh; max-height: 70dvh; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; display: flex; flex-direction: column; gap: .25rem; } 470 .search-suggest:empty { display: none; } 471 .ss-group { padding: .25rem 0; } 472 .ss-title { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--ink-soft, var(--ink-muted)); padding: .35rem .25rem .2rem; } 473 .ss-item { display: block; padding: .55rem .6rem; border-radius: 8px; color: var(--ink); text-decoration: none; font-size: .95rem; } 474 .ss-item:hover { background: var(--paper-2); color: var(--accent); } 475 .ss-item.ss-noclick { opacity: .7; cursor: default; } 476 .ss-sub { color: var(--ink-soft, var(--ink-muted)); font-size: .85em; } 477 .ss-empty { padding: .8rem .6rem; color: var(--ink-soft, var(--ink-muted)); font-size: .9rem; } 478 .ss-all { display: block; margin-top: .35rem; padding: .55rem .6rem; border-top: 1px solid var(--rule); color: var(--accent); font-weight: 600; text-decoration: none; font-size: .9rem; } 479 .ss-all:hover { text-decoration: underline; } 429 /* Het zoeken heeft zijn opmaak in partials/search-styles.ejs. */ 480 430 /* Notification bell + unread badge */ 481 431 .nav-notif { position: relative; }
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)