Skip to content

Commit a9d2893

Browse files
authored
Merge pull request #2650 from pyth-network/cprussin/extract-app-shell
chore(component-library): extract app shell from insights hub
2 parents 9dba9d0 + 8efb316 commit a9d2893

File tree

106 files changed

+1039
-1441
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

106 files changed

+1039
-1441
lines changed

.github/CODEOWNERS

-3
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,8 @@ apps/api-reference @pyth-network/web-team
22
apps/entropy-debugger @pyth-network/web-team
33
apps/insights @pyth-network/web-team
44
apps/staking @pyth-network/web-team
5-
packages/app-logger @pyth-network/web-team
65
packages/component-library @pyth-network/web-team
7-
packages/fonts @pyth-network/web-team
86
packages/known-publishers @pyth-network/web-team
9-
packages/next-root @pyth-network/web-team
107
Dockerfile.node @pyth-network/web-team
118
package.json @pyth-network/web-team
129
pnpm-workspace.yaml @pyth-network/web-team

apps/insights/package.json

-3
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,10 @@
2222
"dependencies": {
2323
"@clickhouse/client": "catalog:",
2424
"@phosphor-icons/react": "catalog:",
25-
"@pythnetwork/app-logger": "workspace:*",
2625
"@pythnetwork/client": "catalog:",
2726
"@pythnetwork/component-library": "workspace:*",
28-
"@pythnetwork/fonts": "workspace:*",
2927
"@pythnetwork/hermes-client": "workspace:*",
3028
"@pythnetwork/known-publishers": "workspace:*",
31-
"@pythnetwork/next-root": "workspace:*",
3229
"@react-hookz/web": "catalog:",
3330
"@solana/web3.js": "catalog:",
3431
"bs58": "catalog:",

apps/insights/src/app/global-error.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"use client";
22

3-
import { LoggerProvider } from "@pythnetwork/app-logger/provider";
3+
import { LoggerProvider } from "@pythnetwork/component-library/useLogger";
44
import type { ComponentProps } from "react";
55

66
import { Error } from "../components/Error";

apps/insights/src/components/CopyButton/index.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
import { Check } from "@phosphor-icons/react/dist/ssr/Check";
44
import { Copy } from "@phosphor-icons/react/dist/ssr/Copy";
5-
import { useLogger } from "@pythnetwork/app-logger";
65
import { Button } from "@pythnetwork/component-library/unstyled/Button";
6+
import { useLogger } from "@pythnetwork/component-library/useLogger";
77
import clsx from "clsx";
88
import type { ComponentProps } from "react";
99
import { useCallback, useEffect, useState } from "react";

apps/insights/src/components/Error/index.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Warning } from "@phosphor-icons/react/dist/ssr/Warning";
2-
import { useLogger } from "@pythnetwork/app-logger";
32
import { Button } from "@pythnetwork/component-library/Button";
3+
import { useLogger } from "@pythnetwork/component-library/useLogger";
44
import { useEffect } from "react";
55

66
import styles from "./index.module.scss";

apps/insights/src/components/PriceComponentDrawer/index.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { ArrowSquareOut } from "@phosphor-icons/react/dist/ssr/ArrowSquareOut";
22
import { Flask } from "@phosphor-icons/react/dist/ssr/Flask";
3-
import { useLogger } from "@pythnetwork/app-logger";
43
import type { Props as ButtonProps } from "@pythnetwork/component-library/Button";
54
import { Button } from "@pythnetwork/component-library/Button";
65
import { Card } from "@pythnetwork/component-library/Card";
@@ -11,6 +10,7 @@ import { StatCard } from "@pythnetwork/component-library/StatCard";
1110
import { Table } from "@pythnetwork/component-library/Table";
1211
import type { Button as UnstyledButton } from "@pythnetwork/component-library/unstyled/Button";
1312
import { useDrawer } from "@pythnetwork/component-library/useDrawer";
13+
import { useLogger } from "@pythnetwork/component-library/useLogger";
1414
import { useMountEffect } from "@react-hookz/web";
1515
import dynamic from "next/dynamic";
1616
import { useRouter } from "next/navigation";

apps/insights/src/components/PriceComponentsCard/index.module.scss

+5
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,8 @@
8787
}
8888
}
8989
}
90+
91+
:export {
92+
// stylelint-disable-next-line property-no-unknown
93+
headerHeight: theme.$header-height;
94+
}

apps/insights/src/components/PriceComponentsCard/index.tsx

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
"use client";
22

3-
import { useLogger } from "@pythnetwork/app-logger";
43
import { Badge } from "@pythnetwork/component-library/Badge";
54
import { Button } from "@pythnetwork/component-library/Button";
65
import { Card } from "@pythnetwork/component-library/Card";
@@ -14,6 +13,7 @@ import type {
1413
SortDescriptor,
1514
} from "@pythnetwork/component-library/Table";
1615
import { Table } from "@pythnetwork/component-library/Table";
16+
import { useLogger } from "@pythnetwork/component-library/useLogger";
1717
import clsx from "clsx";
1818
import { useQueryState, parseAsStringEnum, parseAsBoolean } from "nuqs";
1919
import type { ReactNode } from "react";
@@ -37,7 +37,6 @@ import { LivePrice, LiveConfidence, LiveComponentValue } from "../LivePrices";
3737
import { NoResults } from "../NoResults";
3838
import { usePriceComponentDrawer } from "../PriceComponentDrawer";
3939
import { PriceName } from "../PriceName";
40-
import rootStyles from "../Root/index.module.scss";
4140
import { Score } from "../Score";
4241
import { Status as StatusComponent } from "../Status";
4342

@@ -490,7 +489,7 @@ export const PriceComponentsCardContents = <
490489
label={label}
491490
fill
492491
rounded
493-
stickyHeader={rootStyles.headerHeight}
492+
stickyHeader={styles.headerHeight}
494493
className={styles.table ?? ""}
495494
columns={[
496495
{

apps/insights/src/components/PriceFeed/chart.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"use client";
22

3-
import { useLogger } from "@pythnetwork/app-logger";
3+
import { useLogger } from "@pythnetwork/component-library/useLogger";
44
import { useResizeObserver } from "@react-hookz/web";
55
import type { IChartApi, ISeriesApi, UTCTimestamp } from "lightweight-charts";
66
import { LineSeries, LineStyle, createChart } from "lightweight-charts";

apps/insights/src/components/PriceFeed/header.module.scss

+4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@
1919
gap: theme.spacing(2);
2020
justify-content: space-between;
2121

22+
.assetClassBadge {
23+
align-self: start;
24+
}
25+
2226
@include theme.breakpoint("sm") {
2327
flex-flow: row nowrap;
2428
align-items: center;

apps/insights/src/components/PriceFeed/header.tsx

+3-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,9 @@ const PriceFeedHeaderImpl = (props: PriceFeedHeaderImplProps) => (
6565
{props.isLoading ? (
6666
<Skeleton width={15} />
6767
) : (
68-
<AssetClassBadge>{props.feed.product.asset_type}</AssetClassBadge>
68+
<AssetClassBadge className={styles.assetClassBadge}>
69+
{props.feed.product.asset_type}
70+
</AssetClassBadge>
6971
)}
7072
</div>
7173
<div className={styles.headerRow}>

apps/insights/src/components/PriceFeed/publishers-card.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"use client";
22

3-
import { useLogger } from "@pythnetwork/app-logger";
43
import { Switch } from "@pythnetwork/component-library/Switch";
4+
import { useLogger } from "@pythnetwork/component-library/useLogger";
55
import { useQueryState, parseAsBoolean } from "nuqs";
66
import { Suspense, useCallback, useMemo } from "react";
77

apps/insights/src/components/PriceFeeds/asset-class-table.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
"use client";
22

3-
import { useLogger } from "@pythnetwork/app-logger";
43
import { Badge } from "@pythnetwork/component-library/Badge";
54
import { Table } from "@pythnetwork/component-library/Table";
65
import { useDrawer } from "@pythnetwork/component-library/useDrawer";
6+
import { useLogger } from "@pythnetwork/component-library/useLogger";
77
import { usePathname } from "next/navigation";
88
import {
99
parseAsString,

apps/insights/src/components/PriceFeeds/price-feeds-card.module.scss

+5
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,8 @@
2121
}
2222
}
2323
}
24+
25+
:export {
26+
// stylelint-disable-next-line property-no-unknown
27+
headerHeight: theme.$header-height;
28+
}

apps/insights/src/components/PriceFeeds/price-feeds-card.tsx

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
"use client";
22

33
import { ChartLine } from "@phosphor-icons/react/dist/ssr/ChartLine";
4-
import { useLogger } from "@pythnetwork/app-logger";
54
import { Badge } from "@pythnetwork/component-library/Badge";
65
import { Card } from "@pythnetwork/component-library/Card";
76
import { Paginator } from "@pythnetwork/component-library/Paginator";
@@ -12,6 +11,7 @@ import type {
1211
SortDescriptor,
1312
} from "@pythnetwork/component-library/Table";
1413
import { Table } from "@pythnetwork/component-library/Table";
14+
import { useLogger } from "@pythnetwork/component-library/useLogger";
1515
import { useQueryState, parseAsString } from "nuqs";
1616
import type { ReactNode } from "react";
1717
import { Suspense, useCallback, useMemo } from "react";
@@ -32,7 +32,6 @@ import {
3232
import { NoResults } from "../NoResults";
3333
import { PriceFeedTag } from "../PriceFeedTag";
3434
import { PriceName } from "../PriceName";
35-
import rootStyles from "../Root/index.module.scss";
3635

3736
type Props = {
3837
id: string;
@@ -317,7 +316,7 @@ const PriceFeedsCardContents = ({ id, ...props }: PriceFeedsCardContents) => (
317316
rounded
318317
fill
319318
label="Price Feeds"
320-
stickyHeader={rootStyles.headerHeight}
319+
stickyHeader={styles.headerHeight}
321320
className={styles.table ?? ""}
322321
columns={[
323322
{

apps/insights/src/components/Publishers/index.module.scss

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@use "@pythnetwork/component-library/theme";
2-
@use "../Root/index.module.scss" as root;
32

43
$gap: theme.spacing(4);
54

@@ -53,7 +52,7 @@ $gap: theme.spacing(4);
5352
.statCard {
5453
@include theme.breakpoint("2xl") {
5554
position: sticky;
56-
top: root.$header-height;
55+
top: theme.$header-height;
5756
}
5857
}
5958

@@ -83,7 +82,7 @@ $gap: theme.spacing(4);
8382
$card-wrapper-p: (2 * theme.spacing(1));
8483
$card-height: $card-content + $card-pt + $card-pb + $card-wrapper-p;
8584

86-
top: calc(root.$header-height + $gap + $card-height);
85+
top: calc(theme.$header-height + $gap + $card-height);
8786
}
8887

8988
.oisPool {

apps/insights/src/components/Publishers/publishers-card.module.scss

+5
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,8 @@
3939
}
4040
}
4141
}
42+
43+
:export {
44+
// stylelint-disable-next-line property-no-unknown
45+
headerHeight: theme.$header-height;
46+
}

apps/insights/src/components/Publishers/publishers-card.tsx

+2-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import { Broadcast } from "@phosphor-icons/react/dist/ssr/Broadcast";
44
import { Database } from "@phosphor-icons/react/dist/ssr/Database";
5-
import { useLogger } from "@pythnetwork/app-logger";
65
import { Badge } from "@pythnetwork/component-library/Badge";
76
import { Card } from "@pythnetwork/component-library/Card";
87
import { Link } from "@pythnetwork/component-library/Link";
@@ -14,6 +13,7 @@ import type {
1413
SortDescriptor,
1514
} from "@pythnetwork/component-library/Table";
1615
import { Table } from "@pythnetwork/component-library/Table";
16+
import { useLogger } from "@pythnetwork/component-library/useLogger";
1717
import clsx from "clsx";
1818
import { useQueryState, parseAsStringEnum } from "nuqs";
1919
import type { ReactNode } from "react";
@@ -32,7 +32,6 @@ import {
3232
import { NoResults } from "../NoResults";
3333
import { PublisherTag } from "../PublisherTag";
3434
import { Ranking } from "../Ranking";
35-
import rootStyles from "../Root/index.module.scss";
3635
import { Score } from "../Score";
3736

3837
const PUBLISHER_SCORE_WIDTH = 38;
@@ -324,7 +323,7 @@ const PublishersCardContents = ({
324323
rounded
325324
fill
326325
label="Publishers"
327-
stickyHeader={rootStyles.headerHeight}
326+
stickyHeader={styles.headerHeight}
328327
className={styles.table ?? ""}
329328
columns={[
330329
{

apps/insights/src/components/Root/header.tsx

-70
This file was deleted.

apps/insights/src/components/Root/index.module.scss

-47
This file was deleted.

0 commit comments

Comments
 (0)