ovdashboard/ui/src/components/calendar/EventDate.vue

53 lines
1.2 KiB
Vue
Raw Normal View History

2022-09-14 23:14:44 +00:00
<template>
2022-09-15 01:24:00 +00:00
<div class="event-date d-flex justify-center mr-1 mr-md-2">
2022-09-15 01:12:45 +00:00
<div class="d-flex flex-column align-end">
<div class="d-flex align-end">
<span class="d-flex text-h4 text-md-h3">{{ day }}</span>
<span class="d-flex text-h5 text-md-h4 blue-grey--text text--darken-1">
{{ month }}
</span>
</div>
<span
class="d-flex text-h6 text-md-h5 blue-grey--text text--lighten-1 mt-n1"
>
{{ time }}
</span>
</div>
2022-09-14 23:14:44 +00:00
</div>
</template>
<script lang="ts">
import { DateTime } from "luxon";
2023-10-26 22:28:59 +00:00
import { Component, Prop, Vue } from "vue-property-decorator";
2022-09-14 23:14:44 +00:00
@Component
export default class EventDate extends Vue {
@Prop()
private readonly date!: DateTime;
2023-10-26 22:28:59 +00:00
public get day(): string {
2022-09-14 23:14:44 +00:00
return this.date.toFormat("dd.");
}
2023-10-26 22:28:59 +00:00
public get month(): string {
2022-09-14 23:14:44 +00:00
return this.date.toFormat("MM.");
}
2022-09-15 01:12:45 +00:00
2023-10-26 22:28:59 +00:00
public get time(): string {
2022-09-15 01:12:45 +00:00
return this.date.toLocaleString(DateTime.TIME_24_SIMPLE);
}
2022-09-14 23:14:44 +00:00
}
</script>
<style lang="scss" scoped>
@import "~vuetify/src/styles/settings/_variables";
2022-09-15 01:24:00 +00:00
.event-date {
2022-09-14 23:14:44 +00:00
min-width: 95px;
@media #{map-get($display-breakpoints, "md-and-up")} {
min-width: 130px;
}
}
2023-10-26 22:28:59 +00:00
</style>