18 Commits

Author SHA1 Message Date
jakob.scheid 7bf44ca720 feat(language-switch-in-footer): show the dropdown menu above instead of below the button 2026-06-01 18:50:14 +02:00
jakob.scheid 53c7cb1c79 feat(language-switch-in-footer): use CSS variable for the language switch button vertical padding 2026-06-01 18:50:14 +02:00
jakob.scheid 368747f323 feat(language-switch-in-footer): add footer segment flexbox gap 2026-06-01 18:50:14 +02:00
jakob.scheid a46a4da005 feat(language-switch-in-footer): make footer segment class flexbox 2026-06-01 18:50:14 +02:00
jakob.scheid 5e15c01ed6 feat(language-switch-in-footer): add language switch button component to the footer 2026-06-01 18:50:14 +02:00
jakob.scheid c64539539d feat(language-switch-in-footer): remove language switch button component from the navbar 2026-06-01 18:50:14 +02:00
jakob.scheid fea440edaa Merge pull request 'Show search bar below the navbar on the search results view on small screens' (#99) from feature/place-search-bar-below-navbar into main
Deploy on dev / Deploy on dev (push) Successful in 35s
Reviewed-on: #99
Reviewed-by: Johannes D. Vos
2026-06-01 18:49:58 +02:00
jakob.scheid 47744e7be6 feat(place-search-bar-below-navbar): add horizontal padding to the search bar wrapper in the navbar (on large screens) 2026-06-01 17:49:27 +02:00
jakob.scheid 6a31373b7d feat(place-search-bar-below-navbar): set width of the search bar wrapper in the navbar (on large screens) 2026-06-01 17:48:50 +02:00
jakob.scheid a824ee57df feat(place-search-bar-below-navbar): add padding to the search bar wrapper below the navbar (on small screens) 2026-06-01 17:45:20 +02:00
jakob.scheid 9ed8790649 feat(place-search-bar-below-navbar): show search bar wrapper component below the navbar on small screens 2026-06-01 17:44:06 +02:00
jakob.scheid dd678fb393 set search form width to 100% 2026-06-01 17:39:11 +02:00
jakob.scheid 17570d400d feat(place-search-bar-below-navbar): hide navbar search bar wrapper component on small screens 2026-06-01 15:26:47 +02:00
jakob.scheid cabebfb9fe feat(place-search-bar-below-navbar): use navbar search bar wrapper component in the navbar 2026-06-01 15:23:57 +02:00
jakob.scheid 9b175e3923 feat(place-search-bar-below-navbar): add search bar model to the navbar search bar wrapper component 2026-06-01 15:23:35 +02:00
jakob.scheid 873bd74804 feat(place-search-bar-below-navbar): show search bar in the navbar search bar wrapper component only when the search results view is active 2026-06-01 15:20:30 +02:00
jakob.scheid 0df77ef6ee feat(place-search-bar-below-navbar): integrate search bar in the navbar search bar wrapper component 2026-06-01 15:17:32 +02:00
jakob.scheid 4daf550568 feat(place-search-bar-below-navbar): add empty navbar search bar wrapper component 2026-06-01 15:16:09 +02:00
3 changed files with 75 additions and 25 deletions
+27 -24
View File
@@ -15,24 +15,9 @@ limitations under the License.
--> -->
<script setup> <script setup>
import { ref, watch } from 'vue';
import { useRoute } from 'vue-router';
import ColorSchemeButton from '@/features/colorScheme/components/ColorSchemeButton.vue'; import ColorSchemeButton from '@/features/colorScheme/components/ColorSchemeButton.vue';
import logo from '@/assets/images/logo.svg'; import logo from '@/assets/images/logo.svg';
import Searchbar from '@/features/search/components/Searchbar.vue'; import NavbarSearchBarWrapper from './NavbarSearchBarWrapper.vue';
const route = useRoute();
const searchQueryModel = defineModel();
watch(() => route.name, name => {
searchQueryModel.value = name === 'searchResults' ? route.query.q || '' : '';
});
watch(() => route.query.q, q => {
if (route.name === 'searchResults') {
searchQueryModel.value = q || '';
}
});
</script> </script>
<template> <template>
@@ -40,18 +25,16 @@ watch(() => route.query.q, q => {
<RouterLink to="/" class="link button link"> <RouterLink to="/" class="link button link">
<img :src="logo" alt="Seekra" class="nav-logo" /> <img :src="logo" alt="Seekra" class="nav-logo" />
</RouterLink> </RouterLink>
<Searchbar <NavbarSearchBarWrapper class="navbar-search-bar-wrapper" />
v-if="route.name === 'searchResults'"
class="search-bar"
v-model="searchQueryModel"
auto-submit
/>
<ul class="right-links"> <ul class="right-links">
<li> <li>
<ColorSchemeButton /> <ColorSchemeButton />
</li> </li>
</ul> </ul>
</nav> </nav>
<div class="navbar-search-bar-wrapper-small-screens-wrapper">
<NavbarSearchBarWrapper class="navbar-search-bar-wrapper-small-screens" />
</div>
</template> </template>
<style scoped> <style scoped>
@@ -85,7 +68,27 @@ watch(() => route.query.q, q => {
height: 24px; height: 24px;
width: auto; width: auto;
} }
.search-bar {
width: 70%; .navbar-search-bar-wrapper {
width: 100%;
padding: 0 30px;
}
.navbar-search-bar-wrapper-small-screens-wrapper {
padding: 0 15px 15px;
}
.navbar-search-bar-wrapper-small-screens {
display: none;
}
@media (max-width: 48rem) {
.navbar-search-bar-wrapper {
display: none;
}
.navbar-search-bar-wrapper-small-screens {
display: block;
}
} }
</style> </style>
@@ -0,0 +1,43 @@
<!--
Copyright 2026 Seekra
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script setup>
import Searchbar from '@/features/search/components/Searchbar.vue';
import { watch } from 'vue';
import { useRoute } from 'vue-router';
const route = useRoute();
const searchQueryModel = defineModel();
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>
<Searchbar
v-if="route.name === 'searchResults'"
v-model="searchQueryModel"
auto-submit
/>
</template>
+5 -1
View File
@@ -39,7 +39,7 @@ const submitSearch = function () {
<template> <template>
<div> <div>
<form @submit.prevent="submitSearch"> <form @submit.prevent="submitSearch" class="search-form">
<div class="search-wrapper"> <div class="search-wrapper">
<input <input
v-model="searchQuery" v-model="searchQuery"
@@ -108,4 +108,8 @@ const submitSearch = function () {
.search-button:hover { .search-button:hover {
background: var(--primary-color-l-1); background: var(--primary-color-l-1);
} }
.search-form {
width: 100%;
}
</style> </style>