11
11
{{ /unless }}
12
12
</div >
13
13
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 }}
24
23
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" >
33
32
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
+ />
114
42
{{ /if }}
115
- {{ /unless }}
116
- </:content >
43
+ {{ /each }}
44
+ </div >
117
45
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
122
51
>
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 >
133
72
{{ /if }}
0 commit comments