Работает поиск по проектам

This commit is contained in:
FEARmeR 2023-05-18 11:30:15 +01:00
parent 30b64eedcc
commit cc6fa5b21a

View File

@ -57,6 +57,8 @@ export default {
data() { data() {
return { return {
projects: [], projects: [],
searchQuery: '',
searchResult: [],
}; };
}, },
async created() { async created() {
@ -67,6 +69,16 @@ export default {
console.error('There was an error fetching the projects', error); console.error('There was an error fetching the projects', error);
} }
}, },
methods: {
async search() {
try {
const response = await axios.get(`http://somebodyhire.me/api/search/projects/?search_query=${this.searchQuery}`);
this.searchResult = response.data;
} catch (error) {
console.error('There was an error performing the search', error);
}
}
},
}; };
</script> </script>
@ -100,23 +112,39 @@ export default {
Находи вдохновение, коллег и новые знания. Находи вдохновение, коллег и новые знания.
</p> </p>
</div> </div>
</div>
<div>
<!-- Тут надо будет заменить на красивую строчку -->
<input type="text" v-model="searchQuery" placeholder="Поиск по проектам и людям" />
<button type="submit" @click="search">Go</button>
<!-- Результаты поиска по проектам-->
<div v-if="searchResult.length > 0">
<h2>Найдено в проектах: {{ searchResult.length }}</h2>
<div v-for="project in searchResult" :key="project.id">
<h2>{{ project.title }}</h2>
<p>{{ project.description }}</p>
</div>
</div>
<div v-else>
<h1>No results found</h1>
</div>
</div> </div>
<div class="container"> <div class="container">
<div class="row justify-space-between py-2"> <div class="row justify-space-between py-2">
<div>
<div class="col-lg-4 mx-auto"> <div class="col-lg-4 mx-auto">
<MaterialInput
class="input-group-dynamic mb-4" </div>
icon="search"
type="text"
placeholder="Поиск по проектам или людям"
/>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</Header> </Header>
@ -130,8 +158,8 @@ export default {
<p>{{ project.description }}</p> <p>{{ project.description }}</p>
</div> </div>
</div> </div>
</div> </div>
<!-- <!--
<div class="container"> <div class="container">
<div class="row"> <div class="row">