stadtratmonitor-vue/src/App.vue

61 lines
1.4 KiB
Vue
Raw Normal View History

2023-06-07 17:31:37 +02:00
<script lang="ts">
import MainMenu from './components/MainMenu.vue'
import Search from './components/Search.vue'
2023-06-14 22:51:55 +02:00
import Filter from './components/Filter.vue'
2023-06-14 18:12:42 +02:00
import Papers from './components/Papers.vue'
import FooterMenu from './components/FooterMenu.vue'
2023-06-07 17:31:37 +02:00
export default {
components: {
MainMenu,
2023-06-07 22:12:45 +02:00
Search,
2023-06-14 22:51:55 +02:00
Filter,
2023-06-14 18:12:42 +02:00
Papers,
FooterMenu,
2023-06-07 22:12:45 +02:00
},
data() {
return {
applicationName: this.applicationName,
2023-06-14 18:12:42 +02:00
cityName: this.cityName,
search: {
value: '',
type: '',
},
2023-06-14 22:51:55 +02:00
papers: [],
paperFilter: {
type: '',
originator: '',
},
2023-06-07 22:12:45 +02:00
}
2023-06-07 17:31:37 +02:00
}
}
2023-06-14 22:51:55 +02:00
</script>search.value
2023-06-07 17:31:37 +02:00
<template>
2023-06-16 15:27:12 +02:00
<header class="w-screen flex flex-col place-content-center bg-background-100 dark:bg-background-900 text-text-900 dark:text-text-100">
<div class="flex flex-row place-content-center">
2023-06-14 18:12:42 +02:00
<h1 class="p-2 text-xl">{{ applicationName }} {{ cityName }}</h1>
<MainMenu />
</div>
<Search
@searchSubmit="(type) => search.type = type"
@searchQuery="(query) => search.value = query"
/>
2023-06-07 17:31:37 +02:00
</header>
2023-06-14 22:51:55 +02:00
<main class="flex flex-row max-w-5xl m-auto">
<Filter
@paperFilter="(filter) => paperFilter = filter"
:papers="papers"
/>
<Papers
@papers="(p) => papers = p"
2023-06-16 15:23:23 +02:00
:paperQuery="search"
2023-06-14 22:51:55 +02:00
:paperFilter="paperFilter"
/>
2023-06-07 17:31:37 +02:00
</main>
2023-06-14 18:12:42 +02:00
<footer>
<FooterMenu />
</footer>
2023-06-07 17:31:37 +02:00
</template>