Skip to content

Commit 7f01495

Browse files
committed
Move onboarding components to app router folder
1 parent 843f2a1 commit 7f01495

File tree

16 files changed

+59
-51
lines changed

16 files changed

+59
-51
lines changed

apps/dashboard/src/components/homepage/sections/PricingCard.tsx renamed to apps/dashboard/src/@/components/blocks/pricing-card.tsx

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import type { Team } from "@/api/team";
2+
import { CheckoutButton } from "@/components/billing";
23
import { Badge } from "@/components/ui/badge";
34
import { Button } from "@/components/ui/button";
5+
import { ToolTipLabel } from "@/components/ui/tooltip";
46
import { TrackedLinkTW } from "@/components/ui/tracked-link";
57
import { cn } from "@/lib/utils";
8+
import { CheckIcon, CircleDollarSignIcon } from "lucide-react";
69
import type React from "react";
710
import { TEAM_PLANS } from "utils/pricing";
8-
import { CheckoutButton } from "../../../@/components/billing";
911
import { remainingDays } from "../../../utils/date-utils";
10-
import { FeatureItem } from "./FeatureItem";
1112

1213
type ButtonProps = React.ComponentProps<typeof Button>;
1314

@@ -154,3 +155,30 @@ export const PricingCard: React.FC<PricingCardProps> = ({
154155
</div>
155156
);
156157
};
158+
159+
type FeatureItemProps = {
160+
text: string | string[];
161+
};
162+
163+
function FeatureItem({ text }: FeatureItemProps) {
164+
const titleStr = Array.isArray(text) ? text[0] : text;
165+
166+
return (
167+
<div className="flex items-center gap-2">
168+
<CheckIcon className="size-4 shrink-0 text-green-500" />
169+
{Array.isArray(text) ? (
170+
<div className="flex items-center gap-2">
171+
<p className="text-muted-foreground">
172+
{titleStr}{" "}
173+
<span className="text-muted-foreground md:hidden">{text[1]}</span>
174+
</p>
175+
<ToolTipLabel label={text[1]}>
176+
<CircleDollarSignIcon className="hidden size-4 text-muted-foreground md:block" />
177+
</ToolTipLabel>
178+
</div>
179+
) : (
180+
<p className="text-muted-foreground">{titleStr}</p>
181+
)}
182+
</div>
183+
);
184+
}

apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/(chainPage)/components/client/FaucetButton.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import { toUnits } from "thirdweb";
2323
import type { ChainMetadata } from "thirdweb/chains";
2424
import { useActiveAccount, useWalletBalance } from "thirdweb/react";
2525
import { z } from "zod";
26-
import { isOnboardingComplete } from "../../../../../../login/isOnboardingRequired";
26+
import { isOnboardingComplete } from "../../../../../../login/onboarding/isOnboardingRequired";
2727

2828
function formatTime(seconds: number) {
2929
const rtf = new Intl.RelativeTimeFormat("en", { numeric: "auto" });

apps/dashboard/src/app/account/settings/getAccount.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { API_SERVER_URL } from "@/constants/env";
22
import type { Account } from "@3rdweb-sdk/react/hooks/useApi";
33
import { getAuthToken } from "../../api/lib/getAuthToken";
4-
import { isOnboardingComplete } from "../../login/isOnboardingRequired";
54
import { loginRedirect } from "../../login/loginRedirect";
5+
import { isOnboardingComplete } from "../../login/onboarding/isOnboardingRequired";
66

77
/**
88
* Just get the account object without enforcing onboarding.

apps/dashboard/src/app/login/LoginPage.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ import { ClientOnly } from "../../components/ClientOnly/ClientOnly";
1515
import { ThirdwebMiniLogo } from "../components/ThirdwebMiniLogo";
1616
import { getSDKTheme } from "../components/sdk-component-theme";
1717
import { doLogin, doLogout, getLoginPayload, isLoggedIn } from "./auth-actions";
18-
import { isOnboardingComplete } from "./isOnboardingRequired";
18+
import { isOnboardingComplete } from "./onboarding/isOnboardingRequired";
1919

2020
const LazyOnboardingUI = lazy(
21-
() => import("../../components/onboarding/on-boarding-ui.client"),
21+
() => import("./onboarding/on-boarding-ui.client"),
2222
);
2323

2424
const wallets = [

apps/dashboard/src/components/onboarding/ChoosePlan.tsx renamed to apps/dashboard/src/app/login/onboarding/ChoosePlan.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"use client";
2+
3+
import { PricingCard } from "@/components/blocks/pricing-card";
24
import { Button } from "@/components/ui/button";
3-
import { PricingCard } from "components/homepage/sections/PricingCard";
45
import { ArrowRightIcon } from "lucide-react";
56
import { TitleAndDescription } from "./Title";
67

apps/dashboard/src/components/onboarding/ConfirmEmail.tsx renamed to apps/dashboard/src/app/login/onboarding/ConfirmEmail.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
"use client";
2+
3+
import type { Team } from "@/api/team";
14
import { Spinner } from "@/components/ui/Spinner/Spinner";
25
import { Button } from "@/components/ui/button";
36
import {
@@ -24,7 +27,6 @@ import { useState } from "react";
2427
import { useForm } from "react-hook-form";
2528
import { toast } from "sonner";
2629
import { shortenString } from "utils/usedapp-external";
27-
import type { Team } from "../../@/api/team";
2830
import { TitleAndDescription } from "./Title";
2931

3032
interface OnboardingConfirmEmailProps {

apps/dashboard/src/components/onboarding/General.tsx renamed to apps/dashboard/src/app/login/onboarding/General.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1+
"use client";
2+
13
import { Spinner } from "@/components/ui/Spinner/Spinner";
24
import { Button } from "@/components/ui/button";
35
import type { Account } from "@3rdweb-sdk/react/hooks/useApi";
46
import { useMutation } from "@tanstack/react-query";
57
import { AccountForm } from "components/settings/Account/AccountForm";
68
import { useState } from "react";
79
import { useActiveWallet, useDisconnect } from "thirdweb/react";
8-
import { doLogout } from "../../app/login/auth-actions";
10+
import { doLogout } from "../auth-actions";
911
import { TitleAndDescription } from "./Title";
1012

1113
type OnboardingGeneralProps = {

apps/dashboard/src/components/onboarding/LinkWallet.tsx renamed to apps/dashboard/src/app/login/onboarding/LinkWallet.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
"use client";
2+
13
import { Spinner } from "@/components/ui/Spinner/Spinner";
24
import { Button } from "@/components/ui/button";
35
import { TrackedLinkTW } from "@/components/ui/tracked-link";

apps/dashboard/src/components/onboarding/Title.tsx renamed to apps/dashboard/src/app/login/onboarding/Title.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import type { JSX } from "react";
2+
23
type TitleAndDescriptionProps = {
34
heading: string | JSX.Element;
45
description: string | JSX.Element;

0 commit comments

Comments
 (0)