]> _ Git - odl.git/commitdiff
Try #4908 @2
authorStephen Cameron <stephen@cubedesigners.com>
Sun, 28 Nov 2021 18:58:58 +0000 (19:58 +0100)
committerStephen Cameron <stephen@cubedesigners.com>
Sun, 28 Nov 2021 18:58:58 +0000 (19:58 +0100)
resources/views/components/search.blade.php
resources/views/layouts/app.blade.php

index b54db0b3c1ac75b562ed469207e9b07210196c3a..0d7eafd5ef333c21e085c028796d9f3c06a41f58 100644 (file)
      x-transition:leave-end="opacity-0"
      x-cloak>
 
-    <x-close @click.prevent="searchOpen = false; overlayOpen = false;" />
+    <x-close @click.prevent="closeSearch()" />
 
     {{-- Search Field --}}
     <div class="w-full pt-30 flex-grow-0">
         <p class="font-medium text-2xl">Tapez ici le ou les mots-clĂ© de votre recherche</p>
 
         <input
-            x-ref="searchField"
+            id="searchField"
             x-model="query"
+            @keyup.enter="$el.blur()" {{-- Remove focus on enter in order to hide virtual keyboard --}}
             type="search"
             placeholder="Recherche"
             class="appearance-none outline-none
index 326745e8ac1b7d7c49d27a447b5194de452998dc..f5dd90dc7bb7af41487251cfd52f4e9be384980e 100644 (file)
@@ -8,8 +8,26 @@
     @stack('after_css')
     <title>{{ config('app.name') }}</title>
 </head>
-<body x-data="{ menuOpen: false, overlayOpen: false, searchOpen: false }"
-      :class="{ 'menu-open': menuOpen, 'overflow-hidden': overlayOpen }"
+<body x-data="{
+        overlayOpen: false, // Tracks when a modal is open so background scroll can be frozen
+        menuOpen: false,
+        searchOpen: false,
+        openSearch() {
+            this.overlayOpen = true;
+            this.searchOpen = true;
+            $nextTick(() => {
+                document.getElementById('searchField').focus();
+            });
+        },
+        closeSearch() {
+            this.overlayOpen = false;
+            this.searchOpen = false;
+        },
+      }"
+      :class="{
+        'menu-open': menuOpen,
+        'overflow-hidden': overlayOpen
+      }"
       class="font-primary p-8">
     <header class="site-header relative flex justify-between z-20 transition-colors duration-500">
         {{-- Menu Toggle --}}
@@ -43,7 +61,7 @@
 
 
         {{-- Search Icon --}}
-        <a href="#" @click.prevent="overlayOpen = true; searchOpen = true;">
+        <a href="#" @click.prevent="openSearch()">
             <svg class="stroke-current fixed top-8 right-8" xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 29.414 29.414">
                 <g fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="2">
                     <path d="M1 12.25A11.25 11.25 0 1 0 12.25 1 11.25 11.25 0 0 0 1 12.25Z"/>