From 3b0e891bd774f363e37ad5a7ed3535e01b90fa13 Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Sun, 11 Jun 2023 13:09:52 +0200 Subject: [PATCH] Move chip for event status to own component --- .../calendar/BaseCalendarFeedDetails.vue | 13 ++++------ .../calendar/CalendarStatusChip.vue | 24 +++++++++++++++++++ .../calendar/CancelledCalendarStatusChip.vue | 14 +++++++++++ 3 files changed, 42 insertions(+), 9 deletions(-) create mode 100644 aleksis/core/frontend/components/calendar/CalendarStatusChip.vue create mode 100644 aleksis/core/frontend/components/calendar/CancelledCalendarStatusChip.vue diff --git a/aleksis/core/frontend/components/calendar/BaseCalendarFeedDetails.vue b/aleksis/core/frontend/components/calendar/BaseCalendarFeedDetails.vue index 1d0fdd7ad..a9dc64fdb 100644 --- a/aleksis/core/frontend/components/calendar/BaseCalendarFeedDetails.vue +++ b/aleksis/core/frontend/components/calendar/BaseCalendarFeedDetails.vue @@ -14,16 +14,9 @@ </v-toolbar-title> <v-spacer></v-spacer> <slot name="badge" :selected-event="selectedEvent"> - <v-chip + <cancelled-calendar-status-chip v-if="selectedEvent.status === 'CANCELLED' && !withoutBadge" - color="error" - label - > - <v-avatar left> - <v-icon>mdi-cancel</v-icon> - </v-avatar> - {{ $t("calendar.cancelled") }} - </v-chip> + /> </slot> </v-toolbar> <slot name="time" :selected-event="selectedEvent"> @@ -64,9 +57,11 @@ <script> import calendarFeedDetailsMixin from "../../mixins/calendarFeedDetails.js"; +import CancelledCalendarStatusChip from "./CancelledCalendarStatusChip.vue"; export default { name: "BaseCalendarFeedDetails", + components: { CancelledCalendarStatusChip }, mixins: [calendarFeedDetailsMixin], }; </script> diff --git a/aleksis/core/frontend/components/calendar/CalendarStatusChip.vue b/aleksis/core/frontend/components/calendar/CalendarStatusChip.vue new file mode 100644 index 000000000..679749135 --- /dev/null +++ b/aleksis/core/frontend/components/calendar/CalendarStatusChip.vue @@ -0,0 +1,24 @@ +<script> +export default { + name: "CalendarStatusChip", + props: { + color: { + type: String, + required: true, + }, + icon: { + type: String, + required: true, + }, + }, +}; +</script> + +<template> + <v-chip :color="color" label> + <v-avatar left> + <v-icon>{{ icon }}</v-icon> + </v-avatar> + <slot></slot> + </v-chip> +</template> diff --git a/aleksis/core/frontend/components/calendar/CancelledCalendarStatusChip.vue b/aleksis/core/frontend/components/calendar/CancelledCalendarStatusChip.vue new file mode 100644 index 000000000..00b816943 --- /dev/null +++ b/aleksis/core/frontend/components/calendar/CancelledCalendarStatusChip.vue @@ -0,0 +1,14 @@ +<script> +import CalendarStatusChip from "./CalendarStatusChip.vue"; + +export default { + name: "CancelledCalendarStatusChip", + components: { CalendarStatusChip }, +}; +</script> + +<template> + <calendar-status-chip icon="mdi-cancel" color="error"> + {{ $t("calendar.cancelled") }} + </calendar-status-chip> +</template> -- GitLab