Fix title & meta

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2019-10-10 16:47:38 +02:00
parent d2e74695f6
commit 040faf4451
12 changed files with 134 additions and 1 deletions

View File

@@ -265,6 +265,14 @@ import { RouteName } from '@/router';
query: TAGS,
},
},
metaInfo() {
return {
// if no subcomponents specify a metaInfo.title, this title will be used
title: (this.$props.isUpdate ? this.$t('Event edition') : this.$t('Event creation')) as string,
// all titles will be injected into this template
titleTemplate: '%s | Mobilizon',
};
},
})
export default class EditEvent extends Vue {
@Prop({ type: Boolean, default: false }) isUpdate!: boolean;

View File

@@ -268,6 +268,15 @@ import { RouteName } from '@/router';
},
},
},
metaInfo() {
return {
// if no subcomponents specify a metaInfo.title, this title will be used
// @ts-ignore
title: this.eventTitle,
// all titles will be injected into this template
titleTemplate: '%s | Mobilizon',
};
},
})
export default class Event extends EventMixin {
@Prop({ type: String, required: true }) uuid!: string;
@@ -282,6 +291,11 @@ export default class Event extends EventMixin {
EventVisibility = EventVisibility;
RouteName = RouteName;
get eventTitle() {
if (!this.event) return undefined;
return this.event.title;
}
mounted() {
this.identity = this.currentActor;
}

View File

@@ -46,6 +46,14 @@ import { RouteName } from '@/router';
query: FETCH_EVENTS,
},
},
metaInfo() {
return {
// if no subcomponents specify a metaInfo.title, this title will be used
title: this.$t('Explore') as string,
// all titles will be injected into this template
titleTemplate: '%s | Mobilizon',
};
},
})
export default class Explore extends Vue {
events: IEvent[] = [];

View File

@@ -111,6 +111,14 @@ import EventCard from '@/components/Event/EventCard.vue';
update: data => data.loggedUser.participations.map(participation => new Participant(participation)),
},
},
metaInfo() {
return {
// if no subcomponents specify a metaInfo.title, this title will be used
title: this.$t('My events') as string,
// all titles will be injected into this template
titleTemplate: '%s | Mobilizon',
};
},
})
export default class MyEvents extends Vue {
futurePage: number = 1;