@@ -197,27 +197,15 @@ onKeyStroke(
197197 class =" relative container min-h-14 flex items-center gap-2 z-1"
198198 :class =" isOnHomePage ? 'justify-end' : 'justify-between'"
199199 >
200- <!-- Mobile: Logo (navigates home) + Search button (expands search) -->
201- <div
200+ <!-- Mobile: Logo (navigates home) -->
201+ <NuxtLink
202202 v-if =" !isSearchExpanded && !isOnHomePage"
203- class =" sm:hidden flex-shrink-0 inline-flex items-center gap-2"
203+ to =" /"
204+ :aria-label =" $t('header.home')"
205+ class =" sm:hidden flex-shrink-0 font-mono text-lg font-medium text-fg hover:text-fg transition-colors duration-200 focus-ring rounded"
204206 >
205- <NuxtLink
206- to =" /"
207- :aria-label =" $t('header.home')"
208- class =" font-mono text-lg font-medium text-fg hover:text-fg transition-colors duration-200 focus-ring rounded"
209- >
210- <AppLogo class =" w-8 h-8 rounded-lg" />
211- </NuxtLink >
212- <button
213- type =" button"
214- class =" p-1 -m-1 text-fg-subtle hover:text-fg transition-colors duration-200 focus-ring rounded"
215- :aria-label =" $t('nav.tap_to_search')"
216- @click =" expandMobileSearch"
217- >
218- <span class =" i-carbon:search w-4 h-4" aria-hidden =" true" />
219- </button >
220- </div >
207+ <AppLogo class =" w-8 h-8 rounded-lg" />
208+ </NuxtLink >
221209
222210 <!-- Desktop: Logo (navigates home) -->
223211 <div v-if =" showLogo" class =" hidden sm:flex flex-shrink-0 items-center" >
@@ -282,7 +270,51 @@ onKeyStroke(
282270 {{ link.label }}
283271 </LinkBase >
284272
285- <HeaderAccountMenu />
273+ <!-- Desktop: Settings link -->
274+ <NuxtLink
275+ to =" /settings"
276+ class =" hidden sm:inline-flex link-subtle font-mono text-sm items-center gap-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50 rounded"
277+ aria-keyshortcuts =" ,"
278+ >
279+ {{ $t('nav.settings') }}
280+ <kbd
281+ class =" inline-flex items-center justify-center w-5 h-5 text-xs bg-bg-muted border border-border rounded"
282+ aria-hidden =" true"
283+ >
284+ ,
285+ </kbd >
286+ </NuxtLink >
287+
288+ <!-- Desktop: Account menu -->
289+ <div class =" hidden sm:block" >
290+ <HeaderAccountMenu />
291+ </div >
292+
293+ <!-- Mobile: Search button (expands search) -->
294+ <button
295+ v-if =" !isSearchExpanded && !isOnHomePage"
296+ type =" button"
297+ class =" sm:hidden flex items-center p-2 -m-2 text-fg-subtle hover:text-fg transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50 rounded"
298+ :aria-label =" $t('nav.tap_to_search')"
299+ @click =" expandMobileSearch"
300+ >
301+ <span class =" i-carbon:search w-6 h-6" aria-hidden =" true" />
302+ </button >
303+
304+ <!-- Mobile: Menu button (always visible, toggles menu) -->
305+ <button
306+ type =" button"
307+ class =" sm:hidden flex items-center p-2 -m-2 text-fg-subtle hover:text-fg transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50 rounded"
308+ :aria-label =" showMobileMenu ? $t('common.close') : $t('nav.open_menu')"
309+ :aria-expanded =" showMobileMenu"
310+ @click =" showMobileMenu = !showMobileMenu"
311+ >
312+ <span
313+ class =" w-6 h-6 inline-block"
314+ :class =" showMobileMenu ? 'i-carbon:close' : 'i-carbon:menu'"
315+ aria-hidden =" true"
316+ />
317+ </button >
286318 </div >
287319
288320 <!-- Mobile: Menu button (always visible, click to open menu) -->
0 commit comments