feat(navbar): show search input only on search results page

This commit is contained in:
2026-05-29 15:55:38 +02:00
parent 325551d253
commit 98c954e361
+25
View File
@@ -15,9 +15,25 @@ limitations under the License.
-->
<script setup>
import { ref, watch } from 'vue';
import { useRoute } from 'vue-router';
import ColorSchemeButton from '@/features/colorScheme/components/ColorSchemeButton.vue';
import LanguageSwitchButton from '@/features/i18n/components/LanguageSwitchButton.vue';
import logo from '@/assets/images/logo.svg';
import Searchbar from '@/features/nav/components/Searchbar-SearchResults.vue';
const route = useRoute();
const searchQueryModel = ref(route.name === 'searchResults' ? route.query.q || '' : '');
watch(() => route.name, name => {
searchQueryModel.value = name === 'searchResults' ? route.query.q || '' : '';
});
watch(() => route.query.q, q => {
if (route.name === 'searchResults') {
searchQueryModel.value = q || '';
}
});
</script>
<template>
@@ -25,6 +41,12 @@ import logo from '@/assets/images/logo.svg';
<RouterLink to="/" class="link button link">
<img :src="logo" alt="Seekra" class="nav-logo" />
</RouterLink>
<Searchbar
v-if="route.name === 'searchResults'"
class="search-bar"
v-model="searchQueryModel"
auto-submit
/>
<ul class="right-links">
<li>
<LanguageSwitchButton />
@@ -66,4 +88,7 @@ import logo from '@/assets/images/logo.svg';
height: 24px;
width: auto;
}
.search-bar {
width: 70%;
}
</style>