mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 15:48:04 +01:00
Joined and Owned Challenges should still appear in Discover, but annotated with status (#9956)
This commit is contained in:
@@ -15,7 +15,7 @@
|
|||||||
background-color: $gray-600;
|
background-color: $gray-600;
|
||||||
padding: .5em;
|
padding: .5em;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-right: .5em;
|
margin: .25em;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
line-height: 1.33;
|
line-height: 1.33;
|
||||||
@@ -33,6 +33,11 @@
|
|||||||
background: $blue-50;
|
background: $blue-50;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.category-label-green {
|
||||||
|
color: white;
|
||||||
|
background: $green-50;
|
||||||
|
}
|
||||||
|
|
||||||
.category-select {
|
.category-select {
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
background-color: $white;
|
background-color: $white;
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
<template lang="pug">
|
<template lang="pug">
|
||||||
.categories
|
.categories
|
||||||
span.category-label.category-label-blue(v-if='isOwner')
|
span.category-label.category-label-blue(v-if='owner')
|
||||||
| {{ $t('owned') }}
|
| {{ $t('owned') }}
|
||||||
|
span.category-label.category-label-green(v-if='member')
|
||||||
|
| {{ $t('joined') }}
|
||||||
span.category-label(
|
span.category-label(
|
||||||
v-for='category in categories',
|
v-for='category in categories',
|
||||||
:class="{'category-label-purple':isOfficial(category)}"
|
:class="{'category-label-purple':isOfficial(category)}"
|
||||||
@@ -11,21 +13,16 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {mapState} from 'client/libs/store';
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
categories: {
|
categories: {
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
ownerId: {
|
owner: {
|
||||||
default: null,
|
default: false,
|
||||||
},
|
},
|
||||||
},
|
member: {
|
||||||
computed: {
|
default: false,
|
||||||
...mapState({user: 'user.data'}),
|
|
||||||
isOwner () {
|
|
||||||
return this.ownerId && this.ownerId === this.user._id;
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
.svg-icon(v-html="icons.calendarIcon")
|
.svg-icon(v-html="icons.calendarIcon")
|
||||||
strong.mx-1 {{ $t('endDate')}}:
|
strong.mx-1 {{ $t('endDate')}}:
|
||||||
span {{challenge.endDate}}
|
span {{challenge.endDate}}
|
||||||
category-tags.challenge-categories(:categories="challenge.categories", :owner-id="challenge.leader._id", v-once)
|
category-tags.challenge-categories(:categories="challenge.categories", :owner="isOwner", :member="isMember" v-once)
|
||||||
.challenge-description {{challenge.summary}}
|
.challenge-description {{challenge.summary}}
|
||||||
.well-wrapper(v-if="fullLayout")
|
.well-wrapper(v-if="fullLayout")
|
||||||
.well
|
.well
|
||||||
@@ -195,6 +195,7 @@
|
|||||||
import groupLink from '../groupLink';
|
import groupLink from '../groupLink';
|
||||||
import categoryTags from '../categories/categoryTags';
|
import categoryTags from '../categories/categoryTags';
|
||||||
import markdownDirective from 'client/directives/markdown';
|
import markdownDirective from 'client/directives/markdown';
|
||||||
|
import {mapState} from 'client/libs/store';
|
||||||
|
|
||||||
import gemIcon from 'assets/svg/gem.svg';
|
import gemIcon from 'assets/svg/gem.svg';
|
||||||
import memberIcon from 'assets/svg/member-icon.svg';
|
import memberIcon from 'assets/svg/member-icon.svg';
|
||||||
@@ -231,6 +232,13 @@
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
...mapState({user: 'user.data'}),
|
||||||
|
isOwner () {
|
||||||
|
return this.challenge.leader && this.challenge.leader._id === this.user._id;
|
||||||
|
},
|
||||||
|
isMember () {
|
||||||
|
return this.user.challenges.indexOf(this.challenge._id) !== -1;
|
||||||
|
},
|
||||||
tasksData () {
|
tasksData () {
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
.svg-icon.positive-icon(v-html="icons.positiveIcon")
|
.svg-icon.positive-icon(v-html="icons.positiveIcon")
|
||||||
span(v-once) {{$t('createChallenge')}}
|
span(v-once) {{$t('createChallenge')}}
|
||||||
.row
|
.row
|
||||||
.col-12.col-md-6(v-for='challenge in filteredChallenges', v-if='!memberOf(challenge)')
|
.col-12.col-md-6(v-for='challenge in filteredChallenges')
|
||||||
challenge-item(:challenge='challenge')
|
challenge-item(:challenge='challenge')
|
||||||
.row
|
.row
|
||||||
.col-12.text-center
|
.col-12.text-center
|
||||||
@@ -105,9 +105,6 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
memberOf (challenge) {
|
|
||||||
return this.user.challenges.indexOf(challenge._id) !== -1;
|
|
||||||
},
|
|
||||||
updateSearch (eventData) {
|
updateSearch (eventData) {
|
||||||
this.search = eventData.searchTerm;
|
this.search = eventData.searchTerm;
|
||||||
this.page = 0;
|
this.page = 0;
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ router-link.card-link(:to="{ name: 'guild', params: { groupId: guild._id } }")
|
|||||||
span.count {{ guild.balance * 4 }}
|
span.count {{ guild.balance * 4 }}
|
||||||
div.guild-bank(v-if='displayGemBank', v-once) {{$t('guildBank')}}
|
div.guild-bank(v-if='displayGemBank', v-once) {{$t('guildBank')}}
|
||||||
.row
|
.row
|
||||||
category-tags.col-md-12(:categories="guild.categories", :owner-id="guild.leader", v-once)
|
category-tags.col-md-12(:categories="guild.categories", :owner="isOwner", v-once)
|
||||||
span.recommend-text(v-if='showSuggested(guild._id)') Suggested because you’re new to Habitica.
|
span.recommend-text(v-if='showSuggested(guild._id)') Suggested because you’re new to Habitica.
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -146,6 +146,9 @@ export default {
|
|||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapState({user: 'user.data'}),
|
...mapState({user: 'user.data'}),
|
||||||
|
isOwner () {
|
||||||
|
return this.guild.leader && this.guild.leader === this.user._id;
|
||||||
|
},
|
||||||
isMember () {
|
isMember () {
|
||||||
return this.isMemberOfGroup(this.user, this.guild);
|
return this.isMemberOfGroup(this.user, this.guild);
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user