Skip to content

Commit 9884ccf

Browse files
authored
Merge pull request #2731 from codecrafters-io/andy/feat
Removed `canSeeLanguageGuideBeforeSolution` flag
2 parents 51d1549 + 561b074 commit 9884ccf

File tree

3 files changed

+53
-122
lines changed

3 files changed

+53
-122
lines changed

app/components/course-page/course-stage-step/second-stage-tutorial-card/implement-solution-step.hbs

+53-114
Original file line numberDiff line numberDiff line change
@@ -11,123 +11,62 @@
1111
{{/unless}}
1212
</div>
1313

14-
{{#if this.canSeeLanguageGuideBeforeSolution}}
15-
{{#if @languageGuide}}
16-
<div
17-
class="prose dark:prose-invert has-prism-highlighting mt-4"
18-
{{highlight-code-blocks @languageGuide.markdownForBeginner}}
19-
data-test-language-guide-card
20-
>
21-
{{markdown-to-html @languageGuide.markdownForBeginner}}
22-
</div>
23-
{{/if}}
14+
{{#if @languageGuide}}
15+
<div
16+
class="prose dark:prose-invert has-prism-highlighting mt-4"
17+
{{highlight-code-blocks @languageGuide.markdownForBeginner}}
18+
data-test-language-guide-card
19+
>
20+
{{markdown-to-html @languageGuide.markdownForBeginner}}
21+
</div>
22+
{{/if}}
2423

25-
{{#if this.solution}}
26-
<BlurredOverlay
27-
class="mb-3 group"
28-
@isBlurred={{this.solutionIsBlurred}}
29-
@overlayClass="inset-px rounded cursor-pointer group-hover:backdrop-blur-[3px] group-hover:bg-gray-50/20 dark:bg-gray-900/20 dark:group-hover:bg-gray-900/0"
30-
>
31-
<:content>
32-
<div class="grid gap-3 mt-6 mb-3">
24+
{{#if this.solution}}
25+
<BlurredOverlay
26+
class="mb-3 group"
27+
@isBlurred={{this.solutionIsBlurred}}
28+
@overlayClass="inset-px rounded cursor-pointer group-hover:backdrop-blur-[3px] group-hover:bg-gray-50/20 dark:bg-gray-900/20 dark:group-hover:bg-gray-900/0"
29+
>
30+
<:content>
31+
<div class="grid gap-3 mt-6 mb-3">
3332

34-
{{#each this.solution.changedFiles as |changedFile|}}
35-
{{! Extra if condition convinces typescript that solution isn't null }}
36-
{{#if this.solution}}
37-
<FileDiffCard
38-
@filename={{changedFile.filename}}
39-
@code={{changedFile.diff}}
40-
@language={{this.solution.language.slug}}
41-
data-test-file-diff-card
42-
/>
43-
{{/if}}
44-
{{/each}}
45-
</div>
46-
47-
{{#unless this.solutionIsBlurred}}
48-
<TertiaryButton
49-
class="w-full mb-6 flex justify-center items-center gap-2 dark:bg-transparent dark:text-gray-200 dark:border-white/5 dark:hover:border-gray-700/60 dark:bg-gray-800 dark:hover:bg-gray-700/50"
50-
{{on "click" this.handleHideSolutionButtonClick}}
51-
data-test-hide-solution-button
52-
>
53-
{{svg-jar "eye-off" class="size-4"}}
54-
Hide Solution
55-
</TertiaryButton>
56-
{{/unless}}
57-
</:content>
58-
59-
<:overlay>
60-
<SecondaryButton
61-
class="self-center bg-white group-hover:bg-teal-50 dark:bg-gray-900 dark:group-hover:bg-gray-900/80 backdrop-blur-3xl group-hover:text-teal-600 dark:group-hover:text-teal-400 group-hover:border-teal-600 dark:group-hover:border-teal-400"
62-
data-test-reveal-solution-button
63-
>
64-
<div class="flex items-center gap-2">
65-
{{svg-jar "eye" class="size-6"}}
66-
<span>Click to reveal solution</span>
67-
</div>
68-
</SecondaryButton>
69-
<button class="absolute inset-0" type="button" {{on "click" this.handleRevealSolutionButtonClick}} data-test-solution-blurred-overlay>
70-
</button>
71-
</:overlay>
72-
</BlurredOverlay>
73-
{{/if}}
74-
{{else}}
75-
{{#if this.solution}}
76-
<BlurredOverlay
77-
class="mb-3 group"
78-
@isBlurred={{this.solutionIsBlurred}}
79-
@overlayClass="inset-px rounded cursor-pointer group-hover:backdrop-blur-[3px] group-hover:bg-gray-50/20 dark:bg-gray-900/20 dark:group-hover:bg-gray-900/0"
80-
>
81-
<:content>
82-
<div class="grid gap-3 mb-3">
83-
{{#each this.solution.changedFiles as |changedFile|}}
84-
{{! Extra if condition convinces typescript that solution isn't null }}
85-
{{#if this.solution}}
86-
<FileDiffCard
87-
@filename={{changedFile.filename}}
88-
@code={{changedFile.diff}}
89-
@language={{this.solution.language.slug}}
90-
data-test-file-diff-card
91-
/>
92-
{{/if}}
93-
{{/each}}
94-
</div>
95-
96-
{{#unless this.solutionIsBlurred}}
97-
<TertiaryButton
98-
class="w-full mb-6 flex justify-center items-center gap-2 dark:bg-transparent dark:text-gray-200 dark:border-white/5 dark:hover:border-gray-700/60 dark:bg-gray-800 dark:hover:bg-gray-700/50"
99-
{{on "click" this.handleHideSolutionButtonClick}}
100-
data-test-hide-solution-button
101-
>
102-
{{svg-jar "eye-off" class="size-4"}}
103-
Hide Solution
104-
</TertiaryButton>
105-
106-
{{#if @languageGuide}}
107-
<div
108-
class="prose dark:prose-invert has-prism-highlighting"
109-
{{highlight-code-blocks @languageGuide.markdownForBeginner}}
110-
data-test-language-guide-card
111-
>
112-
{{markdown-to-html @languageGuide.markdownForBeginner}}
113-
</div>
33+
{{#each this.solution.changedFiles as |changedFile|}}
34+
{{! Extra if condition convinces typescript that solution isn't null }}
35+
{{#if this.solution}}
36+
<FileDiffCard
37+
@filename={{changedFile.filename}}
38+
@code={{changedFile.diff}}
39+
@language={{this.solution.language.slug}}
40+
data-test-file-diff-card
41+
/>
11442
{{/if}}
115-
{{/unless}}
116-
</:content>
43+
{{/each}}
44+
</div>
11745

118-
<:overlay>
119-
<SecondaryButton
120-
class="self-center bg-white group-hover:bg-teal-50 dark:bg-gray-900 dark:group-hover:bg-gray-900/80 backdrop-blur-3xl group-hover:text-teal-600 dark:group-hover:text-teal-400 group-hover:border-teal-600 dark:group-hover:border-teal-400"
121-
data-test-reveal-solution-button
46+
{{#unless this.solutionIsBlurred}}
47+
<TertiaryButton
48+
class="w-full mb-6 flex justify-center items-center gap-2 dark:bg-transparent dark:text-gray-200 dark:border-white/5 dark:hover:border-gray-700/60 dark:bg-gray-800 dark:hover:bg-gray-700/50"
49+
{{on "click" this.handleHideSolutionButtonClick}}
50+
data-test-hide-solution-button
12251
>
123-
<div class="flex items-center gap-2">
124-
{{svg-jar "eye" class="size-6"}}
125-
<span>Click to reveal solution</span>
126-
</div>
127-
</SecondaryButton>
128-
<button class="absolute inset-0" type="button" {{on "click" this.handleRevealSolutionButtonClick}} data-test-solution-blurred-overlay>
129-
</button>
130-
</:overlay>
131-
</BlurredOverlay>
132-
{{/if}}
52+
{{svg-jar "eye-off" class="size-4"}}
53+
Hide Solution
54+
</TertiaryButton>
55+
{{/unless}}
56+
</:content>
57+
58+
<:overlay>
59+
<SecondaryButton
60+
class="self-center bg-white group-hover:bg-teal-50 dark:bg-gray-900 dark:group-hover:bg-gray-900/80 backdrop-blur-3xl group-hover:text-teal-600 dark:group-hover:text-teal-400 group-hover:border-teal-600 dark:group-hover:border-teal-400"
61+
data-test-reveal-solution-button
62+
>
63+
<div class="flex items-center gap-2">
64+
{{svg-jar "eye" class="size-6"}}
65+
<span>Click to reveal solution</span>
66+
</div>
67+
</SecondaryButton>
68+
<button class="absolute inset-0" type="button" {{on "click" this.handleRevealSolutionButtonClick}} data-test-solution-blurred-overlay>
69+
</button>
70+
</:overlay>
71+
</BlurredOverlay>
13372
{{/if}}

app/components/course-page/course-stage-step/second-stage-tutorial-card/implement-solution-step.ts

-4
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,6 @@ export default class ImplementSolutionStepComponent extends Component<Signature>
2222
@service declare featureFlags: FeatureFlagsService;
2323
@tracked solutionIsBlurred = true;
2424

25-
get canSeeLanguageGuideBeforeSolution() {
26-
return this.featureFlags.canSeeLanguageGuideBeforeSolutionForStage2;
27-
}
28-
2925
get solution() {
3026
return this.args.repository.secondStageSolution;
3127
}

app/services/feature-flags.ts

-4
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,6 @@ export default class FeatureFlagsService extends Service {
1818
return Boolean(this.currentUser && (this.currentUser.isStaff || this.currentUser.isConceptAuthor));
1919
}
2020

21-
get canSeeLanguageGuideBeforeSolutionForStage2(): boolean {
22-
return Boolean(this.currentUser?.isStaff || this.getFeatureFlagValue('can-see-language-guide-before-solution-for-stage-2') === 'test');
23-
}
24-
2521
get canSeeStage2CompletionDiscount(): boolean {
2622
return Boolean(this.currentUser?.isStaff || this.getFeatureFlagValue('can-see-stage2-completion-discount') === 'test');
2723
}

0 commit comments

Comments
 (0)