From eaa00598d0c70b80d00c4474390fe48115e1efee Mon Sep 17 00:00:00 2001 From: Marvin Rabe Date: Tue, 1 May 2018 19:47:04 +0200 Subject: [PATCH] Improvements to Challenge Layout (#9619) --- .../components/challenges/challengeDetail.vue | 13 +- .../components/challenges/challengeItem.vue | 389 +++++++++++------- .../components/challenges/groupChallenges.vue | 76 +--- website/client/components/groupLink.vue | 22 + website/client/components/groups/group.vue | 6 +- website/common/locales/en/challenge.json | 3 +- 6 files changed, 286 insertions(+), 223 deletions(-) create mode 100644 website/client/components/groupLink.vue diff --git a/website/client/components/challenges/challengeDetail.vue b/website/client/components/challenges/challengeDetail.vue index 6152740022..ae7e88a1a8 100644 --- a/website/client/components/challenges/challengeDetail.vue +++ b/website/client/components/challenges/challengeDetail.vue @@ -9,8 +9,12 @@ .col-12.col-md-6 h1(v-markdown='challenge.name') div - strong.float-left(v-once) {{ $t('createdBy') }}: - user-link.mx-1.float-left(:user="challenge.leader") + span.mr-1.ml-0 + strong(v-once) {{ $t('createdBy') }}: + user-link.mx-1(:user="challenge.leader") + span.mr-1.ml-0(v-if="challenge.group") + strong(v-once) {{ $t(challenge.group.type) }}: + group-link.mx-1(:group="challenge.group") // @TODO: make challenge.author a variable inside the createdBy string (helps with RTL languages) // @TODO: Implement in V2 strong.margin-left(v-once) .svg-icon.calendar-icon(v-html="icons.calendarIcon") @@ -152,7 +156,8 @@ } .challenge-actions { - margin-bottom: 1em; + margin-top: 1em; + margin-bottom: 2em; .view-progress { margin-right: .5em; @@ -181,6 +186,7 @@ import challengeMemberSearchMixin from 'client/mixins/challengeMemberSearch'; import leaveChallengeModal from './leaveChallengeModal'; import sidebarSection from '../sidebarSection'; import userLink from '../userLink'; +import groupLink from '../groupLink'; import taskDefaults from 'common/script/libs/taskDefaults'; import gemIcon from 'assets/svg/gem.svg'; @@ -203,6 +209,7 @@ export default { TaskColumn: Column, TaskModal, userLink, + groupLink, }, data () { return { diff --git a/website/client/components/challenges/challengeItem.vue b/website/client/components/challenges/challengeItem.vue index 2b0c12c4c8..bd1407cd4b 100644 --- a/website/client/components/challenges/challengeItem.vue +++ b/website/client/components/challenges/challengeItem.vue @@ -1,187 +1,288 @@ + + diff --git a/website/client/components/challenges/groupChallenges.vue b/website/client/components/challenges/groupChallenges.vue index 79af7de8be..1415b921a9 100644 --- a/website/client/components/challenges/groupChallenges.vue +++ b/website/client/components/challenges/groupChallenges.vue @@ -8,21 +8,7 @@ div p(v-once) {{ $t('challengeDetails') }} button.btn.btn-secondary(@click='createChallenge()') {{ $t('createChallenge') }} template(v-else) - router-link.title(:to="{ name: 'challenge', params: { challengeId: challenge._id } }", v-for='challenge in challenges',:key='challenge._id') - .col-12.challenge-item - .row - .col-9 - router-link.title(:to="{ name: 'challenge', params: { challengeId: challenge._id } }") - strong(v-markdown='challenge.name') - p(v-markdown='challenge.summary || challenge.name') - div - .svg-icon.member-icon(v-html="icons.memberIcon") - .member-count {{challenge.memberCount}} - .col-3 - div - span.svg-icon.gem(v-html="icons.gemIcon") - span.prize {{challenge.prize}} - div.prize-title Prize + challenge-item(v-for='challenge in challenges',:challenge='challenge',:key='challenge._id',:fullLayout='false') .col-12.text-center button.btn.btn-secondary(@click='createChallenge()') {{ $t('createChallenge') }} @@ -51,73 +37,19 @@ div } - - \ No newline at end of file diff --git a/website/client/components/groups/group.vue b/website/client/components/groups/group.vue index 4d128948e2..63b5a1d82f 100644 --- a/website/client/components/groups/group.vue +++ b/website/client/components/groups/group.vue @@ -9,8 +9,10 @@ .row .col-12.col-md-6.title-details h1 {{group.name}} - strong.float-left(v-once) {{$t('groupLeader')}}: - user-link.mx-1.float-left(:user="group.leader") + div + span.mr-1.ml-0 + strong(v-once) {{$t('groupLeader')}}: + user-link.mx-1(:user="group.leader") .col-12.col-md-6 .row.icon-row .col-4.offset-4(v-bind:class="{ 'offset-8': isParty }") diff --git a/website/common/locales/en/challenge.json b/website/common/locales/en/challenge.json index a5ca557e4a..ee425c1efc 100644 --- a/website/common/locales/en/challenge.json +++ b/website/common/locales/en/challenge.json @@ -13,7 +13,8 @@ "challengeWinner": "Was the winner in the following challenges", "challenges": "Challenges", "challengesLink": "Challenges", - + "challengePrize": "Challenge Prize", + "endDate": "Ends", "noChallenges": "No challenges yet, visit", "toCreate": "to create one.",