Always show the cancelled status of an event

Closes #959

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel 2021-11-26 14:46:25 +01:00
parent 51afec1856
commit 3da846cdf9
No known key found for this signature in database
GPG Key ID: A061B9DDE0CA0773
8 changed files with 52 additions and 2 deletions

View File

@ -18,6 +18,20 @@
</div> </div>
<div class="title-info-wrapper has-text-grey-dark"> <div class="title-info-wrapper has-text-grey-dark">
<h3 class="event-minimalist-title" :lang="event.language" dir="auto"> <h3 class="event-minimalist-title" :lang="event.language" dir="auto">
<b-tag
type="is-info"
class="mr-1"
v-if="event.status === EventStatus.TENTATIVE"
>
{{ $t("Tentative") }}
</b-tag>
<b-tag
type="is-danger"
class="mr-1"
v-if="event.status === EventStatus.CANCELLED"
>
{{ $t("Cancelled") }}
</b-tag>
<b-tag <b-tag
class="mr-2" class="mr-2"
type="is-warning" type="is-warning"
@ -105,7 +119,7 @@
import { Component, Prop, Vue } from "vue-property-decorator"; import { Component, Prop, Vue } from "vue-property-decorator";
import { IEvent, organizer, organizerDisplayName } from "@/types/event.model"; import { IEvent, organizer, organizerDisplayName } from "@/types/event.model";
import DateCalendarIcon from "@/components/Event/DateCalendarIcon.vue"; import DateCalendarIcon from "@/components/Event/DateCalendarIcon.vue";
import { ParticipantRole } from "@/types/enums"; import { EventStatus, ParticipantRole } from "@/types/enums";
import RouteName from "../../router/name"; import RouteName from "../../router/name";
import LazyImageWrapper from "@/components/Image/LazyImageWrapper.vue"; import LazyImageWrapper from "@/components/Image/LazyImageWrapper.vue";
import InlineAddress from "@/components/Address/InlineAddress.vue"; import InlineAddress from "@/components/Address/InlineAddress.vue";
@ -129,6 +143,8 @@ export default class EventMinimalistCard extends Vue {
organizerDisplayName = organizerDisplayName; organizerDisplayName = organizerDisplayName;
organizer = organizer; organizer = organizer;
EventStatus = EventStatus;
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

View File

@ -45,6 +45,22 @@
</div> </div>
<div class="list-card-content"> <div class="list-card-content">
<div class="title-wrapper" dir="auto"> <div class="title-wrapper" dir="auto">
<b-tag
type="is-info"
class="mr-1 mb-1"
size="is-medium"
v-if="participation.event.status === EventStatus.TENTATIVE"
>
{{ $t("Tentative") }}
</b-tag>
<b-tag
type="is-danger"
class="mr-1 mb-1"
size="is-medium"
v-if="participation.event.status === EventStatus.CANCELLED"
>
{{ $t("Cancelled") }}
</b-tag>
<router-link <router-link
:to="{ :to="{
name: RouteName.EVENT, name: RouteName.EVENT,
@ -257,7 +273,7 @@ import { Component, Prop } from "vue-property-decorator";
import DateCalendarIcon from "@/components/Event/DateCalendarIcon.vue"; import DateCalendarIcon from "@/components/Event/DateCalendarIcon.vue";
import { mixins } from "vue-class-component"; import { mixins } from "vue-class-component";
import { RawLocation, Route } from "vue-router"; import { RawLocation, Route } from "vue-router";
import { EventVisibility, ParticipantRole } from "@/types/enums"; import { EventStatus, EventVisibility, ParticipantRole } from "@/types/enums";
import { IParticipant } from "../../types/participant.model"; import { IParticipant } from "../../types/participant.model";
import { import {
IEventCardOptions, IEventCardOptions,
@ -326,6 +342,8 @@ export default class EventParticipationCard extends mixins(
RouteName = RouteName; RouteName = RouteName;
EventStatus = EventStatus;
get mergedOptions(): IEventCardOptions { get mergedOptions(): IEventCardOptions {
return { ...defaultOptions, ...this.options }; return { ...defaultOptions, ...this.options };
} }

View File

@ -41,6 +41,7 @@ export const FETCH_PERSON = gql`
uuid uuid
title title
beginsOn beginsOn
status
} }
} }
} }
@ -84,6 +85,7 @@ export const GET_PERSON = gql`
uuid uuid
title title
beginsOn beginsOn
status
} }
} }
participations(page: $participationPage, limit: $participationLimit) { participations(page: $participationPage, limit: $participationLimit) {
@ -95,6 +97,7 @@ export const GET_PERSON = gql`
uuid uuid
title title
beginsOn beginsOn
status
} }
} }
} }
@ -213,6 +216,7 @@ export const LOGGED_USER_DRAFTS = gql`
alt alt
} }
beginsOn beginsOn
status
visibility visibility
attributedTo { attributedTo {
...ActorFragment ...ActorFragment

View File

@ -61,6 +61,7 @@ const FULL_EVENT_FRAGMENT = gql`
uuid uuid
title title
beginsOn beginsOn
status
language language
picture { picture {
id id
@ -438,6 +439,7 @@ export const FETCH_GROUP_EVENTS = gql`
uuid uuid
title title
beginsOn beginsOn
status
draft draft
options { options {
...EventOptions ...EventOptions

View File

@ -42,6 +42,7 @@ export const LIST_GROUPS = gql`
id id
uuid uuid
title title
status
beginsOn beginsOn
} }
total total
@ -104,6 +105,7 @@ export const GROUP_FIELDS_FRAGMENTS = gql`
uuid uuid
title title
beginsOn beginsOn
status
draft draft
language language
options { options {

View File

@ -36,6 +36,7 @@ export const HOME_USER_QUERIES = gql`
alt alt
} }
beginsOn beginsOn
status
visibility visibility
language language
organizerActor { organizerActor {
@ -77,6 +78,7 @@ export const HOME_USER_QUERIES = gql`
uuid uuid
title title
beginsOn beginsOn
status
picture { picture {
url url
} }
@ -127,6 +129,7 @@ export const CLOSE_CONTENT = gql`
title title
uuid uuid
beginsOn beginsOn
status
picture { picture {
id id
url url

View File

@ -32,6 +32,7 @@ export const LOGGED_USER_PARTICIPATIONS = gql`
alt alt
} }
beginsOn beginsOn
status
visibility visibility
organizerActor { organizerActor {
...ActorFragment ...ActorFragment
@ -98,6 +99,7 @@ export const LOGGED_USER_UPCOMING_EVENTS = gql`
alt alt
} }
beginsOn beginsOn
status
visibility visibility
organizerActor { organizerActor {
...ActorFragment ...ActorFragment
@ -144,6 +146,7 @@ export const LOGGED_USER_UPCOMING_EVENTS = gql`
uuid uuid
title title
beginsOn beginsOn
status
picture { picture {
url url
} }

View File

@ -38,6 +38,7 @@ export const SEARCH_EVENTS_AND_GROUPS = gql`
id id
url url
} }
status
tags { tags {
...TagFragment ...TagFragment
} }
@ -108,6 +109,7 @@ export const INTERACT = gql`
title title
uuid uuid
beginsOn beginsOn
status
picture { picture {
id id
url url