PronounsPage/components/CalendarBanner.vue
2024-05-20 12:53:15 +02:00

44 lines
1.3 KiB
Vue

<template>
<section
v-if="$config.calendar && $config.calendar.enabled && events !== undefined"
class="alert alert-light border"
>
<div class="d-flex flex-column-reverse flex-md-row justify-content-between">
<p class="h3">
<Icon v="calendar-star" />
<T>calendar.banner</T><T>quotation.colon</T>
</p>
<p class="small">
<DateWords :day="day" inline />
</p>
</div>
<ul class="list-unstyled my-3 ms-3">
<li v-for="event in events" class="mb-2">
<CalendarEvent :key="event.name" :event="event" />
</li>
</ul>
<nuxt-link v-if="link" :to="`/${$config.calendar.route}`" class="small">
<Icon v="angle-right" />
<T>calendar.headerLong</T>
</nuxt-link>
</section>
</template>
<script lang="ts">
import Vue from 'vue';
import { calendar } from '../src/calendar/calendar.ts';
import { Day } from '../src/calendar/helpers.ts';
export default Vue.extend({
props: {
day: { default: () => Day.today(), type: Day },
link: { type: Boolean },
},
data() {
return {
events: calendar.getCurrentYear()!.eventsByDate[this.day.toString()],
};
},
});
</script>