Skip to content

Commit e0a7e5f

Browse files
committed
feat(staking): minor improvements to the median score drawer
- Highlight selected score more clearly - Show name of selected score instead of "Score History" - Move documentation button to the right and make it outline
1 parent d93e42e commit e0a7e5f

File tree

4 files changed

+52
-31
lines changed

4 files changed

+52
-31
lines changed

apps/insights/src/components/Publisher/layout.module.scss

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,16 @@
129129
}
130130
}
131131

132-
.medianScoreDrawerBody {
133-
display: flex;
134-
flex-flow: column nowrap;
135-
gap: theme.spacing(6);
132+
.medianScoreDrawer {
133+
.medianScoreDrawerFooter {
134+
display: flex;
135+
flex-flow: row nowrap;
136+
justify-content: flex-end;
137+
}
138+
139+
.medianScoreDrawerBody {
140+
display: flex;
141+
flex-flow: column nowrap;
142+
gap: theme.spacing(6);
143+
}
136144
}

apps/insights/src/components/Publisher/layout.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,10 +191,12 @@ export const PublishersLayout = async ({ children, params }: Props) => {
191191
/>
192192
<Drawer
193193
title="Median Score"
194+
className={styles.medianScoreDrawer ?? ""}
194195
bodyClassName={styles.medianScoreDrawerBody}
196+
footerClassName={styles.medianScoreDrawerFooter}
195197
footer={
196198
<Button
197-
variant="solid"
199+
variant="outline"
198200
size="sm"
199201
href="https://docs.pyth.network/home/oracle-integrity-staking/publisher-quality-ranking"
200202
target="_blank"

apps/insights/src/components/Publisher/median-score-history.module.scss

Lines changed: 5 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
.medianDeviationScore,
5050
.medianStalledScore {
5151
transition: opacity 100ms linear;
52-
opacity: 0.1;
52+
opacity: 0.2;
5353
}
5454

5555
.medianScore {
@@ -78,48 +78,28 @@
7878
}
7979
}
8080

81-
&[data-hovered-score="uptime"] {
82-
.medianUptimeScore {
83-
opacity: 0.7;
84-
}
85-
}
86-
81+
&[data-hovered-score="uptime"],
8782
&[data-focused-score="uptime"] {
8883
.medianUptimeScore {
8984
opacity: 1;
9085
}
9186
}
9287

93-
&[data-hovered-score="deviation"] {
94-
.medianDeviationScore {
95-
opacity: 0.7;
96-
}
97-
}
98-
88+
&[data-hovered-score="deviation"],
9989
&[data-focused-score="deviation"] {
10090
.medianDeviationScore {
10191
opacity: 1;
10292
}
10393
}
10494

105-
&[data-hovered-score="stalled"] {
106-
.medianStalledScore {
107-
opacity: 0.7;
108-
}
109-
}
110-
95+
&[data-hovered-score="stalled"],
11196
&[data-focused-score="stalled"] {
11297
.medianStalledScore {
11398
opacity: 1;
11499
}
115100
}
116101

117-
&[data-hovered-score="final"] {
118-
.medianScore {
119-
opacity: 0.7;
120-
}
121-
}
122-
102+
&[data-hovered-score="final"],
123103
&[data-focused-score="final"] {
124104
.medianScore {
125105
opacity: 1;

apps/insights/src/components/Publisher/median-score-history.tsx

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,12 @@ export const MedianScoreHistory = ({ medianScoreHistory }: Props) => {
9797
>
9898
<div className={styles.top}>
9999
<div className={styles.left}>
100-
<h3 className={styles.header}>Score History</h3>
100+
<h3 className={styles.header}>
101+
<HeaderText
102+
hoveredScore={hoveredScore}
103+
focusedScore={focusedScore}
104+
/>
105+
</h3>
101106
<div className={styles.subheader}>
102107
{selectedPoint
103108
? dateFormatter.format(selectedPoint.time)
@@ -127,27 +132,31 @@ export const MedianScoreHistory = ({ medianScoreHistory }: Props) => {
127132
dot={false}
128133
className={styles.medianScore ?? ""}
129134
stroke="currentColor"
135+
strokeWidth={focusedScore === "final" ? 3 : 1}
130136
/>
131137
<Line
132138
type="monotone"
133139
dataKey="medianUptimeScore"
134140
dot={false}
135141
className={styles.medianUptimeScore ?? ""}
136142
stroke="currentColor"
143+
strokeWidth={focusedScore === "uptime" ? 3 : 1}
137144
/>
138145
<Line
139146
type="monotone"
140147
dataKey="medianDeviationScore"
141148
dot={false}
142149
className={styles.medianDeviationScore ?? ""}
143150
stroke="currentColor"
151+
strokeWidth={focusedScore === "deviation" ? 3 : 1}
144152
/>
145153
<Line
146154
type="monotone"
147155
dataKey="medianStalledScore"
148156
dot={false}
149157
className={styles.medianStalledScore ?? ""}
150158
stroke="currentColor"
159+
strokeWidth={focusedScore === "stalled" ? 3 : 1}
151160
/>
152161
<XAxis dataKey="time" hide />
153162
<YAxis hide />
@@ -263,6 +272,28 @@ export const MedianScoreHistory = ({ medianScoreHistory }: Props) => {
263272
);
264273
};
265274

275+
type HeaderTextProps = {
276+
focusedScore: FocusedScore;
277+
hoveredScore: FocusedScore;
278+
};
279+
280+
const HeaderText = ({ hoveredScore, focusedScore }: HeaderTextProps) => {
281+
switch (focusedScore ?? hoveredScore) {
282+
case "uptime": {
283+
return "Median Uptime Score History";
284+
}
285+
case "deviation": {
286+
return "Median Deviation Score History";
287+
}
288+
case "stalled": {
289+
return "Median Stalled Score History";
290+
}
291+
default: {
292+
return "Median Score History";
293+
}
294+
}
295+
};
296+
266297
type FocusedScore = "uptime" | "deviation" | "stalled" | "final" | undefined;
267298

268299
type CurrentValueProps = {

0 commit comments

Comments
 (0)