Skip to content

Commit a51607e

Browse files
committed
Migrate ContractCheckList Card to shadcn + StepsCard UI adjustment
1 parent 22abbaf commit a51607e

File tree

2 files changed

+51
-26
lines changed

2 files changed

+51
-26
lines changed

apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/overview/components/ContractChecklist.tsx

Lines changed: 49 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { AdminOnly } from "@3rdweb-sdk/react/components/roles/admin-only";
22
import { useIsMinter } from "@3rdweb-sdk/react/hooks/useContractRoles";
33
import { StepsCard } from "components/dashboard/StepsCard";
44
import { useContractFunctionSelectors } from "contract-ui/hooks/useContractFunctionSelectors";
5+
import Link from "next/link";
56
import { useMemo } from "react";
67
import type { ThirdwebContract } from "thirdweb";
78
import * as ERC20Ext from "thirdweb/extensions/erc20";
@@ -10,7 +11,6 @@ import * as ERC1155Ext from "thirdweb/extensions/erc1155";
1011
import * as ERC4337Ext from "thirdweb/extensions/erc4337";
1112
import { getAccounts } from "thirdweb/extensions/erc4337";
1213
import { useReadContract } from "thirdweb/react";
13-
import { Link, Text } from "tw-components";
1414

1515
interface ContractChecklistProps {
1616
contract: ThirdwebContract;
@@ -177,13 +177,16 @@ function Inner({
177177
steps.push({
178178
title: "First NFT uploaded",
179179
children: (
180-
<Text size="body.sm">
180+
<p className="text-muted-foreground text-sm">
181181
Head to the{" "}
182-
<Link href={nftHref} color="blue.500">
182+
<Link
183+
href={nftHref}
184+
className="text-link-foreground hover:text-foreground"
185+
>
183186
NFTs tab
184187
</Link>{" "}
185188
to upload your NFT metadata.
186-
</Text>
189+
</p>
187190
),
188191
// can be either 721 or 1155
189192
completed: (nftsQuery.data?.length || 0) > 0,
@@ -194,13 +197,16 @@ function Inner({
194197
steps.push({
195198
title: "Set NFT Metadata",
196199
children: (
197-
<Text size="label.sm">
200+
<p className="text-muted-foreground text-sm">
198201
Head to the{" "}
199-
<Link href={nftHref} color="blue.500">
202+
<Link
203+
href={nftHref}
204+
className="text-link-foreground hover:text-foreground"
205+
>
200206
NFTs tab
201207
</Link>{" "}
202208
to set your NFT metadata.
203-
</Text>
209+
</p>
204210
),
205211
completed: !!sharedMetadataQuery?.data,
206212
});
@@ -210,14 +216,17 @@ function Inner({
210216
steps.push({
211217
title: "Set Claim Conditions",
212218
children: (
213-
<Text size="label.sm">
219+
<p className="text-muted-foreground text-sm">
214220
Head to the{" "}
215-
<Link href={claimConditionsHref} color="blue.500">
221+
<Link
222+
href={claimConditionsHref}
223+
className="text-link-foreground hover:text-foreground"
224+
>
216225
Claim Conditions tab
217226
</Link>{" "}
218227
to set your claim conditions. Users will be able to claim your drop
219228
only if a claim phase is active.
220-
</Text>
229+
</p>
221230
),
222231
completed:
223232
(claimConditions.data?.length || 0) > 0 ||
@@ -229,7 +238,9 @@ function Inner({
229238
steps.push({
230239
title: "First NFT claimed",
231240
children: (
232-
<Text size="label.sm">No NFTs have been claimed so far.</Text>
241+
<p className="text-muted-foreground text-sm">
242+
No NFTs have been claimed so far.
243+
</p>
233244
),
234245
completed: (erc721Claimed.data || 0n) > 0n,
235246
});
@@ -239,7 +250,9 @@ function Inner({
239250
steps.push({
240251
title: "First token claimed",
241252
children: (
242-
<Text size="label.sm">No tokens have been claimed so far.</Text>
253+
<p className="text-muted-foreground text-sm">
254+
No tokens have been claimed so far.
255+
</p>
243256
),
244257
completed: (erc20Supply.data || 0n) > 0n,
245258
});
@@ -249,13 +262,16 @@ function Inner({
249262
steps.push({
250263
title: "First token minted",
251264
children: (
252-
<Text size="label.sm">
265+
<p className="text-muted-foreground text-sm">
253266
Head to the{" "}
254-
<Link href={tokenHref} color="blue.500">
267+
<Link
268+
href={tokenHref}
269+
className="text-link-foreground hover:text-foreground"
270+
>
255271
token tab
256272
</Link>{" "}
257273
to mint your first token.
258-
</Text>
274+
</p>
259275
),
260276
completed: (erc20Supply.data || 0n) > 0n,
261277
});
@@ -265,13 +281,16 @@ function Inner({
265281
steps.push({
266282
title: "First NFT minted",
267283
children: (
268-
<Text size="label.sm">
284+
<p className="text-muted-foreground text-sm">
269285
Head to the{" "}
270-
<Link href={nftHref} color="blue.500">
286+
<Link
287+
href={nftHref}
288+
className="text-link-foreground hover:text-foreground"
289+
>
271290
NFTs tab
272291
</Link>{" "}
273292
to mint your first token.
274-
</Text>
293+
</p>
275294
),
276295
// can be either 721 or 1155
277296
completed: (nftsQuery.data?.length || 0) > 0,
@@ -282,13 +301,16 @@ function Inner({
282301
steps.push({
283302
title: "First account created",
284303
children: (
285-
<Text size="label.sm">
304+
<p className="text-muted-foreground text-sm">
286305
Head to the{" "}
287-
<Link href={accountsHref} color="blue.500">
306+
<Link
307+
href={accountsHref}
308+
className="text-link-foreground hover:text-foreground"
309+
>
288310
Accounts tab
289311
</Link>{" "}
290312
to create your first account.
291-
</Text>
313+
</p>
292314
),
293315
completed: (accounts.data?.length || 0) > 0,
294316
});
@@ -298,13 +320,16 @@ function Inner({
298320
steps.push({
299321
title: "NFTs revealed",
300322
children: (
301-
<Text size="label.sm">
323+
<p className="text-muted-foreground text-sm">
302324
Head to the{" "}
303-
<Link href={nftHref} color="blue.500">
325+
<Link
326+
href={nftHref}
327+
className="text-link-foreground hover:text-foreground"
328+
>
304329
NFTs tab
305330
</Link>{" "}
306331
to reveal your NFTs.
307-
</Text>
332+
</p>
308333
),
309334
// This is always false because if there are batches to reveal, the step doesn't show.
310335
completed: false,

apps/dashboard/src/components/dashboard/StepsCard.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export const StepsCard: React.FC<StepsCardProps> = ({
5757
</p>
5858
</div>
5959

60-
<div className="flex w-full flex-col gap-5">
60+
<div className="flex w-full flex-col gap-7">
6161
{steps.map(({ children, ...step }, index) => {
6262
const showChildren =
6363
!step.completed || (step.completed && step.showCompletedChildren);
@@ -74,7 +74,7 @@ export const StepsCard: React.FC<StepsCardProps> = ({
7474

7575
<div className="grow">
7676
{/* Heading + Desc */}
77-
<div className="mb-3 flex flex-col">
77+
<div className="mb-1 flex flex-col">
7878
{typeof step.title === "string" ? (
7979
<h3
8080
className={cn(

0 commit comments

Comments
 (0)