Skip to content

Commit a332f2c

Browse files
committed
feat: separate into client component
1 parent cd7dd1b commit a332f2c

File tree

2 files changed

+41
-15
lines changed

2 files changed

+41
-15
lines changed

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

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,12 @@ import {
2121
getPublisherAverageScoreHistory,
2222
} from "../../services/clickhouse";
2323
import { getPublisherCaps } from "../../services/hermes";
24-
import { ClusterToName, parseCluster, Cluster } from "../../services/pyth";
24+
import {
25+
ClusterToName,
26+
parseCluster,
27+
Cluster,
28+
CLUSTER_NAMES,
29+
} from "../../services/pyth";
2530
import { getPublisherPoolData } from "../../services/staking";
2631
import { Cards } from "../Cards";
2732
import { ChangePercent } from "../ChangePercent";
@@ -45,9 +50,7 @@ import { SemicircleMeter } from "../SemicircleMeter";
4550
import { TabPanel, TabRoot, Tabs } from "../Tabs";
4651
import { TokenIcon } from "../TokenIcon";
4752
import { OisApyHistory } from "./ois-apy-history";
48-
import ConformanceReport from "../ConformanceReport/conformance-report";
49-
import type { Interval } from "../ConformanceReport/types";
50-
import { useDownloadReportForPublisher } from "../ConformanceReport/use-download-report-for-publisher";
53+
import { PublisherConformanceReport } from "./publisher-conformance-report";
5154

5255
type Props = {
5356
children: ReactNode;
@@ -107,16 +110,6 @@ const PublisherHeader = ({
107110
}) => {
108111
const knownPublisher = lookup(publisherKey);
109112

110-
const downloadReportForPublisher = useDownloadReportForPublisher();
111-
112-
const handleDownloadReport = (interval: Interval) => {
113-
return downloadReportForPublisher({
114-
publisher: publisherKey,
115-
cluster: ClusterToName[cluster],
116-
interval,
117-
});
118-
};
119-
120113
return (
121114
<section className={styles.header}>
122115
<div className={styles.breadcrumbRow}>
@@ -139,7 +132,10 @@ const PublisherHeader = ({
139132
icon: <PublisherIcon knownPublisher={knownPublisher} />,
140133
})}
141134
/>
142-
<ConformanceReport onClick={handleDownloadReport} />
135+
<PublisherConformanceReport
136+
publisherKey={publisherKey}
137+
cluster={CLUSTER_NAMES[cluster]}
138+
/>
143139
</div>
144140

145141
<Cards className={styles.stats ?? ""}>
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
"use client";
2+
3+
import { useCallback } from "react";
4+
5+
import { CLUSTER_NAMES } from "../../services/pyth";
6+
import ConformanceReport from "../ConformanceReport/conformance-report";
7+
import type { Interval } from "../ConformanceReport/types";
8+
import { useDownloadReportForPublisher } from "../ConformanceReport/use-download-report-for-publisher";
9+
10+
export const PublisherConformanceReport = ({
11+
publisherKey,
12+
cluster,
13+
}: {
14+
publisherKey: string;
15+
cluster: (typeof CLUSTER_NAMES)[number];
16+
}) => {
17+
const downloadReportForPublisher = useDownloadReportForPublisher();
18+
const handleDownloadReport = useCallback(
19+
(interval: Interval) => {
20+
return downloadReportForPublisher({
21+
publisher: publisherKey,
22+
cluster,
23+
interval,
24+
});
25+
},
26+
[publisherKey, cluster, downloadReportForPublisher],
27+
);
28+
29+
return <ConformanceReport onClick={handleDownloadReport} />;
30+
};

0 commit comments

Comments
 (0)