Skip to content

Commit 4c3281f

Browse files
jnsdlsMananTank
authored andcommitted
next15
1 parent df8b2f6 commit 4c3281f

File tree

196 files changed

+2459
-2354
lines changed

Some content is hidden

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

196 files changed

+2459
-2354
lines changed

apps/dashboard/next.config.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,6 @@ const moduleExports = {
158158
serverSourceMaps: false,
159159
},
160160
cacheMaxMemorySize: 0,
161-
swcMinify: true,
162161
compiler: {
163162
emotion: true,
164163
},

apps/dashboard/package.json

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"@chakra-ui/theme-tools": "^2.1.2",
2828
"@emotion/react": "11.13.3",
2929
"@emotion/styled": "11.13.0",
30-
"@hookform/resolvers": "^3.9.0",
30+
"@hookform/resolvers": "^3.9.1",
3131
"@marsidev/react-turnstile": "^1.0.2",
3232
"@n8tb1t/use-scroll-position": "^2.0.3",
3333
"@radix-ui/react-alert-dialog": "^1.1.2",
@@ -52,6 +52,7 @@
5252
"@tanstack/react-query": "5.59.16",
5353
"@tanstack/react-table": "^8.17.3",
5454
"@thirdweb-dev/service-utils": "workspace:*",
55+
"@vercel/functions": "^1.4.2",
5556
"@vercel/og": "^0.6.2",
5657
"abitype": "1.0.6",
5758
"chakra-react-select": "^4.7.6",
@@ -63,12 +64,12 @@
6364
"flat": "^6.0.1",
6465
"framer-motion": "11.11.10",
6566
"fuse.js": "7.0.0",
66-
"input-otp": "^1.2.4",
67+
"input-otp": "^1.2.5",
6768
"ioredis": "^5.4.1",
6869
"ipaddr.js": "^2.2.0",
6970
"lottie-react": "^2.4.0",
7071
"lucide-react": "0.454.0",
71-
"next": "14.2.15",
72+
"next": "15.0.2",
7273
"next-plausible": "^3.12.0",
7374
"next-seo": "^6.5.0",
7475
"next-themes": "^0.3.0",
@@ -79,17 +80,17 @@
7980
"prism-react-renderer": "^2.3.1",
8081
"prismjs": "^1.29.0",
8182
"qrcode": "^1.5.3",
82-
"react": "18.3.1",
83+
"react": "19.0.0-rc-69d4b800-20241021",
8384
"react-children-utilities": "^2.10.0",
8485
"react-day-picker": "^8.10.1",
85-
"react-dom": "18.3.1",
86+
"react-dom": "19.0.0-rc-69d4b800-20241021",
8687
"react-dropzone": "^14.2.9",
8788
"react-error-boundary": "^4.1.2",
8889
"react-hook-form": "7.52.0",
8990
"react-markdown": "^9.0.1",
9091
"react-responsive-carousel": "^3.2.23",
9192
"react-table": "^7.8.0",
92-
"recharts": "^2.13.0",
93+
"recharts": "^2.13.1",
9394
"remark-gfm": "^4.0.0",
9495
"server-only": "^0.0.1",
9596
"sonner": "^1.5.0",
@@ -105,8 +106,8 @@
105106
"devDependencies": {
106107
"@chakra-ui/cli": "^2.4.1",
107108
"@chromatic-com/storybook": "2.0.2",
108-
"@next/bundle-analyzer": "14.2.15",
109-
"@next/eslint-plugin-next": "14.2.15",
109+
"@next/bundle-analyzer": "15.0.2",
110+
"@next/eslint-plugin-next": "15.0.2",
110111
"@playwright/test": "1.48.2",
111112
"@storybook/addon-essentials": "8.3.6",
112113
"@storybook/addon-interactions": "8.3.6",
@@ -122,8 +123,8 @@
122123
"@types/papaparse": "^5.3.15",
123124
"@types/pluralize": "^0.0.33",
124125
"@types/qrcode": "^1.5.5",
125-
"@types/react": "^18.3.11",
126-
"@types/react-dom": "^18.3.1",
126+
"@types/react": "npm:[email protected]",
127+
"@types/react-dom": "npm:[email protected].1",
127128
"@types/react-table": "^7.7.20",
128129
"@types/spdx-correct": "^3.1.3",
129130
"@types/swagger-ui-react": "^4.18.3",
@@ -133,9 +134,9 @@
133134
"checkly": "^4.8.1",
134135
"eslint": "8.57.0",
135136
"eslint-config-biome": "1.9.3",
136-
"eslint-plugin-react-compiler": "0.0.0-experimental-fa06e2c-20241014",
137+
"eslint-plugin-react-compiler": "19.0.0-beta-8a03594-20241020",
137138
"eslint-plugin-storybook": "^0.9.0",
138-
"knip": "5.34.2",
139+
"knip": "5.34.3",
139140
"next-sitemap": "^4.2.3",
140141
"postcss": "8.4.47",
141142
"storybook": "8.3.6",

apps/dashboard/src/@/api/projects.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export type Project = {
2121
};
2222

2323
export async function getProjects(teamSlug: string) {
24-
const cookiesManager = cookies();
24+
const cookiesManager = await cookies();
2525
const activeAccount = cookiesManager.get(COOKIE_ACTIVE_ACCOUNT)?.value;
2626
const token = activeAccount
2727
? cookiesManager.get(COOKIE_PREFIX_TOKEN + activeAccount)?.value
@@ -46,7 +46,7 @@ export async function getProjects(teamSlug: string) {
4646
}
4747

4848
export async function getProject(teamSlug: string, projectSlug: string) {
49-
const cookiesManager = cookies();
49+
const cookiesManager = await cookies();
5050
const activeAccount = cookiesManager.get(COOKIE_ACTIVE_ACCOUNT)?.value;
5151
const token = activeAccount
5252
? cookiesManager.get(COOKIE_PREFIX_TOKEN + activeAccount)?.value

apps/dashboard/src/@/api/team-members.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export type TeamMember = {
2525
};
2626

2727
export async function getMembers(teamSlug: string) {
28-
const token = getAuthToken();
28+
const token = await getAuthToken();
2929

3030
if (!token) {
3131
return undefined;

apps/dashboard/src/@/api/team.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ export type Team = {
2323
};
2424

2525
export async function getTeamBySlug(slug: string) {
26-
const cookiesManager = cookies();
26+
const cookiesManager = await cookies();
2727
const activeAccount = cookiesManager.get(COOKIE_ACTIVE_ACCOUNT)?.value;
2828
const token = activeAccount
2929
? cookiesManager.get(COOKIE_PREFIX_TOKEN + activeAccount)?.value
@@ -45,7 +45,7 @@ export async function getTeamBySlug(slug: string) {
4545
}
4646

4747
export async function getTeams() {
48-
const cookiesManager = cookies();
48+
const cookiesManager = await cookies();
4949
const activeAccount = cookiesManager.get(COOKIE_ACTIVE_ACCOUNT)?.value;
5050
const token = activeAccount
5151
? cookiesManager.get(COOKIE_PREFIX_TOKEN + activeAccount)?.value

apps/dashboard/src/@/constants/cookie.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ import { cookies } from "next/headers";
33
export const COOKIE_ACTIVE_ACCOUNT = "tw_active_account";
44
export const COOKIE_PREFIX_TOKEN = "tw_token_";
55

6-
export function getActiveAccountCookie() {
7-
return cookies().get(COOKIE_ACTIVE_ACCOUNT)?.value;
6+
export async function getActiveAccountCookie() {
7+
return (await cookies()).get(COOKIE_ACTIVE_ACCOUNT)?.value;
88
}
99

10-
export function getJWTCookie(address: string) {
11-
return cookies().get(COOKIE_PREFIX_TOKEN + address)?.value;
10+
export async function getJWTCookie(address: string) {
11+
return (await cookies()).get(COOKIE_PREFIX_TOKEN + address)?.value;
1212
}

apps/dashboard/src/@3rdweb-sdk/react/components/roles/admin-only.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import {
55
import type { ThirdwebContract } from "thirdweb";
66
import type { ComponentWithChildren } from "types/component-with-children";
77

8+
import type { JSX } from "react";
9+
810
interface AdminOnlyProps {
911
contract: ThirdwebContract;
1012
failOpen?: boolean;

apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/(chainPage)/layout.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,10 @@ import { ChainHeader } from "./components/server/chain-header";
3232

3333
// TODO: improve the behavior when clicking "Get started with thirdweb", currently just redirects to the dashboard
3434

35-
export async function generateMetadata({
36-
params,
37-
}: { params: { chain_id: string } }): Promise<Metadata> {
35+
export async function generateMetadata(props: {
36+
params: Promise<{ chain_id: string }>;
37+
}): Promise<Metadata> {
38+
const params = await props.params;
3839
const chain = await getChain(params.chain_id);
3940
const sanitizedChainName = chain.name.replace("Mainnet", "").trim();
4041
const title = `${sanitizedChainName}: RPC and Chain Settings`;
@@ -54,13 +55,12 @@ export async function generateMetadata({
5455
}
5556

5657
// this is the dashboard layout file
57-
export default async function ChainPageLayout({
58-
children,
59-
params,
60-
}: {
58+
export default async function ChainPageLayout(props: {
6159
children: React.ReactNode;
62-
params: { chain_id: string };
60+
params: Promise<{ chain_id: string }>;
6361
}) {
62+
const params = await props.params;
63+
const { children } = props;
6464
const chain = await getChain(params.chain_id);
6565

6666
if (params.chain_id !== chain.slug) {

apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/(chainPage)/page.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@ import { ChainCTA } from "./components/server/cta-card";
1313
import { ExplorersSection } from "./components/server/explorer-section";
1414

1515
export default async function Page(props: {
16-
params: { chain_id: string };
16+
params: Promise<{ chain_id: string }>;
1717
}) {
18-
const chain = await getChain(props.params.chain_id);
18+
const params = await props.params;
19+
const chain = await getChain(params.chain_id);
1920
const chainMetadata = await getChainMetadata(chain.chainId);
2021
const isDeprecated = chain.status === "deprecated";
2122

apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/(chainPage)/popular/page.tsx

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,17 @@ import { CircleAlertIcon } from "lucide-react";
33
import { TrendingContractSection } from "../../../../trending/components/trending-table";
44
import { getChain } from "../../../utils";
55

6-
// we're using searchParams here - use dynamic rendering
7-
export const dynamic = "force-dynamic";
8-
96
export default async function Page(props: {
10-
params: { chain_id: string };
11-
searchParams: { page?: number; sortBy?: SortBy };
7+
params: Promise<{ chain_id: string }>;
8+
searchParams: Promise<{ page?: number; sortBy?: SortBy }>;
129
}) {
13-
const chain = await getChain(props.params.chain_id);
10+
const searchParams = await props.searchParams;
11+
const params = await props.params;
12+
const chain = await getChain(params.chain_id);
1413
const topContracts = await fetchTopContracts({
1514
chainId: chain.chainId,
16-
page: props.searchParams.page,
17-
sortBy: props.searchParams.sortBy,
15+
page: searchParams.page,
16+
sortBy: searchParams.sortBy,
1817
perPage: 15,
1918
timeRange: "month",
2019
});
@@ -24,22 +23,18 @@ export default async function Page(props: {
2423
<h2 className="mb-2 font-semibold text-2xl tracking-tighter">
2524
Popular Contracts
2625
</h2>
27-
2826
<p className="text-muted-foreground text-sm">
2927
Explore contracts on Ethereum and sort them by your preferred metrics
3028
</p>
31-
3229
<div className="h-8" />
33-
3430
{topContracts.length > 0 && (
3531
<TrendingContractSection
3632
topContracts={topContracts}
3733
chainId={chain.chainId}
38-
searchParams={props.searchParams}
34+
searchParams={searchParams}
3935
showPagination={true}
4036
/>
4137
)}
42-
4338
{topContracts.length === 0 && (
4439
<div className="flex h-[200px] items-center justify-center rounded-lg border border-border text-lg text-muted-foreground">
4540
<div className="flex items-center gap-2">

0 commit comments

Comments
 (0)