Skip to content

Commit cd35a64

Browse files
ToBinioTurbo87
andauthored
Versions: Add color explanations on hover (#6433)
Co-authored-by: Tobias Bieniek <[email protected]>
1 parent 23ed444 commit cd35a64

File tree

3 files changed

+33
-8
lines changed

3 files changed

+33
-8
lines changed

app/components/version-list/row.hbs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,12 @@
5454
{{svg-jar "calendar"}}
5555
{{date-format-distance-to-now @version.created_at addSuffix=true}}
5656

57-
<EmberTooltip @text={{date-format @version.created_at 'PPP'}} />
57+
<EmberTooltip>
58+
{{date-format @version.created_at 'PPP'}}
59+
{{#if @version.isNew}}
60+
(<span local-class="new">new</span>)
61+
{{/if}}
62+
</EmberTooltip>
5863
</time>
5964
</div>
6065

app/components/version-list/row.js

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
import { action } from '@ember/object';
22
import { inject as service } from '@ember/service';
3+
import { htmlSafe } from '@ember/template';
34
import Component from '@glimmer/component';
45
import { tracked } from '@glimmer/tracking';
56

7+
import styles from './row.module.css';
8+
69
export default class VersionRow extends Component {
710
@service session;
811

@@ -11,7 +14,7 @@ export default class VersionRow extends Component {
1114
get releaseTrackTitle() {
1215
let { version } = this.args;
1316
if (version.yanked) {
14-
return 'This version was yanked';
17+
return htmlSafe(`This version was <span class="${styles['rt-yanked']}">yanked</span>`);
1518
}
1619
if (version.invalidSemver) {
1720
return `Failed to parse version ${version.num}`;
@@ -32,9 +35,16 @@ export default class VersionRow extends Component {
3235

3336
let title = `Release Track: ${releaseTrack}`;
3437
if (modifiers.length !== 0) {
35-
title += ` (${modifiers.join(', ')})`;
38+
let formattedModifiers = modifiers
39+
.map(modifier => {
40+
let klass = styles[`rt-${modifier}`];
41+
return klass ? `<span class='${klass}'>${modifier}</span>` : modifier;
42+
})
43+
.join(', ');
44+
45+
title += ` (${formattedModifiers})`;
3646
}
37-
return title;
47+
return htmlSafe(title);
3848
}
3949

4050
get isOwner() {

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

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,18 @@
9494
}
9595
}
9696

97+
.rt-latest {
98+
color: hsl(136, 67%, 38%);
99+
}
100+
101+
.rt-prerelease {
102+
color: hsl(35, 95%, 59%);
103+
}
104+
105+
.rt-yanked {
106+
color: hsl(0, 87%, 58%);
107+
}
108+
97109
.num-link {
98110
color: var(--fg-color);
99111
font-weight: 500;
@@ -184,10 +196,8 @@
184196
}
185197
}
186198

187-
.date {
188-
&.new {
189-
color: hsl(39, 98%, 47%);
190-
}
199+
.date.new, :global(.tooltip) .new {
200+
color: hsl(39, 98%, 47%);
191201
}
192202

193203
.msrv {

0 commit comments

Comments
 (0)