Merge branch 'fix-terms-with-no-contact' into 'master'

Fix terms with no settings

See merge request framasoft/mobilizon!833
This commit is contained in:
Thomas Citharel 2021-03-02 09:41:02 +00:00
commit 1b899210d9
6 changed files with 17 additions and 15 deletions

View file

@ -115,7 +115,6 @@
<script lang="ts">
import { CONTACT } from "@/graphql/config";
import { Component, Prop, Vue } from "vue-property-decorator";
import InstanceContactLink from "@/components/About/InstanceContactLink.vue";
@Component({
apollo: {
@ -131,9 +130,6 @@ import InstanceContactLink from "@/components/About/InstanceContactLink.vue";
titleTemplate: "%s | Mobilizon",
};
},
components: {
InstanceContactLink,
},
})
export default class ErrorComponent extends Vue {
@Prop({ required: true, type: Error }) error!: Error;

View file

@ -955,5 +955,6 @@
"The group's physical address was changed.": "The group's physical address was changed.",
"The group's avatar was changed.": "The group's avatar was changed.",
"The group's banner was changed.": "The group's banner was changed.",
"The group's short description was changed.": "The group's short description was changed."
"The group's short description was changed.": "The group's short description was changed.",
"No information": "No information"
}

View file

@ -1049,5 +1049,6 @@
"{profile} updated the member {member}.": "{profile} a mis à jour le ou la membre {member}.",
"{title} ({count} todos)": "{title} ({count} todos)",
"{username} was invited to {group}": "{username} a été invité à {group}",
"© The OpenStreetMap Contributors": "© Les Contributeur⋅ices OpenStreetMap"
"© The OpenStreetMap Contributors": "© Les Contributeur⋅ices OpenStreetMap",
"No information": "Non renseigné"
}

View file

@ -25,7 +25,11 @@
</div>
<div class="column contact">
<h4>{{ $t("Contact") }}</h4>
<instance-contact-link :contact="config.contact" />
<instance-contact-link
v-if="config && config.contact"
:contact="config.contact"
/>
<p v-else>{{ $t("No information") }}</p>
</div>
</section>
<hr />

View file

@ -1,7 +1,7 @@
<template>
<div class="container section">
<h2 class="title">{{ $t("Privacy Policy") }}</h2>
<div class="content" v-html="config.privacy.bodyHtml" />
<div class="content" v-if="config" v-html="config.privacy.bodyHtml" />
</div>
</template>
@ -37,14 +37,14 @@ export default class Privacy extends Vue {
@Watch("config", { deep: true })
watchConfig(config: IConfig): void {
if (config.privacy.type) {
if (config?.privacy?.type) {
this.redirectToUrl();
}
}
redirectToUrl(): void {
if (this.config.privacy.type === InstancePrivacyType.URL) {
window.location.replace(this.config.privacy.url);
if (this.config?.privacy?.type === InstancePrivacyType.URL) {
window.location.replace(this.config?.privacy?.url);
}
}
}

View file

@ -1,7 +1,7 @@
<template>
<div class="container section">
<h2 class="title">{{ $t("Terms") }}</h2>
<div class="content" v-html="config.terms.bodyHtml" />
<div class="content" v-if="config" v-html="config.terms.bodyHtml" />
</div>
</template>
@ -37,14 +37,14 @@ export default class Terms extends Vue {
@Watch("config", { deep: true })
watchConfig(config: IConfig): void {
if (config.terms.type) {
if (config?.terms?.type) {
this.redirectToUrl();
}
}
redirectToUrl(): void {
if (this.config.terms.type === InstanceTermsType.URL) {
window.location.replace(this.config.terms.url);
if (this.config?.terms?.type === InstanceTermsType.URL) {
window.location.replace(this.config?.terms?.url);
}
}
}