advent22/ui/src/App.vue

54 lines
1.1 KiB
Vue
Raw Normal View History

2022-10-28 00:14:20 +00:00
<template>
2022-10-30 01:27:46 +00:00
<div class="container">
<div class="section">
2022-12-08 23:21:52 +00:00
<h1 class="title has-text-centered is-uppercase">
Adventskalender {{ date }}
</h1>
2022-10-30 01:27:46 +00:00
<h2 class="subtitle has-text-centered">Der Gelöt</h2>
<ImageModal v-model="modal_visible" :imageUrl="image_url" />
<CalendarDoor
v-for="(_, index) in 24"
:key="index"
:day="index"
@openDoor="paula"
/>
2022-10-30 01:27:46 +00:00
</div>
</div>
2022-10-28 00:14:20 +00:00
</template>
<script lang="ts">
2022-10-28 00:28:03 +00:00
import { Options, Vue } from "vue-class-component";
2022-10-30 01:27:46 +00:00
import CalendarDoor from "./components/CalendarDoor.vue";
import ImageModal from "./components/ImageModal.vue";
2022-10-28 00:14:20 +00:00
@Options({
components: {
2022-10-30 01:27:46 +00:00
CalendarDoor,
ImageModal,
2022-10-28 00:14:20 +00:00
},
})
export default class App extends Vue {
image_url = "";
modal_visible = false;
2022-12-08 23:21:52 +00:00
date = "";
public mounted(): void {
this.$advent22.api_get_string("days/date", (date: string) => {
this.date = date;
});
}
private paula(url: string): void {
this.image_url = url;
this.modal_visible = true;
}
}
2022-10-28 00:14:20 +00:00
</script>
<style>
2022-10-30 02:35:39 +00:00
body {
min-height: 100vh;
}
2022-10-28 00:14:20 +00:00
</style>