Skip to content

Commit bb4e54d

Browse files
ToBinioTurbo87
authored andcommitted
remove HTML injection
1 parent b27aa3a commit bb4e54d

File tree

3 files changed

+58
-19
lines changed

3 files changed

+58
-19
lines changed

app/components/version-list/row.hbs

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,20 @@
2121
{{/if}}
2222

2323
<EmberTooltip @side="right" data-test-release-track-title>
24-
{{{this.releaseTrackTitle}}}
24+
{{this.releaseTrackTitle}}
25+
{{#if this.displaysReleaseTrackModifiers}}
26+
<p local-class='mark-wrapper'>
27+
{{#if @version.isPrerelease}}
28+
<mark local-class="yellow">prerelease</mark>
29+
{{/if}}
30+
{{#if this.hasAllReleaseTrackModifiers}}
31+
,
32+
{{/if}}
33+
{{#if @version.isHighestOfReleaseTrack}}
34+
<mark local-class="green">latest</mark>
35+
{{/if}}
36+
</p>
37+
{{/if}}
2538
</EmberTooltip>
2639
</div>
2740

@@ -59,7 +72,9 @@
5972
<EmberTooltip>
6073
{{date-format @version.created_at 'PPP'}}
6174
{{#if @version.isNew}}
62-
(<mark local-class="orange">recent</mark>)
75+
<p local-class='mark-wrapper'>
76+
<mark local-class="orange">recent</mark>
77+
</p>
6378
{{/if}}
6479
</EmberTooltip>
6580
</time>

app/components/version-list/row.js

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export default class VersionRow extends Component {
1111
get releaseTrackTitle() {
1212
let { version } = this.args;
1313
if (version.yanked) {
14-
return 'This version was <mark style="color: hsl(0, 84%, 32%)">yanked</mark>';
14+
return 'This version was yanked';
1515
}
1616
if (version.invalidSemver) {
1717
return `Failed to parse version ${version.num}`;
@@ -22,19 +22,19 @@ export default class VersionRow extends Component {
2222

2323
let { releaseTrack } = version;
2424

25-
let modifiers = [];
26-
if (version.isPrerelease) {
27-
modifiers.push('<mark style="color: hsl(39, 71%, 45%)">prerelease</mark>');
28-
}
29-
if (version.isHighestOfReleaseTrack) {
30-
modifiers.push('<mark style="color: hsl(136, 67%, 38%)">latest</mark>');
31-
}
25+
return `Release Track: ${releaseTrack}`;
26+
}
3227

33-
let title = `Release Track: ${releaseTrack}`;
34-
if (modifiers.length !== 0) {
35-
title += ` (${modifiers.join(', ')})`;
36-
}
37-
return title;
28+
get displaysReleaseTrackModifiers() {
29+
let { version } = this.args;
30+
31+
return (version.isPrerelease || version.isHighestOfReleaseTrack) && !version.yanked;
32+
}
33+
34+
get hasAllReleaseTrackModifiers() {
35+
let { version } = this.args;
36+
37+
return version.isPrerelease && version.isHighestOfReleaseTrack;
3838
}
3939

4040
get isOwner() {

app/components/version-list/row.module.css

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -190,12 +190,36 @@
190190
}
191191
}
192192

193-
mark.orange{
194-
color: hsl(39, 98%, 47%);
195-
}
196-
197193
mark{
198194
background-color: transparent;
195+
196+
&.orange{
197+
color: hsl(39, 98%, 47%);
198+
}
199+
200+
&.yellow{
201+
color: hsl(39, 71%, 45%);
202+
}
203+
204+
&.green{
205+
color: hsl(136, 67%, 38%);
206+
}
207+
}
208+
209+
.mark-wrapper{
210+
display: inline;
211+
margin: 0;
212+
word-break: break-all;
213+
214+
&:before{
215+
content: "(";
216+
margin-right: -3px;
217+
}
218+
219+
&:after{
220+
content: ")";
221+
margin-left: -3px;
222+
}
199223
}
200224

201225
.msrv {

0 commit comments

Comments
 (0)