Skip to content
This repository was archived by the owner on Mar 4, 2025. It is now read-only.

Commit b96de43

Browse files
author
vikasrohit
committed
Merge pull request #720 from appirio-tech/feature/sup-2839-invite-only-challenge-card
Feature/sup 2839 invite only challenge card @nlitwin @vic-appirio @parthshah merging to show it in working on dev environment. cc: @fnisen
2 parents b31b0ec + 9e828be commit b96de43

File tree

7 files changed

+108
-12
lines changed

7 files changed

+108
-12
lines changed

app/directives/challenge-tile/challenge-tile.jade

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343

4444
p.date-completed {{challenge.submissionEndDate | date : 'MMMM yyyy'}}
4545

46-
.winner-ribbon(ng-show="challenge.wonFirst")
46+
.winner-ribbon(ng-show="challenge.wonFirst && !challenge.isPrivate")
4747

4848
.challenge-card__bottom.challenge-card__bottom--completed
4949
.challenge-details(ng-switch-when="DATA_SCIENCE", ng-switch="challenge.subTrack", ng-class="challenge.track")
@@ -55,10 +55,16 @@
5555
p Total Points
5656

5757
.challenge-details(ng-switch-when="DEVELOP")
58-
dev-challenge-user-place(challenge="challenge", view="view")
58+
dev-challenge-user-place(challenge="challenge", view="view", ng-hide="challenge.isPrivate")
59+
.invite-only-banner(ng-show="challenge.isPrivate")
60+
img(src=require("../../../assets/images/ico-invite-only-prj.svg"))
61+
span INVITE-ONLY CHALLENGE
5962

6063
.challenge-details(ng-switch-when="DESIGN")
61-
design-challenge-user-place(challenge="challenge", view="view")
64+
design-challenge-user-place(challenge="challenge", view="view", ng-hide="challenge.isPrivate")
65+
.invite-only-banner(ng-show="challenge.isPrivate")
66+
img(src=require("../../../assets/images/ico-invite-only-prj.svg"))
67+
span INVITE-ONLY CHALLENGE
6268

6369
// Only show if not data science track
6470
p.roles
@@ -113,7 +119,11 @@
113119
p Total Points
114120

115121
.challenge-details(ng-switch-when="DEVELOP")
116-
dev-challenge-user-place(challenge="challenge", view="view")
122+
dev-challenge-user-place(challenge="challenge", view="view", ng-hide="challenge.isPrivate")
123+
.invite-only-banner(ng-show="challenge.isPrivate")
124+
img(src=require("../../../assets/images/ico-invite-only-prj.svg"))
117125

118126
.challenge-details(ng-switch-when="DESIGN")
119-
design-challenge-user-place(challenge="challenge", view="view")
127+
design-challenge-user-place(challenge="challenge", view="view", ng-hide="challenge.isPrivate")
128+
.invite-only-banner(ng-show="challenge.isPrivate")
129+
img(src=require("../../../assets/images/ico-invite-only-prj.svg"))

app/directives/challenge-user-place/design-challenge-user-place.jade

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,18 @@
55
p.place.completed(ng-show="challenge.userStatus === 'COMPLETED'") COMPLETED
66

77
.thumbnail(ng-click="!challenge.isPrivate && imageURL && openLightbox()", ng-class="{hidden: challenge.userStatus !== 'PASSED_REVIEW'}")
8-
img(ng-show="!challenge.isPrivate", ng-src="{{imageURL || require('../../../assets/images/card-bg-no-image.svg')}}", fallback-src=require("../../../assets/images/card-bg-no-image.svg"))
9-
img(ng-show="challenge.isPrivate", src=require("../../../assets/images/card-bg-private-project.svg"))
8+
img(ng-show="challenge.submissionViewable && imageURL", ng-src="{{imageURL}}")
9+
img(ng-show="challenge.submissionViewable && !imageURL", ng-src="../../../assets/images/card-bg-no-image.svg")
10+
.private-challenge-banner(ng-show="!challenge.submissionViewable")
11+
img(src=require("../../../assets/images/ico-private-prj.svg"))
12+
span PRIVATE CHALLENGE
1013

1114
.thumbnail-gallery(ng-show="numImages", ng-click="!challenge.isPrivate && imageURL && openLightbox()")
1215
.gallery-icon
1316

14-
.num-images {{numImages}} IMAGES
17+
.num-images
18+
span(ng-show="challenge.submissionViewable") {{numImages}} IMAGES
19+
span(ng-show="!challenge.submissionViewable") No image is visible
1520

1621
.list-view(ng-show="view === 'list'")
1722
.place-date
@@ -21,14 +26,18 @@
2126
p.place.completed(ng-show="challenge.userStatus === 'COMPLETED'") COMPLETED
2227
p.date-completed {{challenge.submissionEndDate | date : 'MMMM yyyy'}}
2328

24-
.winner-ribbon(ng-show="challenge.wonFirst")
29+
.winner-ribbon(ng-show="challenge.wonFirst && !challenge.isPrivate")
2530

2631

2732
.thumbnail(ng-click="!challenge.isPrivate && imageURL && openLightbox()", ng-class="{hidden: challenge.userStatus !== 'PASSED_REVIEW'}")
28-
img(ng-show="!challenge.isPrivate", ng-src="{{imageURL || require('../../../assets/images/card-bg-no-image.svg')}}", fallback-src=require("../../../assets/images/ico-picture.svg"))
29-
img(ng-show="challenge.isPrivate", src=require("../../../assets/images/card-bg-private-project.svg"))
33+
img(ng-show="challenge.submissionViewable && imageURL", ng-src="{{imageURL}}")
34+
img(ng-show="challenge.submissionViewable && !imageURL", ng-src="../../../assets/images/card-bg-no-image.svg")
35+
.private-challenge-banner(ng-show="!challenge.submissionViewable")
36+
img(src=require("../../../assets/images/ico-private-prj.svg"))
3037

3138
.thumbnail-gallery(ng-show="numImages", ng-click="!challenge.isPrivate && imageURL && openLightbox()")
3239
.gallery-icon
3340

34-
.num-images {{numImages}} IMAGES
41+
.num-images
42+
span(ng-show="challenge.submissionViewable") {{numImages}} IMAGES
43+
span(ng-show="!challenge.submissionViewable") No image is visible

app/services/challenge.service.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,8 @@ import moment from 'moment'
231231
if (!challenge.userHasSubmitterRole) {
232232
challenge.userStatus = 'COMPLETED'
233233
}
234+
// FIXME, replace with field from response
235+
challenge.submissionViewable = !challenge.isPrivate
234236
}
235237
})
236238
}

assets/css/directives/challenge-tile.scss

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,52 @@ challenge-tile .challenge.tile-view {
5353
flex: 2;
5454
}
5555

56+
.private-challenge-banner {
57+
width: 100%;
58+
background-color: $gray-darkest;
59+
flex: 1;
60+
display: flex;
61+
flex-direction: column;
62+
justify-content: center;
63+
align-items: center;
64+
65+
img {
66+
width: auto;
67+
}
68+
69+
span {
70+
@include font-with-weight('Sofia Pro', 300);
71+
font-size: 12px;
72+
line-height: 16px;
73+
text-transform: uppercase;
74+
color: $gray-dark;
75+
margin-top: 20px;
76+
}
77+
}
78+
79+
.invite-only-banner {
80+
width: 100%;
81+
background-color: $gray-darkest;
82+
flex: 1;
83+
display: flex;
84+
flex-direction: column;
85+
justify-content: center;
86+
align-items: center;
87+
88+
img {
89+
width: auto;
90+
}
91+
92+
span {
93+
@include font-with-weight('Sofia Pro', 300);
94+
font-size: 12px;
95+
line-height: 16px;
96+
text-transform: uppercase;
97+
color: $gray-dark;
98+
margin-top: 20px;
99+
}
100+
}
101+
56102
// roles bar is common for both active and completed
57103
.roles {
58104
width: 100%;

assets/css/directives/design-challenge-user-place.scss

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ design-challenge-user-place {
3131
width: 268px;
3232
height: 200px;
3333
overflow: hidden;
34+
display: flex;
35+
flex-direction: column;
3436

3537
img {
3638
width: 100%;

assets/images/ico-invite-only-prj.svg

Lines changed: 13 additions & 0 deletions
Loading

assets/images/ico-private-prj.svg

Lines changed: 14 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)