|
3 | 3 | <input
|
4 | 4 | class="quick-search__input"
|
5 | 5 | type="text"
|
6 |
| - placeholder="Search Movie, TV Series or People" |
| 6 | + placeholder="Search" |
7 | 7 | x-model="searchText"
|
8 | 8 | x-on:input.debounce.100ms="performSearch"
|
9 | 9 | x-ref="quickSearch"
|
10 | 10 | x-on:keydown.down.prevent="focusFirstResult"
|
11 | 11 | x-on:keydown.up.prevent="focusLastResult"
|
12 | 12 | x-on:focus="searchPerformed = true"
|
13 | 13 | />
|
14 |
| - <template x-if="searchPerformed && searchResults.length === 0"> |
| 14 | + <template x-if="searchResults === null"> |
| 15 | + <div class="quick-search__results"> |
| 16 | + <article class="quick-search__result--default"> |
| 17 | + <p class="quick-search__result-text">Search movies, tv series, or people</p> |
| 18 | + </article> |
| 19 | + </div> |
| 20 | + </template> |
| 21 | + <template x-if="Array.isArray(searchResults) && searchResults.length === 0"> |
15 | 22 | <div class="quick-search__results">
|
16 | 23 | <article class="quick-search__result--empty">
|
17 | 24 | <p class="quick-search__result-text">No results found</p>
|
18 | 25 | </article>
|
19 | 26 | </div>
|
20 | 27 | </template>
|
21 |
| - <template x-if="searchResults.length > 0"> |
| 28 | + <template x-if="Array.isArray(searchResults) && searchResults.length > 0"> |
22 | 29 | <div class="quick-search__results" x-ref="searchResults">
|
23 | 30 | <template x-for="result in searchResults" :key="result.id">
|
24 | 31 | <article
|
@@ -55,12 +62,12 @@ class="quick-search__result-type"
|
55 | 62 | function quickSearch() {
|
56 | 63 | return {
|
57 | 64 | searchText: '',
|
58 |
| - searchResults: [], |
| 65 | + searchResults: null, |
59 | 66 | searchPerformed: false,
|
60 | 67 | performSearch() {
|
61 | 68 | this.searchPerformed = true;
|
62 | 69 | if (this.searchText.length === 0) {
|
63 |
| - this.searchResults = []; |
| 70 | + this.searchResults = null; |
64 | 71 | return;
|
65 | 72 | }
|
66 | 73 |
|
|
0 commit comments