Files
gancio/components/NavSearch.vue

35 lines
1.0 KiB
Vue
Raw Normal View History

2022-11-24 01:00:30 +01:00
<template lang="pug">
#navsearch.mt-2.mt-sm-4
2022-11-24 17:28:00 +01:00
v-text-field.mx-2(outlined dense hide-details :placeholder='$t("common.search")' :append-icon='mdiMagnify' @input='search' clearable :clear-icon='mdiClose')
2022-11-24 01:00:30 +01:00
template(v-slot:prepend-inner)
Calendar(v-if='!settings.hide_calendar')
v-btn.ml-2.mt-2.gap-2(small outlined v-for='collection in collections' color='primary' :key='collection.id' :to='`/collection/${encodeURIComponent(collection.name)}`') {{collection.name}}
</template>
<script>
import { mapState } from 'vuex'
import Calendar from '@/components/Calendar'
2022-11-24 17:28:00 +01:00
import { mdiMagnify, mdiClose } from '@mdi/js'
2022-11-24 01:00:30 +01:00
export default {
data: () => ({
2022-11-24 17:28:00 +01:00
mdiMagnify, mdiClose,
2022-11-24 01:00:30 +01:00
collections: []
}),
async fetch () {
this.collections = await this.$axios.$get('collections').catch(_e => [])
},
components: { Calendar },
2022-11-24 17:28:00 +01:00
computed: mapState(['settings']),
methods: {
search (ev) {
this.$root.$emit('search', ev)
}
}
2022-11-24 01:00:30 +01:00
}
</script>
<style>
#navsearch {
margin: 0 auto;
max-width: 800px;
}
</style>