Locked dark mode to paid accounts only

This commit is contained in:
Stefan Zermatten
2021-07-13 12:39:56 +02:00
parent a0b53af6d7
commit 3fa2cca7ae
2 changed files with 8 additions and 2 deletions

View File

@@ -72,6 +72,7 @@
import DialogStack from '/imports/ui/dialogStack/DialogStack.vue';
import { mapMutations } from 'vuex';
import SnackbarQueue from '/imports/ui/components/snackbars/SnackbarQueue.vue';
import { getUserTier } from '/imports/api/users/patreon/tiers.js';
export default {
components: {
@@ -96,7 +97,9 @@
meteor: {
darkMode(){
let user = Meteor.user();
return user && user.darkMode;
if (!user) return;
let tier = getUserTier(user);
return tier.paidBenefits && user.darkMode;
},
},
watch: {

View File

@@ -15,6 +15,8 @@
<smart-switch
:value="darkMode"
label="Dark mode"
:disabled="!tier.paidBenefits"
:error-messages="tier.paidBenefits ? undefined : 'Patreon reward'"
@change="setDarkMode"
/>
</v-list-item>
@@ -188,7 +190,7 @@
return user && user.emails;
},
darkMode(){
return this.user && this.user.darkMode;
return this.user && this.tier.paidBenefits && this.user.darkMode;
},
invites(){
let usernames = {};
@@ -220,6 +222,7 @@
return getEntitledCents(this.user);
},
tier(){
if (!this.user) return {};
return getUserTier(this.user);
},
},