Skip to content

Commit fe84a66

Browse files
committed
chore(app): update page component
1 parent 556ff04 commit fe84a66

File tree

1 file changed

+25
-13
lines changed

1 file changed

+25
-13
lines changed

app/page.tsx

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,25 @@ const METRIC_CARDS = [
3737
},
3838
] as const;
3939

40-
const SNAPSHOT_HIGHLIGHT_GROUPS = [
40+
type SnapshotRequest = {
41+
category: AnalyticsMetricCategory;
42+
metricType: AnalyticsMetricType;
43+
};
44+
45+
type SnapshotHighlightMetric = SnapshotRequest & {
46+
label: string;
47+
valueLimit?: number;
48+
sort?: "alpha";
49+
getEntryColor?: (label: string) => string | undefined;
50+
};
51+
52+
type SnapshotHighlightGroup = {
53+
title: string;
54+
disclaimer: string;
55+
metrics: readonly SnapshotHighlightMetric[];
56+
};
57+
58+
const SNAPSHOT_HIGHLIGHT_GROUPS: readonly SnapshotHighlightGroup[] = [
4159
{
4260
title: "Characters @ cap",
4361
disclaimer:
@@ -53,7 +71,7 @@ const SNAPSHOT_HIGHLIGHT_GROUPS = [
5371
category: AnalyticsMetricCategory.CHARACTERS,
5472
metricType: AnalyticsMetricType.BY_CLASS_MAX_LEVEL,
5573
valueLimit: Number.POSITIVE_INFINITY,
56-
sort: "alpha" as const,
74+
sort: "alpha",
5775
getEntryColor: (className: string) =>
5876
classColors.get(className) ?? undefined,
5977
},
@@ -62,7 +80,7 @@ const SNAPSHOT_HIGHLIGHT_GROUPS = [
6280
category: AnalyticsMetricCategory.CHARACTERS,
6381
metricType: AnalyticsMetricType.BY_LEVEL_MAX_LEVEL,
6482
},
65-
],
83+
] as const,
6684
},
6785
{
6886
title: "Guild structures",
@@ -84,7 +102,7 @@ const SNAPSHOT_HIGHLIGHT_GROUPS = [
84102
category: AnalyticsMetricCategory.GUILDS,
85103
metricType: AnalyticsMetricType.TOP_BY_ACHIEVEMENTS,
86104
},
87-
],
105+
] as const,
88106
},
89107
{
90108
title: "Market flow",
@@ -106,7 +124,7 @@ const SNAPSHOT_HIGHLIGHT_GROUPS = [
106124
category: AnalyticsMetricCategory.MARKET,
107125
metricType: AnalyticsMetricType.PRICE_VOLATILITY,
108126
},
109-
],
127+
] as const,
110128
},
111129
{
112130
title: "Contracts board",
@@ -128,15 +146,10 @@ const SNAPSHOT_HIGHLIGHT_GROUPS = [
128146
category: AnalyticsMetricCategory.CONTRACTS,
129147
metricType: AnalyticsMetricType.TOP_BY_AUCTIONS,
130148
},
131-
],
149+
] as const,
132150
},
133151
] as const;
134152

135-
type SnapshotRequest = {
136-
category: AnalyticsMetricCategory;
137-
metricType: AnalyticsMetricType;
138-
};
139-
140153
const SNAPSHOT_REQUESTS: SnapshotRequest[] = [
141154
...METRIC_CARDS.map(({ category, metricType }) => ({ category, metricType })),
142155
...SNAPSHOT_HIGHLIGHT_GROUPS.flatMap((group) => group.metrics),
@@ -426,8 +439,7 @@ export default function Home() {
426439
{snapshotHighlightGroups.map((group) => (
427440
<div
428441
key={group.title}
429-
className="rounded-2xl border border-content4/20 bg-content2/40 p-4 backdrop-blur"
430-
>
442+
className="rounded-2xl border border-content4/20 bg-content2/40 p-4 backdrop-blur">
431443
<div>
432444
<h4 className="text-lg font-semibold">{group.title}</h4>
433445
<p className="text-muted mt-1 text-xs leading-relaxed">

0 commit comments

Comments
 (0)