diff --git a/apps/dashboard/src/@/actions/confirmEmail.ts b/apps/dashboard/src/@/actions/account/confirmEmail.ts similarity index 100% rename from apps/dashboard/src/@/actions/confirmEmail.ts rename to apps/dashboard/src/@/actions/account/confirmEmail.ts diff --git a/apps/dashboard/src/@/actions/getAccount.ts b/apps/dashboard/src/@/actions/account/getAccount.ts similarity index 53% rename from apps/dashboard/src/@/actions/getAccount.ts rename to apps/dashboard/src/@/actions/account/getAccount.ts index 1e2e8cfdeea..1fbbdb0d407 100644 --- a/apps/dashboard/src/@/actions/getAccount.ts +++ b/apps/dashboard/src/@/actions/account/getAccount.ts @@ -1,6 +1,6 @@ "use server"; -import { getRawAccount } from "../../app/(app)/account/settings/getAccount"; +import { getRawAccount } from "@/api/account/get-account"; export async function getRawAccountAction() { return getRawAccount(); diff --git a/apps/dashboard/src/@/actions/updateAccount.ts b/apps/dashboard/src/@/actions/account/updateAccount.ts similarity index 100% rename from apps/dashboard/src/@/actions/updateAccount.ts rename to apps/dashboard/src/@/actions/account/updateAccount.ts diff --git a/apps/dashboard/src/@/actions/stripe-actions.ts b/apps/dashboard/src/@/actions/stripe-actions.ts index 0aab0cb7fb6..3030aa4a1a3 100644 --- a/apps/dashboard/src/@/actions/stripe-actions.ts +++ b/apps/dashboard/src/@/actions/stripe-actions.ts @@ -1,7 +1,7 @@ import "server-only"; import Stripe from "stripe"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { STRIPE_SECRET_KEY } from "@/constants/server-envs"; let existingStripe: Stripe | undefined; diff --git a/apps/dashboard/src/@/actions/acceptInvite.ts b/apps/dashboard/src/@/actions/team/acceptInvite.ts similarity index 100% rename from apps/dashboard/src/@/actions/acceptInvite.ts rename to apps/dashboard/src/@/actions/team/acceptInvite.ts diff --git a/apps/dashboard/src/@/actions/createTeam.ts b/apps/dashboard/src/@/actions/team/createTeam.ts similarity index 97% rename from apps/dashboard/src/@/actions/createTeam.ts rename to apps/dashboard/src/@/actions/team/createTeam.ts index ed4490ce2b8..c75ed24282a 100644 --- a/apps/dashboard/src/@/actions/createTeam.ts +++ b/apps/dashboard/src/@/actions/team/createTeam.ts @@ -5,7 +5,7 @@ import "server-only"; import { randomBytes } from "crypto"; import { format } from "date-fns"; import { getAuthToken } from "@/api/auth-token"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { NEXT_PUBLIC_THIRDWEB_API_HOST } from "@/constants/public-envs"; export async function createTeam(options?: { name?: string; slug?: string }) { diff --git a/apps/dashboard/src/@/actions/deleteTeam.ts b/apps/dashboard/src/@/actions/team/deleteTeam.ts similarity index 100% rename from apps/dashboard/src/@/actions/deleteTeam.ts rename to apps/dashboard/src/@/actions/team/deleteTeam.ts diff --git a/apps/dashboard/src/@/actions/sendTeamInvite.ts b/apps/dashboard/src/@/actions/team/sendTeamInvite.ts similarity index 100% rename from apps/dashboard/src/@/actions/sendTeamInvite.ts rename to apps/dashboard/src/@/actions/team/sendTeamInvite.ts diff --git a/apps/dashboard/src/@/analytics/report.ts b/apps/dashboard/src/@/analytics/report.ts index f0a0246529a..f74bfa719aa 100644 --- a/apps/dashboard/src/@/analytics/report.ts +++ b/apps/dashboard/src/@/analytics/report.ts @@ -1,7 +1,7 @@ "use client"; import posthog from "posthog-js"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import type { ProductSKU } from "../types/billing"; // ---------------------------- diff --git a/apps/dashboard/src/app/(app)/account/settings/getAccount.ts b/apps/dashboard/src/@/api/account/get-account.ts similarity index 93% rename from apps/dashboard/src/app/(app)/account/settings/getAccount.ts rename to apps/dashboard/src/@/api/account/get-account.ts index d8cc63033dc..1cb2b4fb008 100644 --- a/apps/dashboard/src/app/(app)/account/settings/getAccount.ts +++ b/apps/dashboard/src/@/api/account/get-account.ts @@ -1,8 +1,8 @@ import { getAuthToken } from "@/api/auth-token"; import { NEXT_PUBLIC_THIRDWEB_API_HOST } from "@/constants/public-envs"; import type { Account } from "@/hooks/useApi"; +import { isAccountOnboardingComplete } from "@/utils/account-onboarding"; import { loginRedirect } from "@/utils/redirects"; -import { isAccountOnboardingComplete } from "../../../login/onboarding/isOnboardingRequired"; /** * Just get the account object without enforcing onboarding. diff --git a/apps/dashboard/src/@/api/linked-wallets.ts b/apps/dashboard/src/@/api/account/linked-wallets.ts similarity index 92% rename from apps/dashboard/src/@/api/linked-wallets.ts rename to apps/dashboard/src/@/api/account/linked-wallets.ts index 4d584b29e62..fcc85d0b262 100644 --- a/apps/dashboard/src/@/api/linked-wallets.ts +++ b/apps/dashboard/src/@/api/account/linked-wallets.ts @@ -1,5 +1,5 @@ +import { getAuthToken } from "@/api/auth-token"; import { NEXT_PUBLIC_THIRDWEB_API_HOST } from "@/constants/public-envs"; -import { getAuthToken } from "./auth-token"; export type LinkedWallet = { createdAt: string; diff --git a/apps/dashboard/src/@/api/auth-token.ts b/apps/dashboard/src/@/api/auth-token.ts index 0f062fd39ca..cbbe2cf3e45 100644 --- a/apps/dashboard/src/@/api/auth-token.ts +++ b/apps/dashboard/src/@/api/auth-token.ts @@ -1,6 +1,9 @@ import { cookies } from "next/headers"; -import { COOKIE_ACTIVE_ACCOUNT, COOKIE_PREFIX_TOKEN } from "@/constants/cookie"; -import { LAST_USED_TEAM_ID } from "@/constants/cookies"; +import { + COOKIE_ACTIVE_ACCOUNT, + COOKIE_PREFIX_TOKEN, + LAST_USED_TEAM_ID, +} from "@/constants/cookie"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; export async function getAuthToken() { diff --git a/apps/dashboard/src/@/components/contract-components/fetch-contracts-with-versions.ts b/apps/dashboard/src/@/api/contract/fetch-contracts-with-versions.ts similarity index 100% rename from apps/dashboard/src/@/components/contract-components/fetch-contracts-with-versions.ts rename to apps/dashboard/src/@/api/contract/fetch-contracts-with-versions.ts diff --git a/apps/dashboard/src/@/components/contract-components/fetchDeployMetadata.ts b/apps/dashboard/src/@/api/contract/fetchDeployMetadata.ts similarity index 90% rename from apps/dashboard/src/@/components/contract-components/fetchDeployMetadata.ts rename to apps/dashboard/src/@/api/contract/fetchDeployMetadata.ts index 09bddb56bf1..3d6ada9000c 100644 --- a/apps/dashboard/src/@/components/contract-components/fetchDeployMetadata.ts +++ b/apps/dashboard/src/@/api/contract/fetchDeployMetadata.ts @@ -1,7 +1,7 @@ import type { ThirdwebClient } from "thirdweb"; import { fetchDeployMetadata as sdkFetchDeployMetadata } from "thirdweb/contract"; import { removeUndefinedFromObjectDeep } from "@/utils/object"; -import type { ContractId } from "./types"; +import type { ContractId } from "../../components/contract-components/types"; // metadata PRE publish, only has the compiler output info (from CLI) diff --git a/apps/dashboard/src/@/components/contract-components/fetchPublishedContracts.ts b/apps/dashboard/src/@/api/contract/fetchPublishedContracts.ts similarity index 100% rename from apps/dashboard/src/@/components/contract-components/fetchPublishedContracts.ts rename to apps/dashboard/src/@/api/contract/fetchPublishedContracts.ts diff --git a/apps/dashboard/src/@/components/contract-components/fetchPublishedContractsFromDeploy.ts b/apps/dashboard/src/@/api/contract/fetchPublishedContractsFromDeploy.ts similarity index 100% rename from apps/dashboard/src/@/components/contract-components/fetchPublishedContractsFromDeploy.ts rename to apps/dashboard/src/@/api/contract/fetchPublishedContractsFromDeploy.ts diff --git a/apps/dashboard/src/@/components/contract-components/getContractFunctionsFromAbi.ts b/apps/dashboard/src/@/api/contract/getContractFunctionsFromAbi.ts similarity index 100% rename from apps/dashboard/src/@/components/contract-components/getContractFunctionsFromAbi.ts rename to apps/dashboard/src/@/api/contract/getContractFunctionsFromAbi.ts diff --git a/apps/dashboard/src/@/api/contract/verify-contract.ts b/apps/dashboard/src/@/api/contract/verify-contract.ts new file mode 100644 index 00000000000..4dd7d1c2224 --- /dev/null +++ b/apps/dashboard/src/@/api/contract/verify-contract.ts @@ -0,0 +1,27 @@ +import type { ThirdwebContract } from "thirdweb"; + +export async function verifyContract(contract: ThirdwebContract) { + try { + const response = await fetch( + "https://contract.thirdweb.com/verify/contract", + { + body: JSON.stringify({ + chainId: contract.chain.id, + contractAddress: contract.address, + }), + headers: { + "Content-Type": "application/json", + }, + method: "POST", + }, + ); + + if (!response.ok) { + console.error(`Error verifying contract: ${response.statusText}`); + } + + return await response.json(); + } catch (error) { + console.error(`Error verifying contract: ${error}`); + } +} diff --git a/apps/dashboard/src/@/api/getProjectContracts.ts b/apps/dashboard/src/@/api/project/getProjectContracts.ts similarity index 100% rename from apps/dashboard/src/@/api/getProjectContracts.ts rename to apps/dashboard/src/@/api/project/getProjectContracts.ts diff --git a/apps/dashboard/src/app/(app)/account/contracts/_components/getSortedDeployedContracts.tsx b/apps/dashboard/src/@/api/project/getSortedDeployedContracts.tsx similarity index 97% rename from apps/dashboard/src/app/(app)/account/contracts/_components/getSortedDeployedContracts.tsx rename to apps/dashboard/src/@/api/project/getSortedDeployedContracts.tsx index 83f61aefdbb..e5cdcbc9c21 100644 --- a/apps/dashboard/src/app/(app)/account/contracts/_components/getSortedDeployedContracts.tsx +++ b/apps/dashboard/src/@/api/project/getSortedDeployedContracts.tsx @@ -1,7 +1,7 @@ import { getProjectContracts, type ProjectContract, -} from "@/api/getProjectContracts"; +} from "@/api/project/getProjectContracts"; import { fetchChainWithLocalOverrides } from "@/utils/fetchChainWithLocalOverrides"; export async function getSortedDeployedContracts(params: { diff --git a/apps/dashboard/src/@/api/projects.ts b/apps/dashboard/src/@/api/project/projects.ts similarity index 95% rename from apps/dashboard/src/@/api/projects.ts rename to apps/dashboard/src/@/api/project/projects.ts index ba5b417b8d1..126ff06939e 100644 --- a/apps/dashboard/src/@/api/projects.ts +++ b/apps/dashboard/src/@/api/project/projects.ts @@ -1,7 +1,7 @@ import "server-only"; import type { ProjectResponse } from "@thirdweb-dev/service-utils"; +import { getAuthToken } from "@/api/auth-token"; import { NEXT_PUBLIC_THIRDWEB_API_HOST } from "@/constants/public-envs"; -import { getAuthToken } from "./auth-token"; export type Project = ProjectResponse; diff --git a/apps/dashboard/src/@/api/webhook-configs.ts b/apps/dashboard/src/@/api/project/webhook-configs.ts similarity index 100% rename from apps/dashboard/src/@/api/webhook-configs.ts rename to apps/dashboard/src/@/api/project/webhook-configs.ts diff --git a/apps/dashboard/src/@/api/audit-log.ts b/apps/dashboard/src/@/api/team/audit-log.ts similarity index 97% rename from apps/dashboard/src/@/api/audit-log.ts rename to apps/dashboard/src/@/api/team/audit-log.ts index c04c8ba5460..3067f52e489 100644 --- a/apps/dashboard/src/@/api/audit-log.ts +++ b/apps/dashboard/src/@/api/team/audit-log.ts @@ -1,8 +1,8 @@ "use server"; import "server-only"; +import { getAuthToken } from "@/api/auth-token"; import { NEXT_PUBLIC_THIRDWEB_API_HOST } from "@/constants/public-envs"; -import { getAuthToken } from "./auth-token"; export type AuditLogEntry = { who: { diff --git a/apps/dashboard/src/@/api/dedicated-support.ts b/apps/dashboard/src/@/api/team/dedicated-support.ts similarity index 94% rename from apps/dashboard/src/@/api/dedicated-support.ts rename to apps/dashboard/src/@/api/team/dedicated-support.ts index 5ab66abee4f..620e98b4c11 100644 --- a/apps/dashboard/src/@/api/dedicated-support.ts +++ b/apps/dashboard/src/@/api/team/dedicated-support.ts @@ -1,8 +1,8 @@ "use server"; import "server-only"; +import { getAuthToken } from "@/api/auth-token"; import { NEXT_PUBLIC_THIRDWEB_API_HOST } from "@/constants/public-envs"; -import { getAuthToken } from "./auth-token"; export async function createDedicatedSupportChannel( teamIdOrSlug: string, diff --git a/apps/dashboard/src/@/api/ecosystems.ts b/apps/dashboard/src/@/api/team/ecosystems.ts similarity index 98% rename from apps/dashboard/src/@/api/ecosystems.ts rename to apps/dashboard/src/@/api/team/ecosystems.ts index 1f4793d004f..e1365ce8cb0 100644 --- a/apps/dashboard/src/@/api/ecosystems.ts +++ b/apps/dashboard/src/@/api/team/ecosystems.ts @@ -1,7 +1,7 @@ import "server-only"; +import { getAuthToken } from "@/api/auth-token"; import { NEXT_PUBLIC_THIRDWEB_API_HOST } from "@/constants/public-envs"; -import { getAuthToken } from "./auth-token"; export type AuthOption = | "email" diff --git a/apps/dashboard/src/@/api/team.ts b/apps/dashboard/src/@/api/team/get-team.ts similarity index 94% rename from apps/dashboard/src/@/api/team.ts rename to apps/dashboard/src/@/api/team/get-team.ts index 86ebb432d09..58e144474a5 100644 --- a/apps/dashboard/src/@/api/team.ts +++ b/apps/dashboard/src/@/api/team/get-team.ts @@ -1,11 +1,11 @@ import "server-only"; import type { TeamResponse } from "@thirdweb-dev/service-utils"; import { cookies } from "next/headers"; -import { LAST_USED_TEAM_ID } from "@/constants/cookies"; +import { getValidAccount } from "@/api/account/get-account"; +import { getAuthToken } from "@/api/auth-token"; +import { LAST_USED_TEAM_ID } from "@/constants/cookie"; import { NEXT_PUBLIC_THIRDWEB_API_HOST } from "@/constants/public-envs"; import { API_SERVER_SECRET } from "@/constants/server-envs"; -import { getValidAccount } from "../../app/(app)/account/settings/getAccount"; -import { getAuthToken } from "./auth-token"; import { getMemberByAccountId } from "./team-members"; export type Team = TeamResponse & { stripeCustomerId: string | null }; diff --git a/apps/dashboard/src/@/api/team-invites.ts b/apps/dashboard/src/@/api/team/team-invites.ts similarity index 94% rename from apps/dashboard/src/@/api/team-invites.ts rename to apps/dashboard/src/@/api/team/team-invites.ts index 5e883881cda..cecb6fbbde5 100644 --- a/apps/dashboard/src/@/api/team-invites.ts +++ b/apps/dashboard/src/@/api/team/team-invites.ts @@ -1,5 +1,5 @@ +import { getAuthToken } from "@/api/auth-token"; import { NEXT_PUBLIC_THIRDWEB_API_HOST } from "@/constants/public-envs"; -import { getAuthToken } from "./auth-token"; export type TeamInvite = { id: string; diff --git a/apps/dashboard/src/@/api/team-members.ts b/apps/dashboard/src/@/api/team/team-members.ts similarity index 96% rename from apps/dashboard/src/@/api/team-members.ts rename to apps/dashboard/src/@/api/team/team-members.ts index 01a9b8d561e..a3ea96e3b0f 100644 --- a/apps/dashboard/src/@/api/team-members.ts +++ b/apps/dashboard/src/@/api/team/team-members.ts @@ -1,6 +1,6 @@ import "server-only"; +import { getAuthToken } from "@/api/auth-token"; import { NEXT_PUBLIC_THIRDWEB_API_HOST } from "@/constants/public-envs"; -import { getAuthToken } from "./auth-token"; const TeamAccountRole = { MEMBER: "MEMBER", diff --git a/apps/dashboard/src/@/api/team-subscription.ts b/apps/dashboard/src/@/api/team/team-subscription.ts similarity index 100% rename from apps/dashboard/src/@/api/team-subscription.ts rename to apps/dashboard/src/@/api/team/team-subscription.ts diff --git a/apps/dashboard/src/@/api/verified-domain.ts b/apps/dashboard/src/@/api/team/verified-domain.ts similarity index 97% rename from apps/dashboard/src/@/api/verified-domain.ts rename to apps/dashboard/src/@/api/team/verified-domain.ts index 96f03dad84e..241f2dde71b 100644 --- a/apps/dashboard/src/@/api/verified-domain.ts +++ b/apps/dashboard/src/@/api/team/verified-domain.ts @@ -1,8 +1,8 @@ "use server"; import "server-only"; +import { getAuthToken } from "@/api/auth-token"; import { NEXT_PUBLIC_THIRDWEB_API_HOST } from "@/constants/public-envs"; -import { getAuthToken } from "./auth-token"; export type VerifiedDomainResponse = | { diff --git a/apps/dashboard/src/@/components/billing/billing.tsx b/apps/dashboard/src/@/components/billing/billing.tsx index 9ef95e372a2..6c4ae3cae4a 100644 --- a/apps/dashboard/src/@/components/billing/billing.tsx +++ b/apps/dashboard/src/@/components/billing/billing.tsx @@ -1,7 +1,7 @@ "use client"; import { AlertTriangleIcon } from "lucide-react"; import Link from "next/link"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { Button, type ButtonProps } from "@/components/ui/button"; import { cn } from "@/lib/utils"; import type { ProductSKU } from "@/types/billing"; diff --git a/apps/dashboard/src/@/components/blocks/pricing-card.tsx b/apps/dashboard/src/@/components/billing/pricing-card.tsx similarity index 98% rename from apps/dashboard/src/@/components/blocks/pricing-card.tsx rename to apps/dashboard/src/@/components/billing/pricing-card.tsx index 8de5b6484f3..60e56dbe875 100644 --- a/apps/dashboard/src/@/components/blocks/pricing-card.tsx +++ b/apps/dashboard/src/@/components/billing/pricing-card.tsx @@ -2,9 +2,9 @@ import { CheckIcon, DollarSignIcon } from "lucide-react"; import Link from "next/link"; import type React from "react"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { CheckoutButton } from "@/components/billing/billing"; -import { RenewSubscriptionButton } from "@/components/billing/renew-subscription/renew-subscription-button"; +import { RenewSubscriptionButton } from "@/components/billing/renew-subscription-button"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { ToolTipLabel } from "@/components/ui/tooltip"; diff --git a/apps/dashboard/src/@/components/billing/renew-subscription/renew-subscription-button.tsx b/apps/dashboard/src/@/components/billing/renew-subscription-button.tsx similarity index 93% rename from apps/dashboard/src/@/components/billing/renew-subscription/renew-subscription-button.tsx rename to apps/dashboard/src/@/components/billing/renew-subscription-button.tsx index 998d588537d..3d66a24c496 100644 --- a/apps/dashboard/src/@/components/billing/renew-subscription/renew-subscription-button.tsx +++ b/apps/dashboard/src/@/components/billing/renew-subscription-button.tsx @@ -5,12 +5,12 @@ import { RefreshCwIcon } from "lucide-react"; import { useState, useTransition } from "react"; import { toast } from "sonner"; import { reSubscribePlan } from "@/actions/billing"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { Button } from "@/components/ui/button"; import { Spinner } from "@/components/ui/Spinner/Spinner"; import { useDashboardRouter } from "@/lib/DashboardRouter"; -import { pollWithTimeout } from "../../../utils/pollWithTimeout"; -import { tryCatch } from "../../../utils/try-catch"; +import { pollWithTimeout } from "@/utils/pollWithTimeout"; +import { tryCatch } from "@/utils/try-catch"; export function RenewSubscriptionButton(props: { teamId: string; diff --git a/apps/dashboard/src/@/components/blocks/GatedSwitch.stories.tsx b/apps/dashboard/src/@/components/blocks/GatedSwitch.stories.tsx index 05814a17551..ae5a0146da0 100644 --- a/apps/dashboard/src/@/components/blocks/GatedSwitch.stories.tsx +++ b/apps/dashboard/src/@/components/blocks/GatedSwitch.stories.tsx @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from "@storybook/nextjs"; import { useState } from "react"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { Label } from "@/components/ui/label"; import { Select, diff --git a/apps/dashboard/src/@/components/blocks/GatedSwitch.tsx b/apps/dashboard/src/@/components/blocks/GatedSwitch.tsx index 66e4bb81b78..84273559e50 100644 --- a/apps/dashboard/src/@/components/blocks/GatedSwitch.tsx +++ b/apps/dashboard/src/@/components/blocks/GatedSwitch.tsx @@ -1,6 +1,6 @@ import { ExternalLinkIcon } from "lucide-react"; import Link from "next/link"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { Button } from "@/components/ui/button"; import { Switch } from "@/components/ui/switch"; import { ToolTipLabel } from "@/components/ui/tooltip"; diff --git a/apps/dashboard/src/@/components/blocks/TeamPlanBadge.tsx b/apps/dashboard/src/@/components/blocks/TeamPlanBadge.tsx index 96e80469b84..b72a9ee4cb6 100644 --- a/apps/dashboard/src/@/components/blocks/TeamPlanBadge.tsx +++ b/apps/dashboard/src/@/components/blocks/TeamPlanBadge.tsx @@ -1,6 +1,6 @@ "use client"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { Badge, type BadgeProps } from "@/components/ui/badge"; import { useDashboardRouter } from "@/lib/DashboardRouter"; import { cn } from "@/lib/utils"; diff --git a/apps/dashboard/src/@/components/blocks/TokenSelector.tsx b/apps/dashboard/src/@/components/blocks/TokenSelector.tsx index 228bc161fbe..a85978aec36 100644 --- a/apps/dashboard/src/@/components/blocks/TokenSelector.tsx +++ b/apps/dashboard/src/@/components/blocks/TokenSelector.tsx @@ -9,10 +9,10 @@ import type { TokenMetadata } from "@/api/universal-bridge/tokens"; import { Img } from "@/components/blocks/Img"; import { SelectWithSearch } from "@/components/blocks/select-with-search"; import { Badge } from "@/components/ui/badge"; +import { fallbackChainIcon } from "@/constants/chain"; import { useAllChainsData } from "@/hooks/chains/allChains"; import { useTokensData } from "@/hooks/tokens"; import { cn } from "@/lib/utils"; -import { fallbackChainIcon } from "@/utils/chain-icons"; import { resolveSchemeWithErrorHandler } from "@/utils/resolveSchemeWithErrorHandler"; import { Spinner } from "../ui/Spinner/Spinner"; diff --git a/apps/dashboard/src/@/components/blocks/upsell-wrapper.tsx b/apps/dashboard/src/@/components/blocks/upsell-wrapper.tsx index 630e34dfc6c..d2a3361ce1a 100644 --- a/apps/dashboard/src/@/components/blocks/upsell-wrapper.tsx +++ b/apps/dashboard/src/@/components/blocks/upsell-wrapper.tsx @@ -3,7 +3,7 @@ import { CrownIcon, LockIcon } from "lucide-react"; import Link from "next/link"; import type React from "react"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { TeamPlanBadge } from "@/components/blocks/TeamPlanBadge"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; diff --git a/apps/dashboard/src/@/components/chat/CustomChatButton.tsx b/apps/dashboard/src/@/components/chat/CustomChatButton.tsx index 8c085378684..4cf12ce9cdb 100644 --- a/apps/dashboard/src/@/components/chat/CustomChatButton.tsx +++ b/apps/dashboard/src/@/components/chat/CustomChatButton.tsx @@ -4,7 +4,7 @@ import { MessageCircleIcon, XIcon } from "lucide-react"; import { useSelectedLayoutSegments } from "next/navigation"; import { useCallback, useRef, useState } from "react"; import { createThirdwebClient } from "thirdweb"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { Button } from "@/components/ui/button"; import { NEXT_PUBLIC_DASHBOARD_CLIENT_ID } from "@/constants/public-envs"; import { cn } from "@/lib/utils"; diff --git a/apps/dashboard/src/@/components/chat/CustomChatContent.tsx b/apps/dashboard/src/@/components/chat/CustomChatContent.tsx index 140d03345b0..dd4d2d5e364 100644 --- a/apps/dashboard/src/@/components/chat/CustomChatContent.tsx +++ b/apps/dashboard/src/@/components/chat/CustomChatContent.tsx @@ -2,7 +2,7 @@ import { useCallback, useState } from "react"; import type { ThirdwebClient } from "thirdweb"; import { useActiveWalletConnectionStatus } from "thirdweb/react"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { Button } from "@/components/ui/button"; import { ThirdwebMiniLogo } from "../../../app/(app)/components/ThirdwebMiniLogo"; import { ChatBar } from "./ChatBar"; diff --git a/apps/dashboard/src/@/components/chat/CustomChats.tsx b/apps/dashboard/src/@/components/chat/CustomChats.tsx index 2fed08b9f96..854c069eb18 100644 --- a/apps/dashboard/src/@/components/chat/CustomChats.tsx +++ b/apps/dashboard/src/@/components/chat/CustomChats.tsx @@ -6,7 +6,7 @@ import { } from "lucide-react"; import { useEffect, useRef, useState } from "react"; import type { ThirdwebClient } from "thirdweb"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { MarkdownRenderer } from "@/components/blocks/markdown-renderer"; import { DynamicHeight } from "@/components/ui/DynamicHeight"; import { diff --git a/apps/dashboard/src/@/components/connect-wallet/index.tsx b/apps/dashboard/src/@/components/connect-wallet/index.tsx index 727ab535ce0..0bd5c017212 100644 --- a/apps/dashboard/src/@/components/connect-wallet/index.tsx +++ b/apps/dashboard/src/@/components/connect-wallet/index.tsx @@ -1,6 +1,5 @@ "use client"; -import { useFavoriteChainIds } from "@app/(dashboard)/(chain)/components/client/star-button"; import Image from "next/image"; import Link from "next/link"; import { usePathname } from "next/navigation"; @@ -20,6 +19,7 @@ import { LazyConfigureNetworkModal } from "@/components/misc/configure-networks/ import { Button } from "@/components/ui/button"; import { popularChains } from "@/constants/popularChains"; import { useAllChainsData } from "@/hooks/chains/allChains"; +import { useFavoriteChainIds } from "@/hooks/favorite-chains"; import { useStore } from "@/lib/reactive"; import { addRecentlyUsedChainId, diff --git a/apps/dashboard/src/@/components/contract-components/tables/contract-table.stories.tsx b/apps/dashboard/src/@/components/contract-components/tables/contract-table.stories.tsx index e4b6dbb95ee..ed4af6e3dab 100644 --- a/apps/dashboard/src/@/components/contract-components/tables/contract-table.stories.tsx +++ b/apps/dashboard/src/@/components/contract-components/tables/contract-table.stories.tsx @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from "@storybook/nextjs"; import { ThirdwebProvider } from "thirdweb/react"; -import type { ProjectContract } from "@/api/getProjectContracts"; +import type { ProjectContract } from "@/api/project/getProjectContracts"; import { BadgeContainer, storybookThirdwebClient } from "@/storybook/utils"; import { ContractTableUI } from "./contract-table"; diff --git a/apps/dashboard/src/@/components/contract-components/tables/contract-table.tsx b/apps/dashboard/src/@/components/contract-components/tables/contract-table.tsx index 84f8e6e8f02..2ff1d30e2fc 100644 --- a/apps/dashboard/src/@/components/contract-components/tables/contract-table.tsx +++ b/apps/dashboard/src/@/components/contract-components/tables/contract-table.tsx @@ -6,7 +6,7 @@ import Link from "next/link"; import React, { useCallback, useEffect, useMemo, useState } from "react"; import { toast } from "sonner"; import type { ThirdwebClient } from "thirdweb"; -import type { ProjectContract } from "@/api/getProjectContracts"; +import type { ProjectContract } from "@/api/project/getProjectContracts"; import { PaginationButtons } from "@/components/blocks/pagination-buttons"; import { NetworkSelectDropdown } from "@/components/contract-components/tables/NetworkSelectDropdown"; import { Badge } from "@/components/ui/badge"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/DeprecatedAlert.tsx b/apps/dashboard/src/@/components/contracts/DeprecatedAlert.tsx similarity index 100% rename from apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/DeprecatedAlert.tsx rename to apps/dashboard/src/@/components/contracts/DeprecatedAlert.tsx diff --git a/apps/dashboard/src/@/components/contracts/code-overview.tsx b/apps/dashboard/src/@/components/contracts/code-overview.tsx index d2bfdfdde86..d138f7ee758 100644 --- a/apps/dashboard/src/@/components/contracts/code-overview.tsx +++ b/apps/dashboard/src/@/components/contracts/code-overview.tsx @@ -14,11 +14,11 @@ import * as ERC1155Ext from "thirdweb/extensions/erc1155"; import * as ERC4337Ext from "thirdweb/extensions/erc4337"; import { useActiveAccount } from "thirdweb/react"; import { toFunctionSelector } from "thirdweb/utils"; +import { getContractFunctionsFromAbi } from "@/api/contract/getContractFunctionsFromAbi"; import { type CodeEnvironment, CodeSegment, } from "@/components/blocks/code/code-segment.client"; -import { getContractFunctionsFromAbi } from "@/components/contract-components/getContractFunctionsFromAbi"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { Button } from "@/components/ui/button"; import { TabButtons } from "@/components/ui/tabs"; diff --git a/apps/dashboard/src/@/components/contracts/contract-card/index.tsx b/apps/dashboard/src/@/components/contracts/contract-card/contract-card.tsx similarity index 96% rename from apps/dashboard/src/@/components/contracts/contract-card/index.tsx rename to apps/dashboard/src/@/components/contracts/contract-card/contract-card.tsx index acfecec0f6d..41b34e5e670 100644 --- a/apps/dashboard/src/@/components/contracts/contract-card/index.tsx +++ b/apps/dashboard/src/@/components/contracts/contract-card/contract-card.tsx @@ -1,8 +1,8 @@ import { moduleToBase64 } from "app/(app)/(dashboard)/published-contract/utils/module-base-64"; import { RocketIcon, ShieldCheckIcon } from "lucide-react"; import Link from "next/link"; +import { fetchPublishedContractVersion } from "@/api/contract/fetch-contracts-with-versions"; import { ClientOnly } from "@/components/blocks/client-only"; -import { fetchPublishedContractVersion } from "@/components/contract-components/fetch-contracts-with-versions"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { Skeleton } from "@/components/ui/skeleton"; @@ -11,7 +11,7 @@ import { serverThirdwebClient } from "@/constants/thirdweb-client.server"; import { replaceDeployerAddress } from "@/lib/publisher-utils"; import { cn } from "@/lib/utils"; import { resolveSchemeWithErrorHandler } from "@/utils/resolveSchemeWithErrorHandler"; -import { ContractPublisher } from "../../../../app/(app)/(dashboard)/explore/components/publisher"; +import { ContractPublisher } from "./contract-publisher"; interface ContractCardProps { publisher: string; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/explore/components/publisher/index.tsx b/apps/dashboard/src/@/components/contracts/contract-card/contract-publisher.tsx similarity index 100% rename from apps/dashboard/src/app/(app)/(dashboard)/explore/components/publisher/index.tsx rename to apps/dashboard/src/@/components/contracts/contract-card/contract-publisher.tsx diff --git a/apps/dashboard/src/@/components/contracts/contract-table/index.tsx b/apps/dashboard/src/@/components/contracts/contract-table/index.tsx index e9bbae96e7d..16494199c89 100644 --- a/apps/dashboard/src/@/components/contracts/contract-table/index.tsx +++ b/apps/dashboard/src/@/components/contracts/contract-table/index.tsx @@ -1,5 +1,5 @@ import Link from "next/link"; -import { fetchDeployMetadata } from "@/components/contract-components/fetchDeployMetadata"; +import { fetchDeployMetadata } from "@/api/contract/fetchDeployMetadata"; import { ContractIdImage } from "@/components/contract-components/shared/contract-id-image"; import { Table, diff --git a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/add-to-project-card.tsx b/apps/dashboard/src/@/components/contracts/import-contract/add-to-project-selector.tsx similarity index 55% rename from apps/dashboard/src/@/components/contract-components/contract-deploy-form/add-to-project-card.tsx rename to apps/dashboard/src/@/components/contracts/import-contract/add-to-project-selector.tsx index ae07ba5a83a..caa9fc4efdd 100644 --- a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/add-to-project-card.tsx +++ b/apps/dashboard/src/@/components/contracts/import-contract/add-to-project-selector.tsx @@ -1,14 +1,10 @@ "use client"; -import { CircleAlertIcon, ExternalLinkIcon } from "lucide-react"; import { useId } from "react"; import type { ThirdwebClient } from "thirdweb"; -import type { Project } from "@/api/projects"; -import type { Team } from "@/api/team"; + import { GradientAvatar } from "@/components/blocks/avatar/gradient-avatar"; import { ProjectAvatar } from "@/components/blocks/avatar/project-avatar"; -import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; -import { Checkbox } from "@/components/ui/checkbox"; import { Label } from "@/components/ui/label"; import { Select, @@ -17,98 +13,7 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select"; -import { UnderlineLink } from "@/components/ui/UnderlineLink"; -import { Fieldset } from "./common"; - -export type MinimalTeam = Pick; -export type MinimalProject = Pick; - -export type TeamAndProjectSelection = { - team: MinimalTeam | undefined; - project: MinimalProject | undefined; -}; - -export type MinimalTeamsAndProjects = Array<{ - team: MinimalTeam; - projects: MinimalProject[]; -}>; - -type TeamAndProjectSelectorProps = { - teamsAndProjects: MinimalTeamsAndProjects; - selection: TeamAndProjectSelection; - enabled: boolean; - onSelectionChange: (selection: TeamAndProjectSelection) => void; - client: ThirdwebClient; - onSetEnabled: (enabled: boolean) => void; -}; - -export function AddToProjectCardUI(props: TeamAndProjectSelectorProps) { - const selectedTeam = props.teamsAndProjects.find( - (t) => t.team.id === props.selection.team?.id, - ); - - const isProjectSelected = props.selection.project && props.enabled; - - return ( -
- { - props.onSetEnabled(!!checked); - }} - /> - - } - headerClassName="pr-14" - legend="Add To Project" - > -
- {/* Team & Project selectors */} - {props.enabled && ( - - )} - - {/* No projects alert */} - {selectedTeam?.projects.length === 0 && ( - - - Selected team has no projects - - - Create Project - - - - )} - - {/* No project selected alert */} - {!isProjectSelected && ( - - - No Project Selected - - Deployed contract will not be saved in thirdweb dashboard - - - )} -
-
- ); -} +import type { MinimalTeamsAndProjects, TeamAndProjectSelection } from "./types"; function SlashSeparator() { return
; diff --git a/apps/dashboard/src/@/components/contracts/import-contract/types.ts b/apps/dashboard/src/@/components/contracts/import-contract/types.ts new file mode 100644 index 00000000000..8eacffc2f36 --- /dev/null +++ b/apps/dashboard/src/@/components/contracts/import-contract/types.ts @@ -0,0 +1,15 @@ +import type { Project } from "@/api/project/projects"; +import type { Team } from "@/api/team/get-team"; + +export type MinimalTeam = Pick; +export type MinimalProject = Pick; + +export type TeamAndProjectSelection = { + team: MinimalTeam | undefined; + project: MinimalProject | undefined; +}; + +export type MinimalTeamsAndProjects = Array<{ + team: MinimalTeam; + projects: MinimalProject[]; +}>; diff --git a/apps/dashboard/src/@/components/contracts/media-cell.tsx b/apps/dashboard/src/@/components/contracts/media-cell.tsx deleted file mode 100644 index 5c3111daf67..00000000000 --- a/apps/dashboard/src/@/components/contracts/media-cell.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import type { ThirdwebClient } from "thirdweb"; -import type { NFTMetadata } from "thirdweb/utils"; -import { NFTMediaWithEmptyState } from "@/components/blocks/nft-media"; - -interface MediaCellProps { - cell: { - value: NFTMetadata; - }; - client: ThirdwebClient; -} - -export const MediaCell: React.FC = ({ cell, client }) => { - const nftMetadata = cell.value; - - return ( - - ); -}; diff --git a/apps/dashboard/src/@/components/contract-components/shared/sources-accordion.tsx b/apps/dashboard/src/@/components/contracts/sources/sources-accordion.tsx similarity index 95% rename from apps/dashboard/src/@/components/contract-components/shared/sources-accordion.tsx rename to apps/dashboard/src/@/components/contracts/sources/sources-accordion.tsx index 957fdde053a..f06d7f1dfcf 100644 --- a/apps/dashboard/src/@/components/contract-components/shared/sources-accordion.tsx +++ b/apps/dashboard/src/@/components/contracts/sources/sources-accordion.tsx @@ -1,4 +1,5 @@ import type { Abi } from "abitype"; +import type { SourceFile } from "@/components/contract-components/types"; import { Accordion, AccordionContent, @@ -6,7 +7,6 @@ import { AccordionTrigger, } from "@/components/ui/accordion"; import { CodeClient } from "@/components/ui/code/code.client"; -import type { SourceFile } from "../types"; export function SourcesAccordion({ sources, diff --git a/apps/dashboard/src/@/components/contract-components/shared/sources-panel.tsx b/apps/dashboard/src/@/components/contracts/sources/sources-panel.tsx similarity index 92% rename from apps/dashboard/src/@/components/contract-components/shared/sources-panel.tsx rename to apps/dashboard/src/@/components/contracts/sources/sources-panel.tsx index 5cfb139c7f2..0c53e3573ae 100644 --- a/apps/dashboard/src/@/components/contract-components/shared/sources-panel.tsx +++ b/apps/dashboard/src/@/components/contracts/sources/sources-panel.tsx @@ -1,6 +1,6 @@ import type { Abi } from "abitype"; +import type { SourceFile } from "@/components/contract-components/types"; import { UnderlineLink } from "@/components/ui/UnderlineLink"; -import type { SourceFile } from "../types"; import { SourcesAccordion } from "./sources-accordion"; interface SourcesPanelProps { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/users/components/AdvancedSearchInput.tsx b/apps/dashboard/src/@/components/in-app-wallet-users-content/AdvancedSearchInput.tsx similarity index 100% rename from apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/users/components/AdvancedSearchInput.tsx rename to apps/dashboard/src/@/components/in-app-wallet-users-content/AdvancedSearchInput.tsx diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/users/components/SearchResults.tsx b/apps/dashboard/src/@/components/in-app-wallet-users-content/SearchResults.tsx similarity index 100% rename from apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/users/components/SearchResults.tsx rename to apps/dashboard/src/@/components/in-app-wallet-users-content/SearchResults.tsx diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/users/components/index.tsx b/apps/dashboard/src/@/components/in-app-wallet-users-content/in-app-wallet-users-content.tsx similarity index 100% rename from apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/users/components/index.tsx rename to apps/dashboard/src/@/components/in-app-wallet-users-content/in-app-wallet-users-content.tsx diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/users/components/searchUsers.ts b/apps/dashboard/src/@/components/in-app-wallet-users-content/searchUsers.ts similarity index 100% rename from apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/users/components/searchUsers.ts rename to apps/dashboard/src/@/components/in-app-wallet-users-content/searchUsers.ts diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/users/components/types.ts b/apps/dashboard/src/@/components/in-app-wallet-users-content/types.ts similarity index 100% rename from apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/users/components/types.ts rename to apps/dashboard/src/@/components/in-app-wallet-users-content/types.ts diff --git a/apps/dashboard/src/@/components/misc/NetworkSelectorButton.tsx b/apps/dashboard/src/@/components/misc/NetworkSelectorButton.tsx index 33849ff3e15..cb38e067f59 100644 --- a/apps/dashboard/src/@/components/misc/NetworkSelectorButton.tsx +++ b/apps/dashboard/src/@/components/misc/NetworkSelectorButton.tsx @@ -9,6 +9,7 @@ import { Button } from "@/components/ui/button"; import { popularChains } from "@/constants/popularChains"; import { useAllChainsData } from "@/hooks/chains/allChains"; import { useActiveChainAsDashboardChain } from "@/hooks/chains/v5-adapter"; +import { useFavoriteChainIds } from "@/hooks/favorite-chains"; import { ChainIconClient } from "@/icons/ChainIcon"; import { useStore } from "@/lib/reactive"; import { cn } from "@/lib/utils"; @@ -17,7 +18,6 @@ import { recentlyUsedChainIdsStore, type StoredChain, } from "@/stores/chainStores"; -import { useFavoriteChainIds } from "../../../app/(app)/(dashboard)/(chain)/components/client/star-button"; import { mapV4ChainToV5Chain } from "../../utils/map-chains"; import { getSDKTheme } from "../../utils/sdk-component-theme"; import { CustomChainRenderer } from "./CustomChainRenderer"; diff --git a/apps/dashboard/src/@/components/project/create-project-modal/index.tsx b/apps/dashboard/src/@/components/project/create-project-modal/index.tsx index 708687c227f..9506f082ddf 100644 --- a/apps/dashboard/src/@/components/project/create-project-modal/index.tsx +++ b/apps/dashboard/src/@/components/project/create-project-modal/index.tsx @@ -8,7 +8,7 @@ import { useState } from "react"; import { useForm } from "react-hook-form"; import { toast } from "sonner"; import { z } from "zod"; -import type { Project } from "@/api/projects"; +import type { Project } from "@/api/project/projects"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { Button } from "@/components/ui/button"; import { CopyTextButton } from "@/components/ui/CopyTextButton"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/usage/overview/components/SponsoredTransactionsTable.tsx b/apps/dashboard/src/@/components/sponsored-transactions-table/SponsoredTransactionsTable.tsx similarity index 100% rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/usage/overview/components/SponsoredTransactionsTable.tsx rename to apps/dashboard/src/@/components/sponsored-transactions-table/SponsoredTransactionsTable.tsx diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/usage/overview/components/SponsoredTransactionsTableUI.stories.tsx b/apps/dashboard/src/@/components/sponsored-transactions-table/SponsoredTransactionsTableUI.stories.tsx similarity index 100% rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/usage/overview/components/SponsoredTransactionsTableUI.stories.tsx rename to apps/dashboard/src/@/components/sponsored-transactions-table/SponsoredTransactionsTableUI.stories.tsx diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/usage/overview/components/SponsoredTransactionsTableUI.tsx b/apps/dashboard/src/@/components/sponsored-transactions-table/SponsoredTransactionsTableUI.tsx similarity index 100% rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/usage/overview/components/SponsoredTransactionsTableUI.tsx rename to apps/dashboard/src/@/components/sponsored-transactions-table/SponsoredTransactionsTableUI.tsx diff --git a/apps/dashboard/src/@/components/tx-button/MismatchButton.tsx b/apps/dashboard/src/@/components/tx-button/MismatchButton.tsx index f6b47ef9e99..5882ff0e7f6 100644 --- a/apps/dashboard/src/@/components/tx-button/MismatchButton.tsx +++ b/apps/dashboard/src/@/components/tx-button/MismatchButton.tsx @@ -1,6 +1,5 @@ "use client"; -import { getFaucetClaimAmount } from "@app/api/testnet-faucet/claim/claim-amount"; import { useMutation, useQuery } from "@tanstack/react-query"; import { FaucetButton } from "app/(app)/(dashboard)/(chain)/[chain_id]/(chainPage)/components/client/FaucetButton"; import { GiftIcon } from "app/(app)/(dashboard)/(chain)/[chain_id]/(chainPage)/components/icons/GiftIcon"; @@ -49,6 +48,7 @@ import { useAllChainsData } from "@/hooks/chains/allChains"; import { useV5DashboardChain } from "@/hooks/chains/v5-adapter"; import { cn } from "@/lib/utils"; import type { ChainMetadataWithServices, ChainServices } from "@/types/chain"; +import { getFaucetClaimAmount } from "@/utils/faucet"; import { getSDKTheme } from "@/utils/sdk-component-theme"; const GAS_FREE_CHAINS = [ diff --git a/apps/dashboard/src/@/utils/chain-icons.ts b/apps/dashboard/src/@/constants/chain.ts similarity index 100% rename from apps/dashboard/src/@/utils/chain-icons.ts rename to apps/dashboard/src/@/constants/chain.ts diff --git a/apps/dashboard/src/@/constants/cookie.ts b/apps/dashboard/src/@/constants/cookie.ts index f9c55426b3a..1361f01c5c5 100644 --- a/apps/dashboard/src/@/constants/cookie.ts +++ b/apps/dashboard/src/@/constants/cookie.ts @@ -1,12 +1,5 @@ -import { cookies } from "next/headers"; - export const COOKIE_ACTIVE_ACCOUNT = "tw_active_account"; export const COOKIE_PREFIX_TOKEN = "tw_token_"; -export async function getActiveAccountCookie() { - return (await cookies()).get(COOKIE_ACTIVE_ACCOUNT)?.value; -} - -export async function getJWTCookie(address: string) { - return (await cookies()).get(COOKIE_PREFIX_TOKEN + address)?.value; -} +export const LAST_USED_PROJECT_ID = "last-used-project-id"; +export const LAST_USED_TEAM_ID = "last-used-team-id"; diff --git a/apps/dashboard/src/@/constants/cookies.ts b/apps/dashboard/src/@/constants/cookies.ts deleted file mode 100644 index e7ebc4998c2..00000000000 --- a/apps/dashboard/src/@/constants/cookies.ts +++ /dev/null @@ -1,2 +0,0 @@ -export const LAST_USED_PROJECT_ID = "last-used-project-id"; -export const LAST_USED_TEAM_ID = "last-used-team-id"; diff --git a/apps/dashboard/src/@/constants/planToTierRecord.ts b/apps/dashboard/src/@/constants/planToTierRecord.ts index 48bed3ac660..37f1d2e95f1 100644 --- a/apps/dashboard/src/@/constants/planToTierRecord.ts +++ b/apps/dashboard/src/@/constants/planToTierRecord.ts @@ -1,4 +1,4 @@ -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; // Note: Growth legacy is considered higher tier in this hierarchy export const planToTierRecordForGating: Record = { diff --git a/apps/dashboard/src/@/hooks/contract-hooks.ts b/apps/dashboard/src/@/hooks/contract-hooks.ts index a8453842438..fb9159adde9 100644 --- a/apps/dashboard/src/@/hooks/contract-hooks.ts +++ b/apps/dashboard/src/@/hooks/contract-hooks.ts @@ -6,14 +6,14 @@ import { useMemo } from "react"; import type { ThirdwebClient, ThirdwebContract } from "thirdweb"; import { getContract, resolveContractAbi } from "thirdweb/contract"; import { isAddress, isValidENSName } from "thirdweb/utils"; -import { useV5DashboardChain } from "@/hooks/chains/v5-adapter"; -import { resolveEns } from "@/lib/ens"; import { fetchPublishedContractVersions, type PublishedContractWithVersion, -} from "../components/contract-components/fetch-contracts-with-versions"; -import { fetchPublishedContracts } from "../components/contract-components/fetchPublishedContracts"; -import { fetchPublishedContractsFromDeploy } from "../components/contract-components/fetchPublishedContractsFromDeploy"; +} from "@/api/contract/fetch-contracts-with-versions"; +import { fetchPublishedContracts } from "@/api/contract/fetchPublishedContracts"; +import { fetchPublishedContractsFromDeploy } from "@/api/contract/fetchPublishedContractsFromDeploy"; +import { useV5DashboardChain } from "@/hooks/chains/v5-adapter"; +import { resolveEns } from "@/lib/ens"; export function useAllVersions( publisherAddress: string | undefined, diff --git a/apps/dashboard/src/@/hooks/favorite-chains.ts b/apps/dashboard/src/@/hooks/favorite-chains.ts new file mode 100644 index 00000000000..b4cb2221380 --- /dev/null +++ b/apps/dashboard/src/@/hooks/favorite-chains.ts @@ -0,0 +1,28 @@ +"use client"; + +import { useQuery } from "@tanstack/react-query"; +import { useActiveAccount } from "thirdweb/react"; +import { apiServerProxy } from "@/actions/proxies"; + +async function favoriteChains() { + const res = await apiServerProxy<{ data: string[] }>({ + method: "GET", + pathname: "/v1/chains/favorites", + }); + + if (!res.ok) { + throw new Error(res.error); + } + + const result = res.data; + return result.data ?? []; +} + +export function useFavoriteChainIds() { + const address = useActiveAccount()?.address; + return useQuery({ + enabled: !!address, + queryFn: () => favoriteChains(), + queryKey: ["favoriteChains", address], + }); +} diff --git a/apps/dashboard/src/@/hooks/useApi.ts b/apps/dashboard/src/@/hooks/useApi.ts index a9218d932e9..18c6e4f1940 100644 --- a/apps/dashboard/src/@/hooks/useApi.ts +++ b/apps/dashboard/src/@/hooks/useApi.ts @@ -1,7 +1,7 @@ import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; import { useActiveAccount } from "thirdweb/react"; import { apiServerProxy } from "@/actions/proxies"; -import type { Project } from "@/api/projects"; +import type { Project } from "@/api/project/projects"; import { rotateVaultAccountAndAccessToken } from "../../app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/lib/vault.client"; import { accountKeys, authorizedWallets } from "../query-keys/cache-keys"; diff --git a/apps/dashboard/src/@/icons/ChainIcon.tsx b/apps/dashboard/src/@/icons/ChainIcon.tsx index 9ef4f7b4693..f4b20c69df0 100644 --- a/apps/dashboard/src/@/icons/ChainIcon.tsx +++ b/apps/dashboard/src/@/icons/ChainIcon.tsx @@ -2,8 +2,8 @@ import type { ThirdwebClient } from "thirdweb"; import { Img } from "@/components/blocks/Img"; +import { fallbackChainIcon } from "@/constants/chain"; import { cn } from "@/lib/utils"; -import { fallbackChainIcon } from "@/utils/chain-icons"; import { resolveSchemeWithErrorHandler } from "@/utils/resolveSchemeWithErrorHandler"; type ImageProps = React.ComponentProps<"img">; diff --git a/apps/dashboard/src/@/storybook/stubs.ts b/apps/dashboard/src/@/storybook/stubs.ts index 10d586f5f7a..6ff05f73e12 100644 --- a/apps/dashboard/src/@/storybook/stubs.ts +++ b/apps/dashboard/src/@/storybook/stubs.ts @@ -1,6 +1,6 @@ -import type { Project } from "@/api/projects"; -import type { Team } from "@/api/team"; -import type { TeamSubscription } from "@/api/team-subscription"; +import type { Project } from "@/api/project/projects"; +import type { Team } from "@/api/team/get-team"; +import type { TeamSubscription } from "@/api/team/team-subscription"; import type { Account } from "@/hooks/useApi"; export function projectStub(id: string, teamId: string) { diff --git a/apps/dashboard/src/app/login/onboarding/isOnboardingRequired.ts b/apps/dashboard/src/@/utils/account-onboarding.ts similarity index 100% rename from apps/dashboard/src/app/login/onboarding/isOnboardingRequired.ts rename to apps/dashboard/src/@/utils/account-onboarding.ts diff --git a/apps/dashboard/src/@/constants/auth.ts b/apps/dashboard/src/@/utils/auth.ts similarity index 100% rename from apps/dashboard/src/@/constants/auth.ts rename to apps/dashboard/src/@/utils/auth.ts diff --git a/apps/dashboard/src/app/(app)/api/testnet-faucet/claim/claim-amount.ts b/apps/dashboard/src/@/utils/faucet.ts similarity index 100% rename from apps/dashboard/src/app/(app)/api/testnet-faucet/claim/claim-amount.ts rename to apps/dashboard/src/@/utils/faucet.ts diff --git a/apps/dashboard/src/@/components/billing/formatToDollars.tsx b/apps/dashboard/src/@/utils/formatToDollars.tsx similarity index 100% rename from apps/dashboard/src/@/components/billing/formatToDollars.tsx rename to apps/dashboard/src/@/utils/formatToDollars.tsx diff --git a/apps/dashboard/src/@/utils/getValidTeamPlan.tsx b/apps/dashboard/src/@/utils/getValidTeamPlan.tsx index 48d499b5651..98100f74d62 100644 --- a/apps/dashboard/src/@/utils/getValidTeamPlan.tsx +++ b/apps/dashboard/src/@/utils/getValidTeamPlan.tsx @@ -1,4 +1,4 @@ -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; export function getValidTeamPlan(team: Team): Team["billingPlan"] { if ( diff --git a/apps/dashboard/src/@/utils/pricing.tsx b/apps/dashboard/src/@/utils/pricing.tsx index 400b38560d7..3e9b8954619 100644 --- a/apps/dashboard/src/@/utils/pricing.tsx +++ b/apps/dashboard/src/@/utils/pricing.tsx @@ -1,4 +1,4 @@ -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; type SelectivePlans = Exclude< Team["billingPlan"], diff --git a/apps/dashboard/src/app/(app)/(dashboard)/profile/[addressOrEns]/resolveAddressAndEns.tsx b/apps/dashboard/src/@/utils/resolveAddressAndEns.tsx similarity index 89% rename from apps/dashboard/src/app/(app)/(dashboard)/profile/[addressOrEns]/resolveAddressAndEns.tsx rename to apps/dashboard/src/@/utils/resolveAddressAndEns.tsx index 6ff49ee002b..43bba317fe3 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/profile/[addressOrEns]/resolveAddressAndEns.tsx +++ b/apps/dashboard/src/@/utils/resolveAddressAndEns.tsx @@ -1,6 +1,6 @@ import { getAddress, isAddress, type ThirdwebClient } from "thirdweb"; import { isValidENSName } from "thirdweb/utils"; -import { mapThirdwebPublisher } from "@/components/contract-components/fetch-contracts-with-versions"; +import { mapThirdwebPublisher } from "@/api/contract/fetch-contracts-with-versions"; import { resolveEns } from "@/lib/ens"; type ResolvedAddressInfo = { diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/(chainPage)/components/server/FaucetSection.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/(chainPage)/components/server/FaucetSection.tsx index bce1529397d..3a2b5e0c2f7 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/(chainPage)/components/server/FaucetSection.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/(chainPage)/components/server/FaucetSection.tsx @@ -1,6 +1,6 @@ import type { ThirdwebClient } from "thirdweb"; import type { ChainMetadata } from "thirdweb/chains"; -import { getFaucetClaimAmount } from "../../../../../../api/testnet-faucet/claim/claim-amount"; +import { getFaucetClaimAmount } from "@/utils/faucet"; import { ChainIcon } from "../../../../components/server/chain-icon"; import { FaucetButton } from "../client/FaucetButton"; import { GiftIcon } from "../icons/GiftIcon"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/(chainPage)/page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/(chainPage)/page.tsx index de8ee77c28f..0dd2041b1b2 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/(chainPage)/page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/(chainPage)/page.tsx @@ -1,6 +1,6 @@ import { CircleAlertIcon } from "lucide-react"; +import { getRawAccount } from "@/api/account/get-account"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; -import { getRawAccount } from "../../../../account/settings/getAccount"; import { getChain, getChainMetadata } from "../../utils"; import { BuyFundsSection } from "./components/client/BuyFundsSection"; import { ChainOverviewSection } from "./components/server/ChainOverviewSection"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/components/marketplace-table.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/components/marketplace-table.tsx index 8efac373528..08137fcd9d1 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/components/marketplace-table.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/components/marketplace-table.tsx @@ -6,9 +6,9 @@ import type { EnglishAuction, } from "thirdweb/extensions/marketplace"; import { min } from "thirdweb/utils"; +import { NFTMediaWithEmptyState } from "@/components/blocks/nft-media"; import { PaginationButtons } from "@/components/blocks/pagination-buttons"; import { WalletAddress } from "@/components/blocks/wallet-address"; -import { MediaCell } from "@/components/contracts/media-cell"; import { Button } from "@/components/ui/button"; import { Skeleton } from "@/components/ui/skeleton"; import { @@ -168,9 +168,13 @@ export function MarketplaceTable(props: { > {row.id.toString()} - {row.asset.metadata.name ?? "N/A"} diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/direct-listings/page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/direct-listings/page.tsx index 768cb948e3a..97f29673d14 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/direct-listings/page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/direct-listings/page.tsx @@ -1,4 +1,4 @@ -import { getRawAccount } from "../../../../../../account/settings/getAccount"; +import { getRawAccount } from "@/api/account/get-account"; import type { PublicContractPageParams } from "../../types"; import { SharedDirectListingsPage } from "./shared-direct-listings-page"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/english-auctions/page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/english-auctions/page.tsx index dd17a1f476b..15f6b71d3e5 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/english-auctions/page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/english-auctions/page.tsx @@ -1,4 +1,4 @@ -import { getRawAccount } from "../../../../../../account/settings/getAccount"; +import { getRawAccount } from "@/api/account/get-account"; import type { PublicContractPageParams } from "../../types"; import { SharedEnglishAuctionsPage } from "./shared-english-auctions-page"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/contract-metadata.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/contract-metadata.tsx index e8bc0017ac3..68265404ce1 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/contract-metadata.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/contract-metadata.tsx @@ -1,6 +1,6 @@ import type { ThirdwebContract } from "thirdweb"; import type { ChainMetadata } from "thirdweb/chains"; -import { fetchPublishedContractsFromDeploy } from "@/components/contract-components/fetchPublishedContractsFromDeploy"; +import { fetchPublishedContractsFromDeploy } from "@/api/contract/fetchPublishedContractsFromDeploy"; import { type DashboardContractMetadata, fetchDashboardContractMetadata, diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/contract-page-layout.client.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/contract-page-layout.client.tsx index f9e66a106c6..bbafa9f272d 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/contract-page-layout.client.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/contract-page-layout.client.tsx @@ -3,7 +3,7 @@ import { useQuery } from "@tanstack/react-query"; import type { ThirdwebContract } from "thirdweb"; import type { ChainMetadata } from "thirdweb/chains"; -import type { MinimalTeamsAndProjects } from "@/components/contract-components/contract-deploy-form/add-to-project-card"; +import type { MinimalTeamsAndProjects } from "@/components/contracts/import-contract/types"; import type { ProjectMeta } from "../../../../../team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/types"; import { ErrorPage, LoadingPage } from "../_components/page-skeletons"; import { useContractPageMetadata } from "../_hooks/useContractPageMetadata"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/contract-page-layout.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/contract-page-layout.tsx index 1ffcf0157ba..1c3155a8c8b 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/contract-page-layout.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/contract-page-layout.tsx @@ -1,9 +1,9 @@ -import { DeprecatedAlert } from "@app/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/DeprecatedAlert"; import type { ThirdwebContract } from "thirdweb"; import type { ChainMetadata } from "thirdweb/chains"; import type { SidebarLink } from "@/components/blocks/Sidebar"; import { SidebarLayout } from "@/components/blocks/SidebarLayout"; -import type { MinimalTeamsAndProjects } from "@/components/contract-components/contract-deploy-form/add-to-project-card"; +import { DeprecatedAlert } from "@/components/contracts/DeprecatedAlert"; +import type { MinimalTeamsAndProjects } from "@/components/contracts/import-contract/types"; import type { DashboardContractMetadata } from "@/hooks/useDashboardContractMetadata"; import type { ProjectMeta } from "../../../../../team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/types"; import { ContractMetadata } from "./contract-metadata"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/primary-dashboard-button.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/primary-dashboard-button.tsx index babde07aa60..0ac5df266aa 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/primary-dashboard-button.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/primary-dashboard-button.tsx @@ -11,10 +11,8 @@ import { usePathname } from "next/navigation"; import { useState } from "react"; import { toast } from "sonner"; import type { Chain, ThirdwebClient } from "thirdweb"; -import { - AddToProjectSelector, - type MinimalTeamsAndProjects, -} from "@/components/contract-components/contract-deploy-form/add-to-project-card"; +import { AddToProjectSelector } from "@/components/contracts/import-contract/add-to-project-selector"; +import type { MinimalTeamsAndProjects } from "@/components/contracts/import-contract/types"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { Button } from "@/components/ui/button"; import { diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/account/page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/account/page.tsx index 2870a426fec..f004936fd2d 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/account/page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/account/page.tsx @@ -1,4 +1,4 @@ -import { getRawAccount } from "../../../../../account/settings/getAccount"; +import { getRawAccount } from "@/api/account/get-account"; import type { PublicContractPageParams } from "../types"; import { SharedContractAccountPage } from "./shared-account-page"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/accounts/page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/accounts/page.tsx index b1f58e7ba55..7f81d0586b9 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/accounts/page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/accounts/page.tsx @@ -1,4 +1,4 @@ -import { getRawAccount } from "../../../../../account/settings/getAccount"; +import { getRawAccount } from "@/api/account/get-account"; import type { PublicContractPageParams } from "../types"; import { SharedAccountsPage } from "./shared-accounts-page"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/claim-conditions/page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/claim-conditions/page.tsx index 1dcb98c2265..1584e0b754d 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/claim-conditions/page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/claim-conditions/page.tsx @@ -1,4 +1,4 @@ -import { getRawAccount } from "../../../../../account/settings/getAccount"; +import { getRawAccount } from "@/api/account/get-account"; import type { PublicContractPageParams } from "../types"; import { SharedClaimConditionsPage } from "./shared-claim-conditions-page"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/cross-chain/data-table.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/cross-chain/data-table.tsx index 82a19d38be7..ba0810d4baf 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/cross-chain/data-table.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/cross-chain/data-table.tsx @@ -8,7 +8,6 @@ import { getCoreRowModel, useReactTable, } from "@tanstack/react-table"; -import { verifyContract } from "app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/sources/ContractSourcesPage"; import Link from "next/link"; import { useEffect, useMemo, useState } from "react"; import { useForm } from "react-hook-form"; @@ -33,11 +32,7 @@ import { import { useActiveAccount, useSwitchActiveWalletChain } from "thirdweb/react"; import { concatHex, padHex } from "thirdweb/utils"; import { z } from "zod"; -import { - type DeployModalStep, - DeployStatusModal, - useDeployStatusModal, -} from "@/components/contract-components/contract-deploy-form/deploy-context-modal"; +import { verifyContract } from "@/api/contract/verify-contract"; import { Button } from "@/components/ui/button"; import { Form, @@ -59,6 +54,11 @@ import { import { ToolTipLabel } from "@/components/ui/tooltip"; import { useTxNotifications } from "@/hooks/useTxNotifications"; import type { ProjectMeta } from "../../../../../team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/types"; +import { + type DeployModalStep, + DeployStatusModal, + useDeployStatusModal, +} from "../../../../published-contract/[publisher]/[contract_id]/components/contract-deploy-form/deploy-context-modal"; import { buildContractPagePath } from "../_utils/contract-page-path"; import { SingleNetworkSelector } from "./single-network-selector"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/cross-chain/shared-cross-chain-page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/cross-chain/shared-cross-chain-page.tsx index c23df456fad..80dd70c8f96 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/cross-chain/shared-cross-chain-page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/cross-chain/shared-cross-chain-page.tsx @@ -18,7 +18,7 @@ import { moduleInstalledEvent } from "thirdweb/modules"; import { eth_getCode, getRpcClient } from "thirdweb/rpc"; import type { TransactionReceipt } from "thirdweb/transaction"; import { type AbiFunction, decodeFunctionData } from "thirdweb/utils"; -import { fetchPublishedContractsFromDeploy } from "@/components/contract-components/fetchPublishedContractsFromDeploy"; +import { fetchPublishedContractsFromDeploy } from "@/api/contract/fetchPublishedContractsFromDeploy"; import type { ProjectMeta } from "../../../../../team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/types"; import { redirectToContractLandingPage } from "../../../../../team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/utils"; import { getContractPageParamsInfo } from "../_utils/getContractFromParams"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/explorer/ContractExplorerPage.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/explorer/ContractExplorerPage.tsx index 2aca077c7bf..d84f28bfd58 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/explorer/ContractExplorerPage.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/explorer/ContractExplorerPage.tsx @@ -2,7 +2,7 @@ import type { Abi } from "abitype"; import { CircleAlertIcon } from "lucide-react"; import type { ThirdwebContract } from "thirdweb"; import type { ChainMetadata } from "thirdweb/chains"; -import { getContractFunctionsFromAbi } from "@/components/contract-components/getContractFunctionsFromAbi"; +import { getContractFunctionsFromAbi } from "@/api/contract/getContractFunctionsFromAbi"; import { ContractFunctionsPanel } from "@/components/contracts/functions/contract-function"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/explorer/page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/explorer/page.tsx index 9d4dea99f23..8c2170c4dc6 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/explorer/page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/explorer/page.tsx @@ -1,4 +1,4 @@ -import { getRawAccount } from "../../../../../account/settings/getAccount"; +import { getRawAccount } from "@/api/account/get-account"; import type { PublicContractPageParams } from "../types"; import { SharedExplorerPage } from "./shared-explorer-page"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/getModuleInstalledParams.ts b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/getModuleInstalledParams.ts index f5fc919dbd3..d8a19d26e58 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/getModuleInstalledParams.ts +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/getModuleInstalledParams.ts @@ -5,7 +5,7 @@ import invariant from "tiny-invariant"; import { fetchLatestPublishedContractVersion, fetchPublishedContractVersions, -} from "@/components/contract-components/fetch-contracts-with-versions"; +} from "@/api/contract/fetch-contracts-with-versions"; import type { ModuleMeta } from "./install-module-params"; export async function getModuleInstalledParams( diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/page.tsx index fa7b53c9637..18cdf3780e2 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/page.tsx @@ -1,4 +1,4 @@ -import { getRawAccount } from "../../../../../account/settings/getAccount"; +import { getRawAccount } from "@/api/account/get-account"; import type { PublicContractPageParams } from "../types"; import { SharedModulesPage } from "./shared-modules-page"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/[tokenId]/page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/[tokenId]/page.tsx index ebfb74f4dd0..bce123cef7f 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/[tokenId]/page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/[tokenId]/page.tsx @@ -1,4 +1,4 @@ -import { getRawAccount } from "../../../../../../account/settings/getAccount"; +import { getRawAccount } from "@/api/account/get-account"; import type { PublicContractPageParams } from "../../types"; import { SharedNFTTokenPage } from "./shared-nfts-token-page"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/components/batch-lazy-mint-button.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/components/batch-lazy-mint-button.tsx index 846555b4855..464ed6b102d 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/components/batch-lazy-mint-button.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/components/batch-lazy-mint-button.tsx @@ -6,7 +6,6 @@ import type { ThirdwebContract } from "thirdweb"; import * as ERC721Ext from "thirdweb/extensions/erc721"; import * as ERC1155Ext from "thirdweb/extensions/erc1155"; import { useReadContract, useSendAndConfirmTransaction } from "thirdweb/react"; -import { BatchLazyMint } from "@/components/batch-upload/batch-lazy-mint"; import { MinterOnly } from "@/components/contracts/roles/minter-only"; import { Button } from "@/components/ui/button"; import { @@ -17,6 +16,7 @@ import { SheetTrigger, } from "@/components/ui/sheet"; import { useTxNotifications } from "@/hooks/useTxNotifications"; +import { BatchLazyMint } from "./batch-upload/batch-lazy-mint"; interface BatchLazyMintButtonProps { canCreateDelayedRevealBatch: boolean; diff --git a/apps/dashboard/src/@/components/batch-upload/batch-lazy-mint.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/components/batch-upload/batch-lazy-mint.tsx similarity index 99% rename from apps/dashboard/src/@/components/batch-upload/batch-lazy-mint.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/components/batch-upload/batch-lazy-mint.tsx index 881469be09a..e12db76941b 100644 --- a/apps/dashboard/src/@/components/batch-upload/batch-lazy-mint.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/components/batch-upload/batch-lazy-mint.tsx @@ -24,9 +24,9 @@ import { Button } from "@/components/ui/button"; import { Form, FormItem, FormLabel, FormMessage } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Switch } from "@/components/ui/switch"; +import { TabButtons } from "@/components/ui/tabs"; import { Textarea } from "@/components/ui/textarea"; import { processInputData, shuffleData } from "@/utils/batch"; -import { TabButtons } from "../ui/tabs"; import { BatchTable } from "./batch-table"; import { UploadStep } from "./upload-step"; diff --git a/apps/dashboard/src/@/components/batch-upload/batch-table.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/components/batch-upload/batch-table.tsx similarity index 100% rename from apps/dashboard/src/@/components/batch-upload/batch-table.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/components/batch-upload/batch-table.tsx diff --git a/apps/dashboard/src/@/components/batch-upload/upload-step.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/components/batch-upload/upload-step.tsx similarity index 98% rename from apps/dashboard/src/@/components/batch-upload/upload-step.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/components/batch-upload/upload-step.tsx index 6f3ab2780a7..ecec55ffb36 100644 --- a/apps/dashboard/src/@/components/batch-upload/upload-step.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/components/batch-upload/upload-step.tsx @@ -1,8 +1,8 @@ import { useState } from "react"; +import { DownloadableCode } from "@/components/blocks/code/downloadable-code"; +import { DropZone } from "@/components/blocks/drop-zone/drop-zone"; import { InlineCode } from "@/components/ui/inline-code"; import { TabButtons } from "@/components/ui/tabs"; -import { DownloadableCode } from "../blocks/code/downloadable-code"; -import { DropZone } from "../blocks/drop-zone/drop-zone"; interface UploadStepProps { hasFailed: boolean; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/page.tsx index 8c760062950..f5e11ae448c 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/page.tsx @@ -1,4 +1,4 @@ -import { getRawAccount } from "../../../../../account/settings/getAccount"; +import { getRawAccount } from "@/api/account/get-account"; import type { PublicContractPageParams } from "../types"; import { SharedNFTPage } from "./shared-nfts-page"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/overview/components/published-by-ui.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/overview/components/published-by-ui.tsx index a732d778e78..23d7f36c1b3 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/overview/components/published-by-ui.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/overview/components/published-by-ui.tsx @@ -5,8 +5,8 @@ import { getPublishedUriFromCompilerUri } from "thirdweb/extensions/thirdweb"; import { getInstalledModules } from "thirdweb/modules"; import { download } from "thirdweb/storage"; import { extractIPFSUri, isValidENSName } from "thirdweb/utils"; -import { fetchPublishedContractsFromDeploy } from "@/components/contract-components/fetchPublishedContractsFromDeploy"; -import { ContractCard } from "@/components/contracts/contract-card"; +import { fetchPublishedContractsFromDeploy } from "@/api/contract/fetchPublishedContractsFromDeploy"; +import { ContractCard } from "@/components/contracts/contract-card/contract-card"; import { THIRDWEB_DEPLOYER_ADDRESS } from "@/constants/addresses"; import { resolveEns } from "@/lib/ens"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/permissions/page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/permissions/page.tsx index 6521b9177f1..5e5c2404931 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/permissions/page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/permissions/page.tsx @@ -1,4 +1,4 @@ -import { getRawAccount } from "../../../../../account/settings/getAccount"; +import { getRawAccount } from "@/api/account/get-account"; import type { PublicContractPageParams } from "../types"; import { SharedPermissionsPage } from "./shared-permissions-page"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/proposals/page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/proposals/page.tsx index cf1cd7a2d14..a268a4e3e51 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/proposals/page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/proposals/page.tsx @@ -1,4 +1,4 @@ -import { getRawAccount } from "../../../../../account/settings/getAccount"; +import { getRawAccount } from "@/api/account/get-account"; import type { PublicContractPageParams } from "../types"; import { SharedContractProposalsPage } from "./shared-proposals-page"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/page.tsx index 0041aa4802c..0c5285b71a1 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/page.tsx @@ -1,4 +1,4 @@ -import { getRawAccount } from "../../../../../account/settings/getAccount"; +import { getRawAccount } from "@/api/account/get-account"; import type { PublicContractPageParams } from "../types"; import { SharedContractSettingsPage } from "./shared-settings-page"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/shared-layout.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/shared-layout.tsx index 5d380ae2dbe..58121e2aa5f 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/shared-layout.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/shared-layout.tsx @@ -2,9 +2,9 @@ import type { Metadata } from "next"; import { notFound } from "next/navigation"; import { getContractMetadata } from "thirdweb/extensions/common"; import { isAddress, isContractDeployed } from "thirdweb/utils"; -import { getProjects } from "@/api/projects"; -import { getTeams } from "@/api/team"; -import type { MinimalTeamsAndProjects } from "@/components/contract-components/contract-deploy-form/add-to-project-card"; +import { getProjects } from "@/api/project/projects"; +import { getTeams } from "@/api/team/get-team"; +import type { MinimalTeamsAndProjects } from "@/components/contracts/import-contract/types"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { resolveFunctionSelectors } from "@/lib/selectors"; import { shortenIfAddress } from "@/utils/usedapp-external"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/sources/ContractSourcesPage.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/sources/components/ContractSourcesPage.tsx similarity index 90% rename from apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/sources/ContractSourcesPage.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/sources/components/ContractSourcesPage.tsx index 82f36521a83..77bb80d12bf 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/sources/ContractSourcesPage.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/sources/components/ContractSourcesPage.tsx @@ -10,8 +10,9 @@ import { import { useMemo } from "react"; import { toast } from "sonner"; import type { ThirdwebContract } from "thirdweb"; +import { verifyContract } from "@/api/contract/verify-contract"; import { GenericLoadingPage } from "@/components/blocks/skeletons/GenericLoadingPage"; -import { SourcesPanel } from "@/components/contract-components/shared/sources-panel"; +import { SourcesPanel } from "@/components/contracts/sources/sources-panel"; import { Button } from "@/components/ui/button"; import { Dialog, @@ -32,32 +33,6 @@ type VerificationResult = { error?: string; }; -export async function verifyContract(contract: ThirdwebContract) { - try { - const response = await fetch( - "https://contract.thirdweb.com/verify/contract", - { - body: JSON.stringify({ - chainId: contract.chain.id, - contractAddress: contract.address, - }), - headers: { - "Content-Type": "application/json", - }, - method: "POST", - }, - ); - - if (!response.ok) { - console.error(`Error verifying contract: ${response.statusText}`); - } - - return await response.json(); - } catch (error) { - console.error(`Error verifying contract: ${error}`); - } -} - function VerifyContractModalContent({ contract, }: { diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/sources/shared-sources-page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/sources/shared-sources-page.tsx index 2ab5402f501..cfc82dfe60d 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/sources/shared-sources-page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/sources/shared-sources-page.tsx @@ -3,7 +3,7 @@ import type { ProjectMeta } from "../../../../../team/[team_slug]/[project_slug] import { redirectToContractLandingPage } from "../../../../../team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/utils"; import { getContractPageParamsInfo } from "../_utils/getContractFromParams"; import { shouldRenderNewPublicPage } from "../_utils/newPublicPage"; -import { ContractSourcesPage } from "./ContractSourcesPage"; +import { ContractSourcesPage } from "./components/ContractSourcesPage"; export async function SharedContractSourcesPage(props: { contractAddress: string; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/split/page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/split/page.tsx index f399e8cc6da..5d40deac911 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/split/page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/split/page.tsx @@ -1,4 +1,4 @@ -import { getRawAccount } from "../../../../../account/settings/getAccount"; +import { getRawAccount } from "@/api/account/get-account"; import type { PublicContractPageParams } from "../types"; import { SharedContractSplitPage } from "./shared-split-page"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/tokens/page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/tokens/page.tsx index b45f7a6f02c..be87fb7a3e7 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/tokens/page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/tokens/page.tsx @@ -1,4 +1,4 @@ -import { getRawAccount } from "../../../../../account/settings/getAccount"; +import { getRawAccount } from "@/api/account/get-account"; import type { PublicContractPageParams } from "../types"; import { SharedContractTokensPage } from "./shared-page"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/components/client/star-button.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/components/client/star-button.tsx index e05fd945903..42a698fef8f 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/components/client/star-button.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/components/client/star-button.tsx @@ -1,28 +1,14 @@ "use client"; -import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; +import { useMutation, useQueryClient } from "@tanstack/react-query"; import { StarIcon } from "lucide-react"; -import { useActiveAccount } from "thirdweb/react"; import { apiServerProxy } from "@/actions/proxies"; import { Button, type ButtonProps } from "@/components/ui/button"; import { Spinner } from "@/components/ui/Spinner/Spinner"; import { ToolTipLabel } from "@/components/ui/tooltip"; +import { useFavoriteChainIds } from "@/hooks/favorite-chains"; import { cn } from "@/lib/utils"; -async function favoriteChains() { - const res = await apiServerProxy<{ data: string[] }>({ - method: "GET", - pathname: "/v1/chains/favorites", - }); - - if (!res.ok) { - throw new Error(res.error); - } - - const result = res.data; - return result.data ?? []; -} - async function addChainToFavorites(chainId: number) { const res = await apiServerProxy({ body: JSON.stringify({}), @@ -52,15 +38,6 @@ async function removeChainFromFavorites(chainId: number) { return result?.data?.favorite; } -export function useFavoriteChainIds() { - const address = useActiveAccount()?.address; - return useQuery({ - enabled: !!address, - queryFn: () => favoriteChains(), - queryKey: ["favoriteChains", address], - }); -} - export function StarButton(props: { chainId: number; className?: string; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/components/server/chain-icon.tsx b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/components/server/chain-icon.tsx index a7ba4af591e..08fdee7649a 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/(chain)/components/server/chain-icon.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/(chain)/components/server/chain-icon.tsx @@ -1,9 +1,9 @@ /* eslint-disable @next/next/no-img-element */ import "server-only"; +import { fallbackChainIcon } from "@/constants/chain"; import { DASHBOARD_THIRDWEB_SECRET_KEY } from "@/constants/server-envs"; import { getConfiguredThirdwebClient } from "@/constants/thirdweb.server"; import { cn } from "@/lib/utils"; -import { fallbackChainIcon } from "@/utils/chain-icons"; import { resolveSchemeWithErrorHandler } from "@/utils/resolveSchemeWithErrorHandler"; export async function ChainIcon(props: { diff --git a/apps/dashboard/src/@/components/contract-components/contract-publish-form/abi-selector.tsx b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/abi-selector.tsx similarity index 100% rename from apps/dashboard/src/@/components/contract-components/contract-publish-form/abi-selector.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/abi-selector.tsx diff --git a/apps/dashboard/src/@/components/contract-components/contract-publish-form/contract-params-fieldset.tsx b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/contract-params-fieldset.tsx similarity index 100% rename from apps/dashboard/src/@/components/contract-components/contract-publish-form/contract-params-fieldset.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/contract-params-fieldset.tsx diff --git a/apps/dashboard/src/@/components/contract-components/contract-publish-form/custom-factory.tsx b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/custom-factory.tsx similarity index 100% rename from apps/dashboard/src/@/components/contract-components/contract-publish-form/custom-factory.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/custom-factory.tsx diff --git a/apps/dashboard/src/@/components/contract-components/contract-publish-form/decoded-bytes-input/decoded-input-array-fieldset.tsx b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/decoded-bytes-input/decoded-input-array-fieldset.tsx similarity index 100% rename from apps/dashboard/src/@/components/contract-components/contract-publish-form/decoded-bytes-input/decoded-input-array-fieldset.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/decoded-bytes-input/decoded-input-array-fieldset.tsx diff --git a/apps/dashboard/src/@/components/contract-components/contract-publish-form/decoded-bytes-input/decoded-input-set.tsx b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/decoded-bytes-input/decoded-input-set.tsx similarity index 100% rename from apps/dashboard/src/@/components/contract-components/contract-publish-form/decoded-bytes-input/decoded-input-set.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/decoded-bytes-input/decoded-input-set.tsx diff --git a/apps/dashboard/src/@/components/contract-components/contract-publish-form/decoded-bytes-input/decoded-input.tsx b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/decoded-bytes-input/decoded-input.tsx similarity index 100% rename from apps/dashboard/src/@/components/contract-components/contract-publish-form/decoded-bytes-input/decoded-input.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/decoded-bytes-input/decoded-input.tsx diff --git a/apps/dashboard/src/@/components/contract-components/contract-publish-form/decoded-bytes-input/ref-bytes-input-fieldset.tsx b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/decoded-bytes-input/ref-bytes-input-fieldset.tsx similarity index 100% rename from apps/dashboard/src/@/components/contract-components/contract-publish-form/decoded-bytes-input/ref-bytes-input-fieldset.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/decoded-bytes-input/ref-bytes-input-fieldset.tsx diff --git a/apps/dashboard/src/@/components/contract-components/contract-publish-form/decoded-bytes-input/ref-bytes-input.tsx b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/decoded-bytes-input/ref-bytes-input.tsx similarity index 100% rename from apps/dashboard/src/@/components/contract-components/contract-publish-form/decoded-bytes-input/ref-bytes-input.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/decoded-bytes-input/ref-bytes-input.tsx diff --git a/apps/dashboard/src/@/components/contract-components/contract-publish-form/default-factory.tsx b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/default-factory.tsx similarity index 97% rename from apps/dashboard/src/@/components/contract-components/contract-publish-form/default-factory.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/default-factory.tsx index a0be58a7333..3d2f64a88bc 100644 --- a/apps/dashboard/src/@/components/contract-components/contract-publish-form/default-factory.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/default-factory.tsx @@ -1,7 +1,7 @@ import type { Abi } from "abitype"; import { useFormContext } from "react-hook-form"; import type { ThirdwebClient } from "thirdweb"; -import { UnderlineLink } from "../../ui/UnderlineLink"; +import { UnderlineLink } from "@/components/ui/UnderlineLink"; import { AbiSelector } from "./abi-selector"; import { NetworksFieldset } from "./networks-fieldset"; diff --git a/apps/dashboard/src/@/components/contract-components/contract-publish-form/external-links-fieldset.tsx b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/external-links-fieldset.tsx similarity index 100% rename from apps/dashboard/src/@/components/contract-components/contract-publish-form/external-links-fieldset.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/external-links-fieldset.tsx diff --git a/apps/dashboard/src/@/components/contract-components/contract-publish-form/external-links-input.tsx b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/external-links-input.tsx similarity index 100% rename from apps/dashboard/src/@/components/contract-components/contract-publish-form/external-links-input.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/external-links-input.tsx diff --git a/apps/dashboard/src/@/components/contract-components/contract-publish-form/factory-fieldset.tsx b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/factory-fieldset.tsx similarity index 96% rename from apps/dashboard/src/@/components/contract-components/contract-publish-form/factory-fieldset.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/factory-fieldset.tsx index 3133265a36f..c035bb0b47d 100644 --- a/apps/dashboard/src/@/components/contract-components/contract-publish-form/factory-fieldset.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/factory-fieldset.tsx @@ -2,7 +2,7 @@ import type { Abi } from "abitype"; import type { Dispatch, SetStateAction } from "react"; import { useFormContext } from "react-hook-form"; import type { ThirdwebClient } from "thirdweb"; -import { TabButtons } from "../../ui/tabs"; +import { TabButtons } from "@/components/ui/tabs"; import { CustomFactory } from "./custom-factory"; import { DefaultFactory } from "./default-factory"; diff --git a/apps/dashboard/src/@/components/contract-components/contract-publish-form/impl-params-fieldset.tsx b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/impl-params-fieldset.tsx similarity index 100% rename from apps/dashboard/src/@/components/contract-components/contract-publish-form/impl-params-fieldset.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/impl-params-fieldset.tsx diff --git a/apps/dashboard/src/@/components/contract-components/contract-publish-form/index.tsx b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/index.tsx similarity index 100% rename from apps/dashboard/src/@/components/contract-components/contract-publish-form/index.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/index.tsx diff --git a/apps/dashboard/src/@/components/contract-components/contract-publish-form/landing-fieldset.tsx b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/landing-fieldset.tsx similarity index 97% rename from apps/dashboard/src/@/components/contract-components/contract-publish-form/landing-fieldset.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/landing-fieldset.tsx index f941bd9e5ee..36a9159abac 100644 --- a/apps/dashboard/src/@/components/contract-components/contract-publish-form/landing-fieldset.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/landing-fieldset.tsx @@ -3,16 +3,16 @@ import { useState } from "react"; import { useFormContext } from "react-hook-form"; import type { ThirdwebClient } from "thirdweb"; import type { ExtendedMetadata } from "thirdweb/utils"; -import { SelectOption } from "@/components/batch-upload/lazy-mint-form/select-option"; import { FileInput } from "@/components/blocks/FileInput"; import { FormFieldSetup } from "@/components/blocks/FormFieldSetup"; +import { MarkdownRenderer } from "@/components/blocks/markdown-renderer"; import { SolidityInput } from "@/components/solidity-inputs"; import { Input } from "@/components/ui/input"; +import { TabButtons } from "@/components/ui/tabs"; import { Textarea } from "@/components/ui/textarea"; -import { MarkdownRenderer } from "../../blocks/markdown-renderer"; -import { TabButtons } from "../../ui/tabs"; -import { UnderlineLink } from "../../ui/UnderlineLink"; +import { UnderlineLink } from "@/components/ui/UnderlineLink"; import { ExternalLinksFieldset } from "./external-links-fieldset"; +import { SelectOption } from "./select-option"; type LandingFieldsetProps = { latestVersion: string | undefined; diff --git a/apps/dashboard/src/@/components/contract-components/contract-publish-form/networks-fieldset.tsx b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/networks-fieldset.tsx similarity index 100% rename from apps/dashboard/src/@/components/contract-components/contract-publish-form/networks-fieldset.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/networks-fieldset.tsx diff --git a/apps/dashboard/src/@/components/contract-components/contract-publish-form/ref-contract-impl-input/ref-input-impl-fieldset.tsx b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/ref-contract-impl-input/ref-input-impl-fieldset.tsx similarity index 100% rename from apps/dashboard/src/@/components/contract-components/contract-publish-form/ref-contract-impl-input/ref-input-impl-fieldset.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/ref-contract-impl-input/ref-input-impl-fieldset.tsx diff --git a/apps/dashboard/src/@/components/contract-components/contract-publish-form/ref-contract-impl-input/ref-input-impl.tsx b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/ref-contract-impl-input/ref-input-impl.tsx similarity index 100% rename from apps/dashboard/src/@/components/contract-components/contract-publish-form/ref-contract-impl-input/ref-input-impl.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/ref-contract-impl-input/ref-input-impl.tsx diff --git a/apps/dashboard/src/@/components/contract-components/contract-publish-form/ref-contract-input/ref-input-fieldset.tsx b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/ref-contract-input/ref-input-fieldset.tsx similarity index 100% rename from apps/dashboard/src/@/components/contract-components/contract-publish-form/ref-contract-input/ref-input-fieldset.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/ref-contract-input/ref-input-fieldset.tsx diff --git a/apps/dashboard/src/@/components/contract-components/contract-publish-form/ref-contract-input/ref-input.tsx b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/ref-contract-input/ref-input.tsx similarity index 100% rename from apps/dashboard/src/@/components/contract-components/contract-publish-form/ref-contract-input/ref-input.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/ref-contract-input/ref-input.tsx diff --git a/apps/dashboard/src/@/components/batch-upload/lazy-mint-form/select-option.tsx b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/select-option.tsx similarity index 100% rename from apps/dashboard/src/@/components/batch-upload/lazy-mint-form/select-option.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/contract-publish-form/select-option.tsx diff --git a/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/page.tsx index b82bda250e4..1cbcc342e4f 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/contracts/publish/[publish_uri]/page.tsx @@ -1,11 +1,14 @@ import { revalidatePath } from "next/cache"; import { notFound, redirect } from "next/navigation"; import { fetchDeployMetadata } from "thirdweb/contract"; -import { getUserThirdwebClient } from "@/api/auth-token"; -import { ContractPublishForm } from "@/components/contract-components/contract-publish-form"; -import { getActiveAccountCookie, getJWTCookie } from "@/constants/cookie"; +import { + getAuthToken, + getAuthTokenWalletAddress, + getUserThirdwebClient, +} from "@/api/auth-token"; import { serverThirdwebClient } from "@/constants/thirdweb-client.server"; import { getLatestPublishedContractsWithPublisherMapping } from "../../../published-contract/[publisher]/[contract_id]/utils/getPublishedContractsWithPublisherMapping"; +import { ContractPublishForm } from "./contract-publish-form"; type DirectDeployPageProps = { params: Promise<{ @@ -35,7 +38,7 @@ export default async function PublishContractPage( const pathname = `/contracts/publish/${params.publish_uri}`; - const address = await getActiveAccountCookie(); + const address = await getAuthTokenWalletAddress(); if (!address) { redirect(`/login?next=${encodeURIComponent(pathname)}`); } @@ -62,7 +65,7 @@ export default async function PublishContractPage( } } - const token = await getJWTCookie(address); + const token = await getAuthToken(); if (!token) { redirect(`/login?next=${encodeURIComponent(pathname)}`); } diff --git a/apps/dashboard/src/app/(app)/(dashboard)/explore/[category]/page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/explore/[category]/page.tsx index 4ead9906261..98b7fbaa3a9 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/explore/[category]/page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/explore/[category]/page.tsx @@ -1,5 +1,3 @@ -import { DeployUpsellCard } from "@app/(dashboard)/explore/components/upsells/deploy-your-own"; -import { getCategory } from "@app/(dashboard)/explore/data"; import type { Metadata } from "next"; import Link from "next/link"; import { notFound } from "next/navigation"; @@ -7,7 +5,7 @@ import { Suspense } from "react"; import { ContractCard, ContractCardSkeleton, -} from "@/components/contracts/contract-card"; +} from "@/components/contracts/contract-card/contract-card"; import { Breadcrumb, BreadcrumbItem, @@ -16,6 +14,8 @@ import { BreadcrumbPage, BreadcrumbSeparator, } from "@/components/ui/breadcrumb"; +import { DeployUpsellCard } from "../components/upsells/deploy-your-own"; +import { getCategory } from "../data"; type ExploreCategoryPageProps = { params: Promise<{ diff --git a/apps/dashboard/src/app/(app)/(dashboard)/explore/components/contract-row/index.tsx b/apps/dashboard/src/app/(app)/(dashboard)/explore/components/contract-row/index.tsx index 95b1ac200d6..12197f00253 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/explore/components/contract-row/index.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/explore/components/contract-row/index.tsx @@ -1,11 +1,11 @@ -import type { ExploreCategory } from "@app/(dashboard)/explore/data"; import { ArrowRightIcon } from "lucide-react"; import Link from "next/link"; import { Suspense } from "react"; import { ContractCard, ContractCardSkeleton, -} from "@/components/contracts/contract-card"; +} from "@/components/contracts/contract-card/contract-card"; +import type { ExploreCategory } from "../../data"; interface ContractRowProps { category: ExploreCategory; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/explore/page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/explore/page.tsx index 4309e08463c..808e095f3ab 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/explore/page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/explore/page.tsx @@ -1,9 +1,9 @@ -import { ContractRow } from "@app/(dashboard)/explore/components/contract-row"; -import { DeployUpsellCard } from "@app/(dashboard)/explore/components/upsells/deploy-your-own"; -import { PublishUpsellCard } from "@app/(dashboard)/explore/components/upsells/publish-submit"; -import { EXPLORE_PAGE_DATA } from "@app/(dashboard)/explore/data"; import type { Metadata } from "next"; import { Fragment } from "react"; +import { ContractRow } from "./components/contract-row"; +import { DeployUpsellCard } from "./components/upsells/deploy-your-own"; +import { PublishUpsellCard } from "./components/upsells/publish-submit"; +import { EXPLORE_PAGE_DATA } from "./data"; const title = "List of smart contracts for EVM Developers"; const description = diff --git a/apps/dashboard/src/app/(app)/(dashboard)/profile/[addressOrEns]/ProfileUI.tsx b/apps/dashboard/src/app/(app)/(dashboard)/profile/[addressOrEns]/ProfileUI.tsx index 38a9be7f8ed..128c5102011 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/profile/[addressOrEns]/ProfileUI.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/profile/[addressOrEns]/ProfileUI.tsx @@ -1,6 +1,6 @@ import { Suspense } from "react"; import type { ThirdwebClient } from "thirdweb"; -import { fetchPublishedContracts } from "@/components/contract-components/fetchPublishedContracts"; +import { fetchPublishedContracts } from "@/api/contract/fetchPublishedContracts"; import { Spinner } from "@/components/ui/Spinner/Spinner"; import { serverThirdwebClient } from "@/constants/thirdweb-client.server"; import { ProfileHeader } from "./components/profile-header"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/profile/[addressOrEns]/components/published-contracts.tsx b/apps/dashboard/src/app/(app)/(dashboard)/profile/[addressOrEns]/components/published-contracts.tsx index 4a0051a0274..c077d01ce72 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/profile/[addressOrEns]/components/published-contracts.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/profile/[addressOrEns]/components/published-contracts.tsx @@ -1,7 +1,7 @@ "use client"; import { useState } from "react"; -import type { fetchPublishedContracts } from "@/components/contract-components/fetchPublishedContracts"; +import type { fetchPublishedContracts } from "@/api/contract/fetchPublishedContracts"; import { ShowMoreButton } from "@/components/contract-components/tables/show-more-button"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { PublishedContractTable } from "./PublishedContractTable"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/profile/[addressOrEns]/opengraph-image.tsx b/apps/dashboard/src/app/(app)/(dashboard)/profile/[addressOrEns]/opengraph-image.tsx index 1939d42bcfd..b68e9d525fe 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/profile/[addressOrEns]/opengraph-image.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/profile/[addressOrEns]/opengraph-image.tsx @@ -4,10 +4,10 @@ import { resolveAvatar } from "thirdweb/extensions/ens"; import { GradientBlobbie } from "@/components/blocks/avatar/GradientBlobbie"; import { DASHBOARD_THIRDWEB_SECRET_KEY } from "@/constants/server-envs"; import { getConfiguredThirdwebClient } from "@/constants/thirdweb.server"; +import { resolveAddressAndEns } from "@/utils/resolveAddressAndEns"; /* eslint-disable @next/next/no-img-element */ import { resolveSchemeWithErrorHandler } from "@/utils/resolveSchemeWithErrorHandler"; import { shortenIfAddress } from "@/utils/usedapp-external"; -import { resolveAddressAndEns } from "./resolveAddressAndEns"; export const runtime = "edge"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/profile/[addressOrEns]/page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/profile/[addressOrEns]/page.tsx index 901c156d9b5..c0587df6c24 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/profile/[addressOrEns]/page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/profile/[addressOrEns]/page.tsx @@ -3,9 +3,9 @@ import { notFound } from "next/navigation"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { serverThirdwebClient } from "@/constants/thirdweb-client.server"; import { replaceDeployerAddress } from "@/lib/publisher-utils"; +import { resolveAddressAndEns } from "@/utils/resolveAddressAndEns"; import { shortenIfAddress } from "@/utils/usedapp-external"; import { ProfileUI } from "./ProfileUI"; -import { resolveAddressAndEns } from "./resolveAddressAndEns"; type PageProps = { params: Promise<{ diff --git a/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/[version]/page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/[version]/page.tsx index 45e7eb50e12..20982c3104c 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/[version]/page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/[version]/page.tsx @@ -1,17 +1,17 @@ import { notFound } from "next/navigation"; import { isAddress } from "thirdweb"; import { resolveAddress } from "thirdweb/extensions/ens"; +import { getRawAccount } from "@/api/account/get-account"; import { getAuthTokenWalletAddress, getUserThirdwebClient, } from "@/api/auth-token"; -import { fetchPublishedContractVersions } from "@/components/contract-components/fetch-contracts-with-versions"; -import { PublishedContract } from "@/components/contracts/published-contract"; +import { fetchPublishedContractVersions } from "@/api/contract/fetch-contracts-with-versions"; import { serverThirdwebClient } from "@/constants/thirdweb-client.server"; -import { getRawAccount } from "../../../../../account/settings/getAccount"; import { PublishedActions } from "../../../components/contract-actions-published.client"; import { DeployContractHeader } from "../../../components/contract-header"; import { PublishedContractBreadcrumbs } from "../components/breadcrumbs.client"; +import { PublishedContract } from "../components/published-contract"; function mapThirdwebPublisher(publisher: string) { if (publisher === "thirdweb.eth") { diff --git a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/add-to-project-card.stories.tsx b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/add-to-project-card.stories.tsx similarity index 91% rename from apps/dashboard/src/@/components/contract-components/contract-deploy-form/add-to-project-card.stories.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/add-to-project-card.stories.tsx index ce54d9ff173..e64521dd687 100644 --- a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/add-to-project-card.stories.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/add-to-project-card.stories.tsx @@ -1,13 +1,13 @@ import type { Meta, StoryObj } from "@storybook/nextjs"; import { useState } from "react"; +import type { + MinimalProject, + MinimalTeam, + MinimalTeamsAndProjects, + TeamAndProjectSelection, +} from "@/components/contracts/import-contract/types"; import { BadgeContainer, storybookThirdwebClient } from "@/storybook/utils"; -import { - AddToProjectCardUI, - type MinimalProject, - type MinimalTeam, - type MinimalTeamsAndProjects, - type TeamAndProjectSelection, -} from "./add-to-project-card"; +import { AddToProjectCardUI } from "./add-to-project-card"; const meta = { component: Story, diff --git a/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/add-to-project-card.tsx b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/add-to-project-card.tsx new file mode 100644 index 00000000000..da208725072 --- /dev/null +++ b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/add-to-project-card.tsx @@ -0,0 +1,90 @@ +"use client"; + +import { CircleAlertIcon, ExternalLinkIcon } from "lucide-react"; +import type { ThirdwebClient } from "thirdweb"; +import { AddToProjectSelector } from "@/components/contracts/import-contract/add-to-project-selector"; +import type { + MinimalTeamsAndProjects, + TeamAndProjectSelection, +} from "@/components/contracts/import-contract/types"; +import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; +import { Checkbox } from "@/components/ui/checkbox"; +import { UnderlineLink } from "@/components/ui/UnderlineLink"; +import { ContractDeploymentFieldset } from "./common"; + +type TeamAndProjectSelectorProps = { + teamsAndProjects: MinimalTeamsAndProjects; + selection: TeamAndProjectSelection; + enabled: boolean; + onSelectionChange: (selection: TeamAndProjectSelection) => void; + client: ThirdwebClient; + onSetEnabled: (enabled: boolean) => void; +}; + +export function AddToProjectCardUI(props: TeamAndProjectSelectorProps) { + const selectedTeam = props.teamsAndProjects.find( + (t) => t.team.id === props.selection.team?.id, + ); + + const isProjectSelected = props.selection.project && props.enabled; + + return ( + + { + props.onSetEnabled(!!checked); + }} + /> +
+ } + headerClassName="pr-14" + legend="Add To Project" + > +
+ {/* Team & Project selectors */} + {props.enabled && ( + + )} + + {/* No projects alert */} + {selectedTeam?.projects.length === 0 && ( + + + Selected team has no projects + + + Create Project + + + + )} + + {/* No project selected alert */} + {!isProjectSelected && ( + + + No Project Selected + + Deployed contract will not be saved in thirdweb dashboard + + + )} +
+ + ); +} diff --git a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/common.tsx b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/common.tsx similarity index 93% rename from apps/dashboard/src/@/components/contract-components/contract-deploy-form/common.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/common.tsx index b6c83181a72..110036458a8 100644 --- a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/common.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/common.tsx @@ -1,6 +1,6 @@ import { cn } from "@/lib/utils"; -export function Fieldset(props: { +export function ContractDeploymentFieldset(props: { legend: string; description?: React.ReactNode; headerChildren?: React.ReactNode; diff --git a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/contract-metadata-fieldset.tsx b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/contract-metadata-fieldset.tsx similarity index 92% rename from apps/dashboard/src/@/components/contract-components/contract-deploy-form/contract-metadata-fieldset.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/contract-metadata-fieldset.tsx index 4edee07d133..43ac235452b 100644 --- a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/contract-metadata-fieldset.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/contract-metadata-fieldset.tsx @@ -4,8 +4,8 @@ import { FileInput } from "@/components/blocks/FileInput"; import { FormFieldSetup } from "@/components/blocks/FormFieldSetup"; import { Input } from "@/components/ui/input"; import { Textarea } from "@/components/ui/textarea"; -import { Fieldset } from "./common"; -import type { CustomContractDeploymentForm } from "./custom-contract"; +import type { CustomContractDeploymentForm } from "../../../../components/custom-contract"; +import { ContractDeploymentFieldset } from "./common"; interface ContractMetadataFieldsetProps { form: CustomContractDeploymentForm; @@ -20,7 +20,7 @@ export const ContractMetadataFieldset: React.FC< const descriptionId = useId(); return ( -
+
-
+ ); }; diff --git a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/deploy-context-modal.tsx b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/deploy-context-modal.tsx similarity index 100% rename from apps/dashboard/src/@/components/contract-components/contract-deploy-form/deploy-context-modal.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/deploy-context-modal.tsx diff --git a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/modular-contract-default-modules-fieldset.tsx b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/modular-contract-default-modules-fieldset.tsx similarity index 98% rename from apps/dashboard/src/@/components/contract-components/contract-deploy-form/modular-contract-default-modules-fieldset.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/modular-contract-default-modules-fieldset.tsx index 2ded81f78e2..dbab08e8510 100644 --- a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/modular-contract-default-modules-fieldset.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/modular-contract-default-modules-fieldset.tsx @@ -3,7 +3,7 @@ import type { ThirdwebClient } from "thirdweb"; import type { FetchDeployMetadataResult } from "thirdweb/contract"; import { FormFieldSetup } from "@/components/blocks/FormFieldSetup"; import { SolidityInput } from "@/components/solidity-inputs"; -import type { CustomContractDeploymentForm } from "./custom-contract"; +import type { CustomContractDeploymentForm } from "../../../../components/custom-contract"; import { PrimarySaleFieldset } from "./primary-sale-fieldset"; import { RoyaltyFieldset } from "./royalty-fieldset"; import { SequentialTokenIdFieldset } from "./sequential-token-id-fieldset"; diff --git a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/param.tsx b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/param.tsx similarity index 100% rename from apps/dashboard/src/@/components/contract-components/contract-deploy-form/param.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/param.tsx diff --git a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/platform-fee-fieldset.tsx b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/platform-fee-fieldset.tsx similarity index 93% rename from apps/dashboard/src/@/components/contract-components/contract-deploy-form/platform-fee-fieldset.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/platform-fee-fieldset.tsx index 4c220a7ce32..8f6bc90f86b 100644 --- a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/platform-fee-fieldset.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/platform-fee-fieldset.tsx @@ -3,8 +3,8 @@ import { BasisPointsInput } from "@/components/blocks/BasisPointsInput"; import { FormFieldSetup } from "@/components/blocks/FormFieldSetup"; import { SolidityInput } from "@/components/solidity-inputs"; import { UnderlineLink } from "@/components/ui/UnderlineLink"; -import { Fieldset } from "./common"; -import type { CustomContractDeploymentForm } from "./custom-contract"; +import type { CustomContractDeploymentForm } from "../../../../components/custom-contract"; +import { ContractDeploymentFieldset } from "./common"; interface PlatformFeeFieldsetProps { form: CustomContractDeploymentForm; @@ -20,7 +20,7 @@ export const PlatformFeeFieldset: React.FC = ({ client, }) => { return ( -
+
{!disabled ? ( <> @@ -103,6 +103,6 @@ export const PlatformFeeFieldset: React.FC = ({

)}
-
+ ); }; diff --git a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/primary-sale-fieldset.tsx b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/primary-sale-fieldset.tsx similarity index 86% rename from apps/dashboard/src/@/components/contract-components/contract-deploy-form/primary-sale-fieldset.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/primary-sale-fieldset.tsx index 3b1bf4179b6..da63cd363d8 100644 --- a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/primary-sale-fieldset.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/primary-sale-fieldset.tsx @@ -2,7 +2,7 @@ import type { UseFormRegisterReturn } from "react-hook-form"; import type { ThirdwebClient } from "thirdweb"; import { FormFieldSetup } from "@/components/blocks/FormFieldSetup"; import { SolidityInput } from "@/components/solidity-inputs"; -import { Fieldset } from "./common"; +import { ContractDeploymentFieldset } from "./common"; interface PrimarySaleFieldsetProps { isInvalid: boolean; @@ -15,7 +15,7 @@ export const PrimarySaleFieldset: React.FC = ( props, ) => { return ( -
+ = ( client={props.client} /> -
+ ); }; diff --git a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/royalty-fieldset.tsx b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/royalty-fieldset.tsx similarity index 95% rename from apps/dashboard/src/@/components/contract-components/contract-deploy-form/royalty-fieldset.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/royalty-fieldset.tsx index 04419dbf228..ac0918552ae 100644 --- a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/royalty-fieldset.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/royalty-fieldset.tsx @@ -3,7 +3,7 @@ import type { ThirdwebClient } from "thirdweb"; import { BasisPointsInput } from "@/components/blocks/BasisPointsInput"; import { FormFieldSetup } from "@/components/blocks/FormFieldSetup"; import { SolidityInput } from "@/components/solidity-inputs"; -import { Fieldset } from "./common"; +import { ContractDeploymentFieldset } from "./common"; export function RoyaltyFieldset(props: { royaltyRecipient: { @@ -26,7 +26,7 @@ export function RoyaltyFieldset(props: { }) { const bpsNumValue = Number.parseInt(props.royaltyBps.value); return ( -
+
)}
-
+ ); } diff --git a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/sequential-token-id-fieldset.tsx b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/sequential-token-id-fieldset.tsx similarity index 100% rename from apps/dashboard/src/@/components/contract-components/contract-deploy-form/sequential-token-id-fieldset.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/sequential-token-id-fieldset.tsx diff --git a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/split-fieldset.tsx b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/split-fieldset.tsx similarity index 94% rename from apps/dashboard/src/@/components/contract-components/contract-deploy-form/split-fieldset.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/split-fieldset.tsx index 0f9c9073290..c4e99ad1792 100644 --- a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/split-fieldset.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/split-fieldset.tsx @@ -6,8 +6,8 @@ import { FormFieldSetup } from "@/components/blocks/FormFieldSetup"; import { SolidityInput } from "@/components/solidity-inputs"; import { Alert, AlertTitle } from "@/components/ui/alert"; import { Button } from "@/components/ui/button"; -import { Fieldset } from "./common"; -import type { CustomContractDeploymentForm } from "./custom-contract"; +import type { CustomContractDeploymentForm } from "../../../../components/custom-contract"; +import { ContractDeploymentFieldset } from "./common"; interface SplitFieldsetProps { form: CustomContractDeploymentForm; @@ -34,7 +34,7 @@ export const SplitFieldset: React.FC = ({ ?.reduce((a: number, b: Recipient) => a + b.sharesBps, 0) || 0; return ( -
+
{fields.map((field, index) => { @@ -124,6 +124,6 @@ export const SplitFieldset: React.FC = ({ )}
-
+ ); }; diff --git a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/trusted-forwarders-fieldset.tsx b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/trusted-forwarders-fieldset.tsx similarity index 89% rename from apps/dashboard/src/@/components/contract-components/contract-deploy-form/trusted-forwarders-fieldset.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/trusted-forwarders-fieldset.tsx index 6d326ce8a38..fc0837408ef 100644 --- a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/trusted-forwarders-fieldset.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-deploy-form/trusted-forwarders-fieldset.tsx @@ -1,11 +1,11 @@ import type { ThirdwebClient } from "thirdweb"; import { FormFieldSetup } from "@/components/blocks/FormFieldSetup"; import { SolidityInput } from "@/components/solidity-inputs"; -import { Fieldset } from "./common"; import type { CustomContractDeploymentForm, DynamicValue, -} from "./custom-contract"; +} from "../../../../components/custom-contract"; +import { ContractDeploymentFieldset } from "./common"; interface TrustedForwardersFieldsetProps { form: CustomContractDeploymentForm; @@ -23,7 +23,7 @@ export const TrustedForwardersFieldset: React.FC< return ( <> {!isDynamicValue(value) && ( -
+ -
+ )} ); diff --git a/apps/dashboard/src/@/components/contracts/functions/contract-functions.tsx b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-functions.tsx similarity index 94% rename from apps/dashboard/src/@/components/contracts/functions/contract-functions.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-functions.tsx index a86bc9158c6..d663f24b55d 100644 --- a/apps/dashboard/src/@/components/contracts/functions/contract-functions.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/contract-functions.tsx @@ -3,11 +3,11 @@ import type { Abi, AbiEvent, AbiFunction } from "abitype"; import { useState } from "react"; import type { ThirdwebContract } from "thirdweb"; -import { SourcesPanel } from "@/components/contract-components/shared/sources-panel"; import type { SourceFile } from "@/components/contract-components/types"; import { CodeOverview } from "@/components/contracts/code-overview"; +import { ContractFunctionsPanel } from "@/components/contracts/functions/contract-function"; +import { SourcesPanel } from "@/components/contracts/sources/sources-panel"; import { TabButtons } from "@/components/ui/tabs"; -import { ContractFunctionsPanel } from "./contract-function"; interface ContractFunctionsOverview { functions?: AbiFunction[] | null; diff --git a/apps/dashboard/src/@/components/contracts/published-contract/index.tsx b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/published-contract.tsx similarity index 96% rename from apps/dashboard/src/@/components/contracts/published-contract/index.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/published-contract.tsx index 69ae9851054..95067501251 100644 --- a/apps/dashboard/src/@/components/contracts/published-contract/index.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/published-contract.tsx @@ -14,10 +14,8 @@ import { useMemo } from "react"; import type { ThirdwebClient } from "thirdweb"; import { download } from "thirdweb/storage"; import invariant from "tiny-invariant"; -import { PublisherLink } from "@/components//contract-components/publisher/publisher-header"; +import type { PublishedContractWithVersion } from "@/api/contract/fetch-contracts-with-versions"; import { MarkdownRenderer } from "@/components/blocks/markdown-renderer"; -import type { PublishedContractWithVersion } from "@/components/contract-components/fetch-contracts-with-versions"; -import { ContractFunctionsOverview } from "@/components/contracts/functions/contract-functions"; import { usePublishedContractEvents, usePublishedContractFunctions, @@ -25,6 +23,8 @@ import { import { correctAndUniqueLicenses } from "@/lib/licenses"; import { publicIPFSGateway } from "@/lib/sdk"; import { cn } from "@/lib/utils"; +import { ContractFunctionsOverview } from "./contract-functions"; +import { PublisherLink } from "./publisher-header"; type ExtendedPublishedContract = PublishedContractWithVersion & { name: string; diff --git a/apps/dashboard/src/@/components/contract-components/publisher/publisher-header.tsx b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/publisher-header.tsx similarity index 100% rename from apps/dashboard/src/@/components/contract-components/publisher/publisher-header.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/components/publisher-header.tsx diff --git a/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/page.tsx b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/page.tsx index 9fe4c3f4bff..401e02522f4 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/page.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/page.tsx @@ -1,12 +1,12 @@ import { notFound } from "next/navigation"; +import { getRawAccount } from "@/api/account/get-account"; import { getAuthToken, getAuthTokenWalletAddress } from "@/api/auth-token"; -import { PublishedContract } from "@/components/contracts/published-contract"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { serverThirdwebClient } from "@/constants/thirdweb-client.server"; -import { getRawAccount } from "../../../../account/settings/getAccount"; import { PublishedActions } from "../../components/contract-actions-published.client"; import { DeployContractHeader } from "../../components/contract-header"; import { PublishedContractBreadcrumbs } from "./components/breadcrumbs.client"; +import { PublishedContract } from "./components/published-contract"; import { getPublishedContractsWithPublisherMapping } from "./utils/getPublishedContractsWithPublisherMapping"; type PublishedContractDeployPageProps = { diff --git a/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/utils/getPublishedContractsWithPublisherMapping.ts b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/utils/getPublishedContractsWithPublisherMapping.ts index dc6c90ebb20..c75c6a394a9 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/utils/getPublishedContractsWithPublisherMapping.ts +++ b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/[publisher]/[contract_id]/utils/getPublishedContractsWithPublisherMapping.ts @@ -3,7 +3,7 @@ import { resolveAddress } from "thirdweb/extensions/ens"; import { fetchLatestPublishedContractVersion, fetchPublishedContractVersions, -} from "@/components/contract-components/fetch-contracts-with-versions"; +} from "@/api/contract/fetch-contracts-with-versions"; function mapThirdwebPublisher(publisher: string) { if (publisher === "thirdweb.eth") { diff --git a/apps/dashboard/src/app/(app)/(dashboard)/published-contract/components/contract-header.tsx b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/components/contract-header.tsx index 95d9f9a82c6..ad0fa1f1de3 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/published-contract/components/contract-header.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/components/contract-header.tsx @@ -1,7 +1,7 @@ import { PencilIcon } from "lucide-react"; import Link from "next/link"; import type { PropsWithChildren } from "react"; -import type { PublishedContractWithVersion } from "@/components/contract-components/fetch-contracts-with-versions"; +import type { PublishedContractWithVersion } from "@/api/contract/fetch-contracts-with-versions"; import { Button } from "@/components/ui/button"; import { cn } from "@/lib/utils"; import { ModuleList } from "../[publisher]/[contract_id]/components/module-list.client"; diff --git a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/custom-contract.tsx b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/components/custom-contract.tsx similarity index 95% rename from apps/dashboard/src/@/components/contract-components/contract-deploy-form/custom-contract.tsx rename to apps/dashboard/src/app/(app)/(dashboard)/published-contract/components/custom-contract.tsx index c2b8d7af0d6..bb5f0a4427c 100644 --- a/apps/dashboard/src/@/components/contract-components/contract-deploy-form/custom-contract.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/components/custom-contract.tsx @@ -1,6 +1,6 @@ "use client"; + import { useMutation, useQuery } from "@tanstack/react-query"; -import { verifyContract } from "app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/sources/ContractSourcesPage"; import { ArrowUpFromLineIcon, CircleAlertIcon, @@ -24,7 +24,13 @@ import { reportContractDeployed, reportContractDeployFailed, } from "@/analytics/report"; +import { verifyContract } from "@/api/contract/verify-contract"; import { FormFieldSetup } from "@/components/blocks/FormFieldSetup"; +import type { + MinimalProject, + MinimalTeam, + MinimalTeamsAndProjects, +} from "@/components/contracts/import-contract/types"; import { NetworkSelectorButton } from "@/components/misc/NetworkSelectorButton"; import { SolidityInput } from "@/components/solidity-inputs"; import { @@ -43,7 +49,7 @@ import { DEFAULT_FEE_RECIPIENT, THIRDWEB_PUBLISHER_ADDRESS, } from "@/constants/addresses"; -import { LAST_USED_PROJECT_ID, LAST_USED_TEAM_ID } from "@/constants/cookies"; +import { LAST_USED_PROJECT_ID, LAST_USED_TEAM_ID } from "@/constants/cookie"; import { ZERO_FEE_CHAINS } from "@/constants/fee-config"; import { useCustomFactoryAbi, @@ -54,32 +60,30 @@ import { useTxNotifications } from "@/hooks/useTxNotifications"; import { replaceTemplateValues } from "@/lib/deployment/template-values"; import { getCookie } from "@/utils/cookie"; import { parseError } from "@/utils/errorParser"; -import { - AddToProjectCardUI, - type MinimalProject, - type MinimalTeam, - type MinimalTeamsAndProjects, -} from "./add-to-project-card"; -import { Fieldset } from "./common"; -import { ContractMetadataFieldset } from "./contract-metadata-fieldset"; +import { AddToProjectCardUI } from "../[publisher]/[contract_id]/components/contract-deploy-form/add-to-project-card"; +import { ContractDeploymentFieldset } from "../[publisher]/[contract_id]/components/contract-deploy-form/common"; +import { ContractMetadataFieldset } from "../[publisher]/[contract_id]/components/contract-deploy-form/contract-metadata-fieldset"; import { type DeployModalStep, DeployStatusModal, useDeployStatusModal, -} from "./deploy-context-modal"; +} from "../[publisher]/[contract_id]/components/contract-deploy-form/deploy-context-modal"; import { getModuleInstallParams, ModularContractDefaultModulesFieldset, showPrimarySaleFieldset, showRoyaltyFieldset, showSuperchainBridgeFieldset, -} from "./modular-contract-default-modules-fieldset"; -import { Param } from "./param"; -import { PlatformFeeFieldset } from "./platform-fee-fieldset"; -import { PrimarySaleFieldset } from "./primary-sale-fieldset"; -import { RoyaltyFieldset } from "./royalty-fieldset"; -import { type Recipient, SplitFieldset } from "./split-fieldset"; -import { TrustedForwardersFieldset } from "./trusted-forwarders-fieldset"; +} from "../[publisher]/[contract_id]/components/contract-deploy-form/modular-contract-default-modules-fieldset"; +import { Param } from "../[publisher]/[contract_id]/components/contract-deploy-form/param"; +import { PlatformFeeFieldset } from "../[publisher]/[contract_id]/components/contract-deploy-form/platform-fee-fieldset"; +import { PrimarySaleFieldset } from "../[publisher]/[contract_id]/components/contract-deploy-form/primary-sale-fieldset"; +import { RoyaltyFieldset } from "../[publisher]/[contract_id]/components/contract-deploy-form/royalty-fieldset"; +import { + type Recipient, + SplitFieldset, +} from "../[publisher]/[contract_id]/components/contract-deploy-form/split-fieldset"; +import { TrustedForwardersFieldset } from "../[publisher]/[contract_id]/components/contract-deploy-form/trusted-forwarders-fieldset"; interface CustomContractFormProps { metadata: FetchDeployMetadataResult; @@ -796,7 +800,7 @@ export const CustomContractForm: React.FC = ({ {/* for StakeERC721 */} {showRewardsSection && ( -
+
{rewardDeployParams.map((paramKey) => { const deployParam = deployParams.find( @@ -819,12 +823,12 @@ export const CustomContractForm: React.FC = ({ ); })}
-
+ )} {/* for Vote */} {showVoteSection && ( -
+
{voteDeployParams.map((paramKey) => { const deployParam = deployParams.find( @@ -847,7 +851,7 @@ export const CustomContractForm: React.FC = ({ ); })}
-
+ )} {Object.keys(formDeployParams) @@ -927,7 +931,7 @@ export const CustomContractForm: React.FC = ({ teamsAndProjects={teamsAndProjects} /> -
+
{/* Chain */} = ({
-
+ diff --git a/apps/dashboard/src/app/(app)/(dashboard)/published-contract/components/publish-based-deploy.tsx b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/components/publish-based-deploy.tsx index cbdde0c37fd..c07ca050c05 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/published-contract/components/publish-based-deploy.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/components/publish-based-deploy.tsx @@ -5,7 +5,7 @@ import { getAuthTokenWalletAddress } from "@/api/auth-token"; import { fetchPublishedContractVersion, fetchPublishedContractVersions, -} from "@/components/contract-components/fetch-contracts-with-versions"; +} from "@/api/contract/fetch-contracts-with-versions"; import { ZERO_FEE_VERSIONS } from "@/constants/fee-config"; import { serverThirdwebClient } from "@/constants/thirdweb-client.server"; import { PublishedContractBreadcrumbs } from "../[publisher]/[contract_id]/components/breadcrumbs.client"; diff --git a/apps/dashboard/src/app/(app)/(dashboard)/published-contract/components/uri-based-deploy.tsx b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/components/uri-based-deploy.tsx index 16f8dcea766..b18ea20cac6 100644 --- a/apps/dashboard/src/app/(app)/(dashboard)/published-contract/components/uri-based-deploy.tsx +++ b/apps/dashboard/src/app/(app)/(dashboard)/published-contract/components/uri-based-deploy.tsx @@ -1,9 +1,9 @@ import type { FetchDeployMetadataResult } from "thirdweb/contract"; import { getUserThirdwebClient } from "@/api/auth-token"; -import { getProjects } from "@/api/projects"; -import { getTeams } from "@/api/team"; -import { CustomContractForm } from "@/components/contract-components/contract-deploy-form/custom-contract"; +import { getProjects } from "@/api/project/projects"; +import { getTeams } from "@/api/team/get-team"; import { loginRedirect } from "@/utils/redirects"; +import { CustomContractForm } from "./custom-contract"; type DeployFormForUriProps = { contractMetadata: FetchDeployMetadataResult | null; diff --git a/apps/dashboard/src/app/(app)/account/components/AccountHeader.tsx b/apps/dashboard/src/app/(app)/account/components/AccountHeader.tsx index b0058a963f6..468d56e9377 100644 --- a/apps/dashboard/src/app/(app)/account/components/AccountHeader.tsx +++ b/apps/dashboard/src/app/(app)/account/components/AccountHeader.tsx @@ -5,10 +5,10 @@ import { toast } from "sonner"; import type { ThirdwebClient } from "thirdweb"; import { useActiveWallet, useDisconnect } from "thirdweb/react"; import { doLogout } from "@/actions/auth-actions"; -import { createTeam } from "@/actions/createTeam"; +import { createTeam } from "@/actions/team/createTeam"; import { resetAnalytics } from "@/analytics/reset"; -import type { Project } from "@/api/projects"; -import type { Team } from "@/api/team"; +import type { Project } from "@/api/project/projects"; +import type { Team } from "@/api/team/get-team"; import { CustomConnectWallet } from "@/components/connect-wallet"; import { LazyCreateProjectDialog } from "@/components/project/create-project-modal/LazyCreateAPIKeyDialog"; import type { Account } from "@/hooks/useApi"; diff --git a/apps/dashboard/src/app/(app)/account/components/AccountHeaderUI.tsx b/apps/dashboard/src/app/(app)/account/components/AccountHeaderUI.tsx index c0158fbf97c..c46d610f74b 100644 --- a/apps/dashboard/src/app/(app)/account/components/AccountHeaderUI.tsx +++ b/apps/dashboard/src/app/(app)/account/components/AccountHeaderUI.tsx @@ -1,7 +1,7 @@ import Link from "next/link"; import type { ThirdwebClient } from "thirdweb"; -import type { Project } from "@/api/projects"; -import type { Team } from "@/api/team"; +import type { Project } from "@/api/project/projects"; +import type { Team } from "@/api/team/get-team"; import { GradientAvatar } from "@/components/blocks/avatar/gradient-avatar"; import { NotificationsButton } from "@/components/notifications/notification-button"; import type { Account } from "@/hooks/useApi"; diff --git a/apps/dashboard/src/app/(app)/account/devices/AccountDevicesPage.tsx b/apps/dashboard/src/app/(app)/account/devices/AccountDevicesPage.tsx index 47d0fe7ca99..211301b3ed3 100644 --- a/apps/dashboard/src/app/(app)/account/devices/AccountDevicesPage.tsx +++ b/apps/dashboard/src/app/(app)/account/devices/AccountDevicesPage.tsx @@ -1,7 +1,7 @@ "use client"; -import { AuthorizedWalletsTable } from "@app/account/devices/AuthorizedWalletsTable"; import { useAuthorizedWallets } from "@/hooks/useApi"; +import { AuthorizedWalletsTable } from "./AuthorizedWalletsTable"; // TODO - fetch the authorized wallets server side diff --git a/apps/dashboard/src/app/(app)/account/devices/page.tsx b/apps/dashboard/src/app/(app)/account/devices/page.tsx index 69758ec2e9a..18befd34756 100644 --- a/apps/dashboard/src/app/(app)/account/devices/page.tsx +++ b/apps/dashboard/src/app/(app)/account/devices/page.tsx @@ -1,4 +1,4 @@ -import { getValidAccount } from "../settings/getAccount"; +import { getValidAccount } from "@/api/account/get-account"; import { AccountDevicesPage } from "./AccountDevicesPage"; export default async function Page() { diff --git a/apps/dashboard/src/app/(app)/account/layout.tsx b/apps/dashboard/src/app/(app)/account/layout.tsx index 1c66cdf49ba..a547308c520 100644 --- a/apps/dashboard/src/app/(app)/account/layout.tsx +++ b/apps/dashboard/src/app/(app)/account/layout.tsx @@ -1,8 +1,9 @@ import type React from "react"; import type { ThirdwebClient } from "thirdweb"; +import { getValidAccount } from "@/api/account/get-account"; import { getAuthToken, getAuthTokenWalletAddress } from "@/api/auth-token"; -import { getProjects } from "@/api/projects"; -import { getTeams, type Team } from "@/api/team"; +import { getProjects } from "@/api/project/projects"; +import { getTeams, type Team } from "@/api/team/get-team"; import { AppFooter } from "@/components/footers/app-footer"; import { AnnouncementBanner } from "@/components/misc/AnnouncementBanner"; import { TabPathLinks } from "@/components/ui/tabs"; @@ -11,7 +12,6 @@ import type { Account } from "@/hooks/useApi"; import { loginRedirect } from "@/utils/redirects"; import { TWAutoConnect } from "../components/autoconnect"; import { AccountHeader } from "./components/AccountHeader"; -import { getValidAccount } from "./settings/getAccount"; export default async function AccountLayout(props: { children: React.ReactNode; diff --git a/apps/dashboard/src/app/(app)/account/overview/AccountTeamsUI.tsx b/apps/dashboard/src/app/(app)/account/overview/AccountTeamsUI.tsx index cd0a14e3318..ed17ccb3959 100644 --- a/apps/dashboard/src/app/(app)/account/overview/AccountTeamsUI.tsx +++ b/apps/dashboard/src/app/(app)/account/overview/AccountTeamsUI.tsx @@ -5,9 +5,9 @@ import Link from "next/link"; import { useState } from "react"; import { toast } from "sonner"; import type { ThirdwebClient } from "thirdweb"; -import { createTeam } from "@/actions/createTeam"; -import type { Team } from "@/api/team"; -import type { TeamAccountRole } from "@/api/team-members"; +import { createTeam } from "@/actions/team/createTeam"; +import type { Team } from "@/api/team/get-team"; +import type { TeamAccountRole } from "@/api/team/team-members"; import { GradientAvatar } from "@/components/blocks/avatar/gradient-avatar"; import { TeamPlanBadge } from "@/components/blocks/TeamPlanBadge"; import { Button } from "@/components/ui/button"; diff --git a/apps/dashboard/src/app/(app)/account/page.tsx b/apps/dashboard/src/app/(app)/account/page.tsx index a8e67464067..9e7d7017eab 100644 --- a/apps/dashboard/src/app/(app)/account/page.tsx +++ b/apps/dashboard/src/app/(app)/account/page.tsx @@ -1,11 +1,11 @@ import { notFound } from "next/navigation"; +import { getValidAccount } from "@/api/account/get-account"; import { getAuthToken } from "@/api/auth-token"; -import { getTeams } from "@/api/team"; -import { getMemberByAccountId } from "@/api/team-members"; +import { getTeams } from "@/api/team/get-team"; +import { getMemberByAccountId } from "@/api/team/team-members"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { loginRedirect } from "@/utils/redirects"; import { AccountTeamsUI } from "./overview/AccountTeamsUI"; -import { getValidAccount } from "./settings/getAccount"; export default async function Page() { const [authToken, account, teams] = await Promise.all([ diff --git a/apps/dashboard/src/app/(app)/account/settings/AccountSettingsPage.tsx b/apps/dashboard/src/app/(app)/account/settings/AccountSettingsPage.tsx index 645062789ae..ea83b0f8027 100644 --- a/apps/dashboard/src/app/(app)/account/settings/AccountSettingsPage.tsx +++ b/apps/dashboard/src/app/(app)/account/settings/AccountSettingsPage.tsx @@ -2,10 +2,10 @@ import type { ThirdwebClient } from "thirdweb"; import { useActiveWallet, useDisconnect } from "thirdweb/react"; import { upload } from "thirdweb/storage"; +import { confirmEmailWithOTP } from "@/actions/account/confirmEmail"; +import { updateAccount } from "@/actions/account/updateAccount"; import { doLogout } from "@/actions/auth-actions"; -import { confirmEmailWithOTP } from "@/actions/confirmEmail"; import { apiServerProxy } from "@/actions/proxies"; -import { updateAccount } from "@/actions/updateAccount"; import { resetAnalytics } from "@/analytics/reset"; import type { Account } from "@/hooks/useApi"; import { useDashboardRouter } from "@/lib/DashboardRouter"; diff --git a/apps/dashboard/src/app/(app)/account/settings/page.tsx b/apps/dashboard/src/app/(app)/account/settings/page.tsx index 7fa89c6d994..4cedbe848a7 100644 --- a/apps/dashboard/src/app/(app)/account/settings/page.tsx +++ b/apps/dashboard/src/app/(app)/account/settings/page.tsx @@ -1,9 +1,9 @@ +import { getValidAccount } from "@/api/account/get-account"; import { getAuthToken } from "@/api/auth-token"; -import { getDefaultTeam } from "@/api/team"; +import { getDefaultTeam } from "@/api/team/get-team"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { loginRedirect } from "@/utils/redirects"; import { AccountSettingsPage } from "./AccountSettingsPage"; -import { getValidAccount } from "./getAccount"; export default async function Page() { const pagePath = "/account"; diff --git a/apps/dashboard/src/app/(app)/account/wallets/LinkWalletUI.tsx b/apps/dashboard/src/app/(app)/account/wallets/LinkWalletUI.tsx index da30d70cc8d..ad2b508d0de 100644 --- a/apps/dashboard/src/app/(app)/account/wallets/LinkWalletUI.tsx +++ b/apps/dashboard/src/app/(app)/account/wallets/LinkWalletUI.tsx @@ -7,7 +7,7 @@ import { useState } from "react"; import { toast } from "sonner"; import type { ThirdwebClient } from "thirdweb"; import { apiServerProxy } from "@/actions/proxies"; -import type { LinkedWallet } from "@/api/linked-wallets"; +import type { LinkedWallet } from "@/api/account/linked-wallets"; import { WalletAddress } from "@/components/blocks/wallet-address"; import { Button } from "@/components/ui/button"; import { diff --git a/apps/dashboard/src/app/(app)/account/wallets/LinkWalletsUI.stories.tsx b/apps/dashboard/src/app/(app)/account/wallets/LinkWalletsUI.stories.tsx index 146a7237510..a1ac9974453 100644 --- a/apps/dashboard/src/app/(app)/account/wallets/LinkWalletsUI.stories.tsx +++ b/apps/dashboard/src/app/(app)/account/wallets/LinkWalletsUI.stories.tsx @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from "@storybook/nextjs"; import { ThirdwebProvider } from "thirdweb/react"; -import type { LinkedWallet } from "@/api/linked-wallets"; +import type { LinkedWallet } from "@/api/account/linked-wallets"; import { BadgeContainer, mobileViewport, diff --git a/apps/dashboard/src/app/(app)/account/wallets/page.tsx b/apps/dashboard/src/app/(app)/account/wallets/page.tsx index a94c89540fa..580bd56e494 100644 --- a/apps/dashboard/src/app/(app)/account/wallets/page.tsx +++ b/apps/dashboard/src/app/(app)/account/wallets/page.tsx @@ -1,8 +1,8 @@ +import { getValidAccount } from "@/api/account/get-account"; +import { getLinkedWallets } from "@/api/account/linked-wallets"; import { getAuthToken } from "@/api/auth-token"; -import { getLinkedWallets } from "@/api/linked-wallets"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { loginRedirect } from "@/utils/redirects"; -import { getValidAccount } from "../settings/getAccount"; import { LinkWallet } from "./LinkWalletUI"; export default async function Page() { diff --git a/apps/dashboard/src/app/(app)/api/testnet-faucet/can-claim/route.ts b/apps/dashboard/src/app/(app)/api/testnet-faucet/can-claim/route.ts index e9722371987..b6ec45f3882 100644 --- a/apps/dashboard/src/app/(app)/api/testnet-faucet/can-claim/route.ts +++ b/apps/dashboard/src/app/(app)/api/testnet-faucet/can-claim/route.ts @@ -1,7 +1,7 @@ import { ipAddress } from "@vercel/functions"; import type { NextRequest } from "next/server"; import { NextResponse } from "next/server"; -import { getTeams } from "@/api/team"; +import { getTeams } from "@/api/team/get-team"; import { NEXT_PUBLIC_THIRDWEB_ENGINE_FAUCET_WALLET } from "@/constants/public-envs"; import { DISABLE_FAUCET_CHAIN_IDS, diff --git a/apps/dashboard/src/app/(app)/api/testnet-faucet/claim/route.ts b/apps/dashboard/src/app/(app)/api/testnet-faucet/claim/route.ts index 2fcbb42368f..974678ab948 100644 --- a/apps/dashboard/src/app/(app)/api/testnet-faucet/claim/route.ts +++ b/apps/dashboard/src/app/(app)/api/testnet-faucet/claim/route.ts @@ -2,7 +2,7 @@ import { ipAddress } from "@vercel/functions"; import { startOfToday } from "date-fns"; import { type NextRequest, NextResponse } from "next/server"; import { getAddress, ZERO_ADDRESS } from "thirdweb"; -import { getTeams } from "@/api/team"; +import { getTeams } from "@/api/team/get-team"; import { COOKIE_ACTIVE_ACCOUNT, COOKIE_PREFIX_TOKEN } from "@/constants/cookie"; import { NEXT_PUBLIC_THIRDWEB_API_HOST, @@ -15,7 +15,7 @@ import { } from "@/constants/server-envs"; import type { Account } from "@/hooks/useApi"; import { cacheGet, cacheSet } from "@/lib/redis"; -import { getFaucetClaimAmount } from "./claim-amount"; +import { getFaucetClaimAmount } from "@/utils/faucet"; interface RequestTestnetFundsPayload { chainId: number; diff --git a/apps/dashboard/src/app/(app)/get-started/team/[team_slug]/add-members/page.tsx b/apps/dashboard/src/app/(app)/get-started/team/[team_slug]/add-members/page.tsx index c15e08d6484..8357187e61f 100644 --- a/apps/dashboard/src/app/(app)/get-started/team/[team_slug]/add-members/page.tsx +++ b/apps/dashboard/src/app/(app)/get-started/team/[team_slug]/add-members/page.tsx @@ -1,6 +1,6 @@ import { notFound } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getTeamBySlug } from "@/api/team"; +import { getTeamBySlug } from "@/api/team/get-team"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { TeamOnboardingLayout } from "../../../../../login/onboarding/onboarding-layout"; import { InviteTeamMembers } from "../../../../../login/onboarding/team-onboarding/team-onboarding"; diff --git a/apps/dashboard/src/app/(app)/get-started/team/[team_slug]/layout.tsx b/apps/dashboard/src/app/(app)/get-started/team/[team_slug]/layout.tsx index 7c9ef36a119..d77c8d3cba2 100644 --- a/apps/dashboard/src/app/(app)/get-started/team/[team_slug]/layout.tsx +++ b/apps/dashboard/src/app/(app)/get-started/team/[team_slug]/layout.tsx @@ -1,14 +1,14 @@ import { differenceInDays } from "date-fns"; import { InfoIcon } from "lucide-react"; import { notFound } from "next/navigation"; +import { getValidAccount } from "@/api/account/get-account"; import { getAuthToken, getAuthTokenWalletAddress } from "@/api/auth-token"; -import { getProjects } from "@/api/projects"; -import { getTeamBySlug, getTeams } from "@/api/team"; +import { getProjects } from "@/api/project/projects"; +import { getTeamBySlug, getTeams } from "@/api/team/get-team"; import { AppFooter } from "@/components/footers/app-footer"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { loginRedirect } from "@/utils/redirects"; -import { getValidAccount } from "../../../account/settings/getAccount"; import { TeamHeaderLoggedIn } from "../../../team/components/TeamHeader/team-header-logged-in.client"; export default async function Layout(props: { diff --git a/apps/dashboard/src/app/(app)/get-started/team/[team_slug]/page.tsx b/apps/dashboard/src/app/(app)/get-started/team/[team_slug]/page.tsx index 60a80b78105..d532ece3021 100644 --- a/apps/dashboard/src/app/(app)/get-started/team/[team_slug]/page.tsx +++ b/apps/dashboard/src/app/(app)/get-started/team/[team_slug]/page.tsx @@ -1,6 +1,6 @@ import { notFound } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getTeamBySlug } from "@/api/team"; +import { getTeamBySlug } from "@/api/team/get-team"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { loginRedirect } from "@/utils/redirects"; import { TeamOnboardingLayout } from "../../../../login/onboarding/onboarding-layout"; diff --git a/apps/dashboard/src/app/(app)/get-started/team/[team_slug]/select-plan/_components/plan-selector.tsx b/apps/dashboard/src/app/(app)/get-started/team/[team_slug]/select-plan/_components/plan-selector.tsx index 2eb11a8d2c2..bc6ed91345c 100644 --- a/apps/dashboard/src/app/(app)/get-started/team/[team_slug]/select-plan/_components/plan-selector.tsx +++ b/apps/dashboard/src/app/(app)/get-started/team/[team_slug]/select-plan/_components/plan-selector.tsx @@ -5,8 +5,8 @@ import { reportOnboardingPlanSelected, reportOnboardingPlanSelectionSkipped, } from "@/analytics/report"; -import type { Team } from "@/api/team"; -import { PricingCard } from "@/components/blocks/pricing-card"; +import type { Team } from "@/api/team/get-team"; +import { PricingCard } from "@/components/billing/pricing-card"; import { Button } from "@/components/ui/button"; import { Separator } from "@/components/ui/separator"; import { useStripeRedirectEvent } from "@/hooks/stripe/redirect-event"; diff --git a/apps/dashboard/src/app/(app)/get-started/team/[team_slug]/select-plan/page.tsx b/apps/dashboard/src/app/(app)/get-started/team/[team_slug]/select-plan/page.tsx index 696ff64d996..6c021066d17 100644 --- a/apps/dashboard/src/app/(app)/get-started/team/[team_slug]/select-plan/page.tsx +++ b/apps/dashboard/src/app/(app)/get-started/team/[team_slug]/select-plan/page.tsx @@ -1,6 +1,6 @@ import { notFound } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getTeamBySlug, type Team } from "@/api/team"; +import { getTeamBySlug, type Team } from "@/api/team/get-team"; import { TeamOnboardingLayout } from "../../../../../login/onboarding/onboarding-layout"; import { PlanSelector } from "./_components/plan-selector"; diff --git a/apps/dashboard/src/app/(app)/join/team/[team_slug]/[invite_id]/JoinTeamPage.tsx b/apps/dashboard/src/app/(app)/join/team/[team_slug]/[invite_id]/JoinTeamPage.tsx index 9c375a20354..eb3866d7fbe 100644 --- a/apps/dashboard/src/app/(app)/join/team/[team_slug]/[invite_id]/JoinTeamPage.tsx +++ b/apps/dashboard/src/app/(app)/join/team/[team_slug]/[invite_id]/JoinTeamPage.tsx @@ -3,8 +3,8 @@ import { useMutation } from "@tanstack/react-query"; import { CheckIcon, UsersIcon } from "lucide-react"; import { toast } from "sonner"; -import { acceptInvite } from "@/actions/acceptInvite"; -import type { Team } from "@/api/team"; +import { acceptInvite } from "@/actions/team/acceptInvite"; +import type { Team } from "@/api/team/get-team"; import { ToggleThemeButton } from "@/components/blocks/color-mode-toggle"; import { DotsBackgroundPattern } from "@/components/ui/background-patterns"; import { Button } from "@/components/ui/button"; diff --git a/apps/dashboard/src/app/(app)/join/team/[team_slug]/[invite_id]/page.tsx b/apps/dashboard/src/app/(app)/join/team/[team_slug]/[invite_id]/page.tsx index add88569ec9..40396784d1c 100644 --- a/apps/dashboard/src/app/(app)/join/team/[team_slug]/[invite_id]/page.tsx +++ b/apps/dashboard/src/app/(app)/join/team/[team_slug]/[invite_id]/page.tsx @@ -1,6 +1,6 @@ import { notFound, redirect } from "next/navigation"; -import { getTeamBySlug, service_getTeamBySlug } from "@/api/team"; -import { getValidAccount } from "../../../../account/settings/getAccount"; +import { getValidAccount } from "@/api/account/get-account"; +import { getTeamBySlug, service_getTeamBySlug } from "@/api/team/get-team"; import { JoinTeamPage } from "./JoinTeamPage"; export default async function Page(props: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/_components/FreePlanUpsellBannerUI.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/_components/FreePlanUpsellBannerUI.tsx index d9a53c65418..a49660a07e0 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/_components/FreePlanUpsellBannerUI.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/_components/FreePlanUpsellBannerUI.tsx @@ -1,7 +1,7 @@ "use client"; import { ArrowRightIcon, RocketIcon } from "lucide-react"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { UpsellBannerCard } from "@/components/blocks/UpsellBannerCard"; /** diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/layout.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/layout.tsx index a25b9229d46..3a347aea4a4 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/layout.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/layout.tsx @@ -1,16 +1,16 @@ import { redirect } from "next/navigation"; +import { getValidAccount } from "@/api/account/get-account"; import { getAuthToken, getAuthTokenWalletAddress } from "@/api/auth-token"; -import { fetchEcosystemList } from "@/api/ecosystems"; -import { getProjects } from "@/api/projects"; -import { getTeamBySlug, getTeams } from "@/api/team"; -import { getChainSubscriptions } from "@/api/team-subscription"; +import { getProjects } from "@/api/project/projects"; +import { fetchEcosystemList } from "@/api/team/ecosystems"; +import { getTeamBySlug, getTeams } from "@/api/team/get-team"; +import { getChainSubscriptions } from "@/api/team/team-subscription"; import { CustomChatButton } from "@/components/chat/CustomChatButton"; import { AnnouncementBanner } from "@/components/misc/AnnouncementBanner"; import { SidebarProvider } from "@/components/ui/sidebar"; import { siwaExamplePrompts } from "@/constants/siwa-example-prompts"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { getChain } from "../../../(dashboard)/(chain)/utils"; -import { getValidAccount } from "../../../account/settings/getAccount"; import { TeamHeaderLoggedIn } from "../../components/TeamHeader/team-header-logged-in.client"; import { StaffModeNotice } from "./_components/StaffModeNotice"; import { TeamSidebarLayout } from "./TeamSidebarLayout"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/page.tsx index f716d58d449..65440078f7c 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/page.tsx @@ -2,8 +2,8 @@ import { subDays } from "date-fns"; import { redirect } from "next/navigation"; import { getWalletConnections } from "@/api/analytics"; import { getAuthToken } from "@/api/auth-token"; -import { getProjects, type Project } from "@/api/projects"; -import { getTeamBySlug } from "@/api/team"; +import { getProjects, type Project } from "@/api/project/projects"; +import { getTeamBySlug } from "@/api/team/get-team"; import { DismissibleAlert } from "@/components/blocks/dismissible-alert"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { loginRedirect } from "@/utils/redirects"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/analytics/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/analytics/page.tsx index 7f7342a555f..0052b955bb7 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/analytics/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/analytics/page.tsx @@ -13,7 +13,7 @@ import { getWalletConnections, getWalletUsers, } from "@/api/analytics"; -import { getTeamBySlug } from "@/api/team"; +import { getTeamBySlug } from "@/api/team/get-team"; import { type DurationId, getLastNDaysRange, diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/audit-log/_components/entry.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/audit-log/_components/entry.tsx index 634896b9571..90147ba427f 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/audit-log/_components/entry.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/audit-log/_components/entry.tsx @@ -3,7 +3,7 @@ import { formatDistanceToNow } from "date-fns"; import { KeyIcon, SettingsIcon, UserIcon } from "lucide-react"; import Link from "next/link"; -import type { AuditLogEntry } from "@/api/audit-log"; +import type { AuditLogEntry } from "@/api/team/audit-log"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; interface AuditLogEntryProps { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/audit-log/_components/list.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/audit-log/_components/list.tsx index bf92a5f70db..044f589e69c 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/audit-log/_components/list.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/audit-log/_components/list.tsx @@ -3,7 +3,7 @@ import { ChevronLeftIcon, ChevronRightIcon } from "lucide-react"; import { useQueryState } from "nuqs"; import { useTransition } from "react"; -import type { AuditLogEntry } from "@/api/audit-log"; +import type { AuditLogEntry } from "@/api/team/audit-log"; import { Button } from "@/components/ui/button"; import { searchParams } from "../search-params"; import { AuditLogEntryComponent } from "./entry"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/audit-log/layout.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/audit-log/layout.tsx index 6e827f49953..f8a8f9d16c8 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/audit-log/layout.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/audit-log/layout.tsx @@ -1,5 +1,5 @@ import { redirect } from "next/navigation"; -import { getTeamBySlug } from "@/api/team"; +import { getTeamBySlug } from "@/api/team/get-team"; import { UpsellWrapper } from "@/components/blocks/upsell-wrapper"; export default async function Layout(props: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/audit-log/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/audit-log/page.tsx index 8fb940cd670..da2fd9610c8 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/audit-log/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/audit-log/page.tsx @@ -1,7 +1,7 @@ import { redirect } from "next/navigation"; -import { getAuditLogs } from "@/api/audit-log"; -import { getTeamBySlug } from "@/api/team"; -import { getValidAccount } from "../../../../../account/settings/getAccount"; +import { getValidAccount } from "@/api/account/get-account"; +import { getAuditLogs } from "@/api/team/audit-log"; +import { getTeamBySlug } from "@/api/team/get-team"; import { AuditLogList } from "./_components/list"; import { searchParamLoader } from "./search-params"; diff --git a/apps/dashboard/src/@/components/billing/CancelPlanModal/CancelPlanModal.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/CancelPlanModal.tsx similarity index 98% rename from apps/dashboard/src/@/components/billing/CancelPlanModal/CancelPlanModal.tsx rename to apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/CancelPlanModal.tsx index 68e162e2ca7..5ce2beac5c8 100644 --- a/apps/dashboard/src/@/components/billing/CancelPlanModal/CancelPlanModal.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/CancelPlanModal.tsx @@ -3,7 +3,7 @@ import { CircleXIcon, ExternalLinkIcon } from "lucide-react"; import Link from "next/link"; import { useState, useTransition } from "react"; import { toast } from "sonner"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { Button } from "@/components/ui/button"; import { Spinner } from "@/components/ui/Spinner/Spinner"; import { diff --git a/apps/dashboard/src/@/components/billing/CreditsItem.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/CreditsItem.tsx similarity index 80% rename from apps/dashboard/src/@/components/billing/CreditsItem.tsx rename to apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/CreditsItem.tsx index 41f6ac11a46..bbbea8d204a 100644 --- a/apps/dashboard/src/@/components/billing/CreditsItem.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/CreditsItem.tsx @@ -1,7 +1,7 @@ import { formatDistance } from "date-fns"; -import Image from "next/image"; import type { BillingCredit } from "@/hooks/useApi"; -import { formatToDollars } from "./formatToDollars"; +import { formatToDollars } from "@/utils/formatToDollars"; +import { ThirdwebMiniLogo } from "../../../../../../components/ThirdwebMiniLogo"; interface CreditsItemProps { credit?: BillingCredit; @@ -24,19 +24,9 @@ export const CreditsItem: React.FC = ({ credit }) => {
{isTwCredit ? ( - tw-credit + ) : isStartupCredit ? ( - tw-credit + ) : null}
diff --git a/apps/dashboard/src/@/components/billing/PlanCard.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/PlanCard.tsx similarity index 100% rename from apps/dashboard/src/@/components/billing/PlanCard.tsx rename to apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/PlanCard.tsx diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/PlanInfoCard.client.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/PlanInfoCard.client.tsx index 0b8d4c0b64e..69bd8f3acce 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/PlanInfoCard.client.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/PlanInfoCard.client.tsx @@ -1,7 +1,7 @@ "use client"; import { apiServerProxy } from "@/actions/proxies"; -import type { Team } from "@/api/team"; -import type { TeamSubscription } from "@/api/team-subscription"; +import type { Team } from "@/api/team/get-team"; +import type { TeamSubscription } from "@/api/team/team-subscription"; import { PlanInfoCardUI } from "./PlanInfoCard"; export function PlanInfoCardClient(props: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/PlanInfoCard.stories.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/PlanInfoCard.stories.tsx index d7839677631..4c005370bea 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/PlanInfoCard.stories.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/PlanInfoCard.stories.tsx @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from "@storybook/nextjs"; import { addDays } from "date-fns"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { teamStub, teamSubscriptionsStub } from "@/storybook/stubs"; import { BadgeContainer } from "@/storybook/utils"; import { PlanInfoCardUI } from "./PlanInfoCard"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/PlanInfoCard.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/PlanInfoCard.tsx index e3bcb381330..df6aeaec50c 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/PlanInfoCard.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/PlanInfoCard.tsx @@ -9,12 +9,10 @@ import { } from "lucide-react"; import Link from "next/link"; import { useState } from "react"; -import type { Team } from "@/api/team"; -import type { TeamSubscription } from "@/api/team-subscription"; +import type { Team } from "@/api/team/get-team"; +import type { TeamSubscription } from "@/api/team/team-subscription"; import { BillingPortalButton } from "@/components/billing/billing"; -import { CancelPlanButton } from "@/components/billing/CancelPlanModal/CancelPlanModal"; -import { BillingPricing } from "@/components/billing/Pricing"; -import { RenewSubscriptionButton } from "@/components/billing/renew-subscription/renew-subscription-button"; +import { RenewSubscriptionButton } from "@/components/billing/renew-subscription-button"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { Separator } from "@/components/ui/separator"; @@ -27,6 +25,8 @@ import { import { ToolTipLabel } from "@/components/ui/tooltip"; import { UnderlineLink } from "@/components/ui/UnderlineLink"; import { getValidTeamPlan } from "@/utils/getValidTeamPlan"; +import { CancelPlanButton } from "./CancelPlanModal"; +import { BillingPricing } from "./Pricing"; export function PlanInfoCardUI(props: { subscriptions: TeamSubscription[]; diff --git a/apps/dashboard/src/@/components/billing/Pricing.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/Pricing.tsx similarity index 97% rename from apps/dashboard/src/@/components/billing/Pricing.tsx rename to apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/Pricing.tsx index a0bf9d61554..d69e29a8121 100644 --- a/apps/dashboard/src/@/components/billing/Pricing.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/Pricing.tsx @@ -1,8 +1,8 @@ "use client"; import { useTransition } from "react"; -import type { Team } from "@/api/team"; -import { PricingCard } from "@/components/blocks/pricing-card"; +import type { Team } from "@/api/team/get-team"; +import { PricingCard } from "@/components/billing/pricing-card"; import { Spinner } from "@/components/ui/Spinner/Spinner"; import { PRO_CONTACT_US_URL } from "@/constants/pro"; import { useStripeRedirectEvent } from "@/hooks/stripe/redirect-event"; diff --git a/apps/dashboard/src/@/components/billing/SubscriptionCoupons/Coupons.stories.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/coupons/Coupons.stories.tsx similarity index 100% rename from apps/dashboard/src/@/components/billing/SubscriptionCoupons/Coupons.stories.tsx rename to apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/coupons/Coupons.stories.tsx diff --git a/apps/dashboard/src/@/components/billing/SubscriptionCoupons/Coupons.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/coupons/Coupons.tsx similarity index 100% rename from apps/dashboard/src/@/components/billing/SubscriptionCoupons/Coupons.tsx rename to apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/coupons/Coupons.tsx diff --git a/apps/dashboard/src/@/components/billing/SubscriptionCoupons/CouponsClient.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/coupons/CouponsClient.tsx similarity index 100% rename from apps/dashboard/src/@/components/billing/SubscriptionCoupons/CouponsClient.tsx rename to apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/coupons/CouponsClient.tsx diff --git a/apps/dashboard/src/@/components/billing/SubscriptionCoupons/CouponsUI.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/coupons/CouponsUI.tsx similarity index 100% rename from apps/dashboard/src/@/components/billing/SubscriptionCoupons/CouponsUI.tsx rename to apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/coupons/CouponsUI.tsx diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/invoices/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/invoices/page.tsx index a578106f911..496a739e3a8 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/invoices/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/invoices/page.tsx @@ -1,9 +1,9 @@ import { redirect } from "next/navigation"; import type { SearchParams } from "nuqs/server"; import { getTeamInvoices } from "@/actions/stripe-actions"; -import { getTeamBySlug } from "@/api/team"; -import { getMemberByAccountId } from "@/api/team-members"; -import { getValidAccount } from "../../../../../../account/settings/getAccount"; +import { getValidAccount } from "@/api/account/get-account"; +import { getTeamBySlug } from "@/api/team/get-team"; +import { getMemberByAccountId } from "@/api/team/team-members"; import { BillingFilter } from "./components/billing-filter"; import { BillingHistory } from "./components/billing-history"; import { searchParamLoader } from "./search-params"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/layout.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/layout.tsx index 9c97d82fa9c..4f4f05390b9 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/layout.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/layout.tsx @@ -1,6 +1,6 @@ import { redirect } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getTeamBySlug } from "@/api/team"; +import { getTeamBySlug } from "@/api/team/get-team"; import { TabPathLinks } from "@/components/ui/tabs"; import { loginRedirect } from "@/utils/redirects"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/page.tsx index 270379039a2..20ba480b080 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/page.tsx @@ -1,12 +1,12 @@ import { redirect } from "next/navigation"; import { getStripeBalance } from "@/actions/stripe-actions"; -import { getTeamBySlug, type Team } from "@/api/team"; -import { getMemberByAccountId } from "@/api/team-members"; -import { getTeamSubscriptions } from "@/api/team-subscription"; -import { CreditsInfoCard } from "@/components/billing/PlanCard"; -import { Coupons } from "@/components/billing/SubscriptionCoupons/Coupons"; -import { getValidAccount } from "../../../../../account/settings/getAccount"; +import { getValidAccount } from "@/api/account/get-account"; +import { getTeamBySlug, type Team } from "@/api/team/get-team"; +import { getMemberByAccountId } from "@/api/team/team-members"; +import { getTeamSubscriptions } from "@/api/team/team-subscription"; +import { Coupons } from "./components/coupons/Coupons"; import { CreditBalanceSection } from "./components/credit-balance-section.client"; +import { CreditsInfoCard } from "./components/PlanCard"; import { PlanInfoCardClient } from "./components/PlanInfoCard.client"; export default async function Page(props: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/analytics/components/EcosystemAnalyticsPage.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/analytics/components/EcosystemAnalyticsPage.tsx index be107eeedf9..d6075c1a9d1 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/analytics/components/EcosystemAnalyticsPage.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/analytics/components/EcosystemAnalyticsPage.tsx @@ -1,5 +1,5 @@ import { getEcosystemWalletUsage } from "@/api/analytics"; -import type { Partner } from "@/api/ecosystems"; +import type { Partner } from "@/api/team/ecosystems"; import { getLastNDaysRange, type Range, diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/analytics/components/EcosystemWalletUsersChartCard.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/analytics/components/EcosystemWalletUsersChartCard.tsx index fc8596a2ada..584682821fb 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/analytics/components/EcosystemWalletUsersChartCard.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/analytics/components/EcosystemWalletUsersChartCard.tsx @@ -1,7 +1,7 @@ "use client"; import { format } from "date-fns"; import { useMemo } from "react"; -import type { Partner } from "@/api/ecosystems"; +import type { Partner } from "@/api/team/ecosystems"; import { ThirdwebBarChart } from "@/components/blocks/charts/bar-chart"; import { DocLink } from "@/components/blocks/DocLink"; import { ExportToCSVButton } from "@/components/blocks/ExportToCSVButton"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/analytics/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/analytics/page.tsx index 18beeb8a73b..d91a1040bf7 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/analytics/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/analytics/page.tsx @@ -1,7 +1,7 @@ import { redirect } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { fetchEcosystem } from "@/api/ecosystems"; -import { getTeamBySlug } from "@/api/team"; +import { fetchEcosystem } from "@/api/team/ecosystems"; +import { getTeamBySlug } from "@/api/team/get-team"; import { fetchPartners } from "../configuration/hooks/fetchPartners"; import { EcosystemAnalyticsPage } from "./components/EcosystemAnalyticsPage"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/components/EcosystemSlugLayout.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/components/EcosystemSlugLayout.tsx index 2fec668eaa8..e500bfa12c2 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/components/EcosystemSlugLayout.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/components/EcosystemSlugLayout.tsx @@ -1,7 +1,7 @@ import { redirect } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { fetchEcosystem } from "@/api/ecosystems"; -import { getTeamBySlug } from "@/api/team"; +import { fetchEcosystem } from "@/api/team/ecosystems"; +import { getTeamBySlug } from "@/api/team/get-team"; import { TabPathLinks } from "@/components/ui/tabs"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { EcosystemHeader } from "./ecosystem-header.client"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/components/ecosystem-header.client.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/components/ecosystem-header.client.tsx index a5451019399..e2c468c9568 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/components/ecosystem-header.client.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/components/ecosystem-header.client.tsx @@ -4,7 +4,7 @@ import Link from "next/link"; import { useState } from "react"; import { toast } from "sonner"; import type { ThirdwebClient } from "thirdweb"; -import type { Ecosystem } from "@/api/ecosystems"; +import type { Ecosystem } from "@/api/team/ecosystems"; import { Img } from "@/components/blocks/Img"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { Button } from "@/components/ui/button"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/add-partner/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/add-partner/page.tsx index bffed7b09f9..ad9d276bc91 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/add-partner/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/add-partner/page.tsx @@ -1,7 +1,7 @@ import { notFound } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { fetchEcosystem } from "@/api/ecosystems"; -import { getTeamBySlug } from "@/api/team"; +import { fetchEcosystem } from "@/api/team/ecosystems"; +import { getTeamBySlug } from "@/api/team/get-team"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { loginRedirect } from "@/utils/redirects"; import { AddPartnerForm } from "../components/client/add-partner-form.client"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/AddPartnerDialogButton.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/AddPartnerDialogButton.tsx index c01d7404a12..cad7b4875ce 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/AddPartnerDialogButton.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/AddPartnerDialogButton.tsx @@ -2,7 +2,7 @@ import { PlusIcon } from "lucide-react"; import Link from "next/link"; -import type { Ecosystem } from "@/api/ecosystems"; +import type { Ecosystem } from "@/api/team/ecosystems"; import { Button } from "@/components/ui/button"; export function AddPartnerDialogButton(props: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/add-partner-form.client.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/add-partner-form.client.tsx index c45a37c02e7..9d3b97588d6 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/add-partner-form.client.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/add-partner-form.client.tsx @@ -2,7 +2,7 @@ import { useParams } from "next/navigation"; import { toast } from "sonner"; import type { ThirdwebClient } from "thirdweb"; -import type { Ecosystem, Partner } from "@/api/ecosystems"; +import type { Ecosystem, Partner } from "@/api/team/ecosystems"; import { useDashboardRouter } from "@/lib/DashboardRouter"; import { useAddPartner } from "../../hooks/use-add-partner"; import { PartnerForm, type PartnerFormValues } from "./partner-form.client"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/auth-options-form.client.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/auth-options-form.client.tsx index d50ee78c696..2ec8e7b714f 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/auth-options-form.client.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/auth-options-form.client.tsx @@ -12,7 +12,7 @@ import { } from "thirdweb/wallets/smart"; import invariant from "tiny-invariant"; import { z } from "zod"; -import type { AuthOption, Ecosystem } from "@/api/ecosystems"; +import type { AuthOption, Ecosystem } from "@/api/team/ecosystems"; import { SingleNetworkSelector } from "@/components/blocks/NetworkSelectors"; import { SettingsCard } from "@/components/blocks/SettingsCard"; import { Button } from "@/components/ui/button"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/integration-permissions-toggle.client.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/integration-permissions-toggle.client.tsx index 6273dcc84b9..03c6320746c 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/integration-permissions-toggle.client.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/integration-permissions-toggle.client.tsx @@ -2,7 +2,7 @@ import { useState } from "react"; import { toast } from "sonner"; import invariant from "tiny-invariant"; -import type { Ecosystem } from "@/api/ecosystems"; +import type { Ecosystem } from "@/api/team/ecosystems"; import { ConfirmationDialog } from "@/components/ui/ConfirmationDialog"; import { RadioGroup, RadioGroupItemButton } from "@/components/ui/radio-group"; import { Skeleton } from "@/components/ui/skeleton"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/partner-form.client.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/partner-form.client.tsx index 87727417fa2..b1ac17247e5 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/partner-form.client.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/partner-form.client.tsx @@ -6,7 +6,7 @@ import { useId } from "react"; import { useFieldArray, useForm } from "react-hook-form"; import type { ThirdwebClient } from "thirdweb"; import type { z } from "zod"; -import type { Partner } from "@/api/ecosystems"; +import type { Partner } from "@/api/team/ecosystems"; import { Button } from "@/components/ui/button"; import { Form, diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/update-partner-form.client.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/update-partner-form.client.tsx index 8c72fb5b111..3cd13acd623 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/update-partner-form.client.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/client/update-partner-form.client.tsx @@ -2,7 +2,7 @@ import { useParams } from "next/navigation"; import { toast } from "sonner"; import type { ThirdwebClient } from "thirdweb"; -import type { Ecosystem, Partner } from "@/api/ecosystems"; +import type { Ecosystem, Partner } from "@/api/team/ecosystems"; import { useDashboardRouter } from "@/lib/DashboardRouter"; import { useUpdatePartner } from "../../hooks/use-update-partner"; import { PartnerForm, type PartnerFormValues } from "./partner-form.client"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/server/auth-options-section.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/server/auth-options-section.tsx index 81e6233265f..dee23743ba8 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/server/auth-options-section.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/server/auth-options-section.tsx @@ -1,5 +1,5 @@ import type { ThirdwebClient } from "thirdweb"; -import type { Ecosystem } from "@/api/ecosystems"; +import type { Ecosystem } from "@/api/team/ecosystems"; import { AuthOptionsForm, AuthOptionsFormSkeleton, diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/server/ecosystem-partners-section.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/server/ecosystem-partners-section.tsx index 462149db9cf..0756e421d71 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/server/ecosystem-partners-section.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/server/ecosystem-partners-section.tsx @@ -1,4 +1,4 @@ -import type { Ecosystem } from "@/api/ecosystems"; +import type { Ecosystem } from "@/api/team/ecosystems"; import { AddPartnerDialogButton } from "../client/AddPartnerDialogButton"; import { PartnersTable } from "./partners-table"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/server/integration-permissions-section.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/server/integration-permissions-section.tsx index d359c1879f4..83b545a1b92 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/server/integration-permissions-section.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/server/integration-permissions-section.tsx @@ -1,4 +1,4 @@ -import type { Ecosystem } from "@/api/ecosystems"; +import type { Ecosystem } from "@/api/team/ecosystems"; import { IntegrationPermissionsToggle, IntegrationPermissionsToggleSkeleton, diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/server/partners-table.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/server/partners-table.tsx index 5c52011ba4a..662ce6bef9b 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/server/partners-table.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/components/server/partners-table.tsx @@ -1,7 +1,7 @@ import { PencilIcon, Trash2Icon } from "lucide-react"; import Link from "next/link"; import { toast } from "sonner"; -import type { Ecosystem, Partner } from "@/api/ecosystems"; +import type { Ecosystem, Partner } from "@/api/team/ecosystems"; import { Button } from "@/components/ui/button"; import { ConfirmationDialog } from "@/components/ui/ConfirmationDialog"; import { CopyButton } from "@/components/ui/CopyButton"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/fetchPartnerDetails.ts b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/fetchPartnerDetails.ts index 44d10822864..0cb65f5648d 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/fetchPartnerDetails.ts +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/fetchPartnerDetails.ts @@ -1,4 +1,4 @@ -import type { Ecosystem, Partner } from "@/api/ecosystems"; +import type { Ecosystem, Partner } from "@/api/team/ecosystems"; export async function fetchPartnerDetails(args: { authToken: string; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/fetchPartners.ts b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/fetchPartners.ts index 9784581e2bb..80e08246b2d 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/fetchPartners.ts +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/fetchPartners.ts @@ -1,4 +1,4 @@ -import type { Ecosystem, Partner } from "@/api/ecosystems"; +import type { Ecosystem, Partner } from "@/api/team/ecosystems"; /** * Fetches partners for an ecosystem diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/use-add-partner.ts b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/use-add-partner.ts index ee308fc3dcb..e00ee16b2c6 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/use-add-partner.ts +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/use-add-partner.ts @@ -3,7 +3,7 @@ import { useMutation, useQueryClient, } from "@tanstack/react-query"; -import type { Ecosystem, Partner } from "@/api/ecosystems"; +import type { Ecosystem, Partner } from "@/api/team/ecosystems"; type AddPartnerParams = { ecosystem: Ecosystem; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/use-delete-partner.ts b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/use-delete-partner.ts index e97ba222931..3ba8a3a65f8 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/use-delete-partner.ts +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/use-delete-partner.ts @@ -3,7 +3,7 @@ import { useMutation, useQueryClient, } from "@tanstack/react-query"; -import type { Ecosystem } from "@/api/ecosystems"; +import type { Ecosystem } from "@/api/team/ecosystems"; type DeletePartnerParams = { ecosystem: Ecosystem; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/use-update-ecosystem.ts b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/use-update-ecosystem.ts index 186f6d513e3..1ad1c29cf20 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/use-update-ecosystem.ts +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/use-update-ecosystem.ts @@ -3,7 +3,7 @@ import { useMutation, useQueryClient, } from "@tanstack/react-query"; -import type { Ecosystem } from "@/api/ecosystems"; +import type { Ecosystem } from "@/api/team/ecosystems"; export function useUpdateEcosystem( params: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/use-update-partner.ts b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/use-update-partner.ts index 2973213dafe..ba7b1b98373 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/use-update-partner.ts +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/hooks/use-update-partner.ts @@ -3,7 +3,7 @@ import { useMutation, useQueryClient, } from "@tanstack/react-query"; -import type { Ecosystem, Partner } from "@/api/ecosystems"; +import type { Ecosystem, Partner } from "@/api/team/ecosystems"; type UpdatePartnerParams = { partnerId: string; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/partners/[partner_id]/edit/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/partners/[partner_id]/edit/page.tsx index 0fad6bd98ac..3945a543c83 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/partners/[partner_id]/edit/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/configuration/partners/[partner_id]/edit/page.tsx @@ -1,7 +1,7 @@ import { notFound } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { fetchEcosystem } from "@/api/ecosystems"; -import { getTeamBySlug } from "@/api/team"; +import { fetchEcosystem } from "@/api/team/ecosystems"; +import { getTeamBySlug } from "@/api/team/get-team"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { loginRedirect } from "@/utils/redirects"; import { UpdatePartnerForm } from "../../../components/client/update-partner-form.client"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/hooks/use-ecosystem.ts b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/hooks/use-ecosystem.ts index a53eec37ecc..712d4ecae60 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/hooks/use-ecosystem.ts +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/hooks/use-ecosystem.ts @@ -1,6 +1,6 @@ import { useQuery } from "@tanstack/react-query"; import { apiServerProxy } from "@/actions/proxies"; -import type { Ecosystem } from "@/api/ecosystems"; +import type { Ecosystem } from "@/api/team/ecosystems"; export function useEcosystem({ teamIdOrSlug, diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/hooks/use-partners.ts b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/hooks/use-partners.ts index 723d69b6c6e..570fd7a9157 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/hooks/use-partners.ts +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/hooks/use-partners.ts @@ -1,5 +1,5 @@ import { useQuery } from "@tanstack/react-query"; -import type { Ecosystem, Partner } from "@/api/ecosystems"; +import type { Ecosystem, Partner } from "@/api/team/ecosystems"; import { fetchPartners } from "../configuration/hooks/fetchPartners"; export function usePartners({ diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/page.tsx index 567ed7942dc..f6a94149491 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/page.tsx @@ -1,6 +1,6 @@ import { notFound } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getTeamBySlug } from "@/api/team"; +import { getTeamBySlug } from "@/api/team/get-team"; import { loginRedirect } from "@/utils/redirects"; import { EcosystemPermissionsPage } from "./configuration/components/client/EcosystemPermissionsPage"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/users/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/users/page.tsx index 0f2571b15f8..7f4107b9b6d 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/users/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/[slug]/(active)/users/page.tsx @@ -1,8 +1,8 @@ -import { InAppWalletUsersPageContent } from "@app/team/[team_slug]/[project_slug]/(sidebar)/wallets/users/components"; import { redirect } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { fetchEcosystem } from "@/api/ecosystems"; -import { getTeamBySlug } from "@/api/team"; +import { fetchEcosystem } from "@/api/team/ecosystems"; +import { getTeamBySlug } from "@/api/team/get-team"; +import { InAppWalletUsersPageContent } from "@/components/in-app-wallet-users-content/in-app-wallet-users-content"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { loginRedirect } from "@/utils/redirects"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/create/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/create/page.tsx index 23abcbd9382..df8e0d26200 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/create/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/create/page.tsx @@ -1,5 +1,5 @@ import { notFound } from "next/navigation"; -import { getTeamBySlug } from "@/api/team"; +import { getTeamBySlug } from "@/api/team/get-team"; import { EcosystemCreatePage } from "./EcosystemCreatePage"; export default async function Page(props: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/page.tsx index 99d5bff15f9..0f3993920d9 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/ecosystem/page.tsx @@ -1,6 +1,6 @@ import { redirect } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { fetchEcosystemList } from "@/api/ecosystems"; +import { fetchEcosystemList } from "@/api/team/ecosystems"; import { loginRedirect } from "@/utils/redirects"; export default async function Page(props: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/infrastructure/[chain_id]/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/infrastructure/[chain_id]/page.tsx index 7922910fbc0..31cbaa7c41a 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/infrastructure/[chain_id]/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/infrastructure/[chain_id]/page.tsx @@ -1,13 +1,13 @@ import { InfoIcon } from "lucide-react"; import { notFound, redirect } from "next/navigation"; -import { getChainSubscriptionForChain } from "@/api/team-subscription"; -import { formatToDollars } from "@/components/billing/formatToDollars"; +import { getChainSubscriptionForChain } from "@/api/team/team-subscription"; import { Badge } from "@/components/ui/badge"; import { Card, CardContent } from "@/components/ui/card"; import { Separator } from "@/components/ui/separator"; import { ToolTipLabel } from "@/components/ui/tooltip"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { ChainIconClient } from "@/icons/ChainIcon"; +import { formatToDollars } from "@/utils/formatToDollars"; import { getChain } from "../../../../../../(dashboard)/(chain)/utils"; import { InfraServiceCard } from "./_components/service-card"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/infrastructure/deploy/[chain_id]/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/infrastructure/deploy/[chain_id]/page.tsx index 9960caad2f2..267fa7ff82f 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/infrastructure/deploy/[chain_id]/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/infrastructure/deploy/[chain_id]/page.tsx @@ -1,14 +1,14 @@ import { ArrowUpDownIcon } from "lucide-react"; import Link from "next/link"; import { notFound, redirect } from "next/navigation"; -import { getMembers } from "@/api/team-members"; +import { getValidAccount } from "@/api/account/get-account"; +import { getMembers } from "@/api/team/team-members"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { Card, CardContent } from "@/components/ui/card"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { ChainIconClient } from "@/icons/ChainIcon"; import { getChain } from "../../../../../../../(dashboard)/(chain)/utils"; -import { getValidAccount } from "../../../../../../../account/settings/getAccount"; import { DeployInfrastructureForm } from "../_components/deploy-infrastructure-form.client"; export default async function DeployInfrastructureOnChainPage(props: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/infrastructure/layout.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/infrastructure/layout.tsx index 06730684257..47f49919abb 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/infrastructure/layout.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/infrastructure/layout.tsx @@ -1,5 +1,5 @@ import { redirect } from "next/navigation"; -import { getTeamBySlug } from "@/api/team"; +import { getTeamBySlug } from "@/api/team/get-team"; export default async function Layout(props: { children: React.ReactNode; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/projects/TeamProjectsPage.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/projects/TeamProjectsPage.tsx index 1d58d76e0a8..f2c2a71d455 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/projects/TeamProjectsPage.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/projects/TeamProjectsPage.tsx @@ -13,8 +13,8 @@ import { import Link from "next/link"; import { useMemo, useState } from "react"; import type { ThirdwebClient } from "thirdweb"; -import type { Project } from "@/api/projects"; -import type { Team } from "@/api/team"; +import type { Project } from "@/api/project/projects"; +import type { Team } from "@/api/team/get-team"; import { ProjectAvatar } from "@/components/blocks/avatar/project-avatar"; import { PaginationButtons } from "@/components/blocks/pagination-buttons"; import { LazyCreateProjectDialog } from "@/components/project/create-project-modal/LazyCreateAPIKeyDialog"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/_components/settings-cards/dedicated-support.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/_components/settings-cards/dedicated-support.tsx index 8d175d135c7..2da3a8b6795 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/_components/settings-cards/dedicated-support.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/_components/settings-cards/dedicated-support.tsx @@ -4,8 +4,8 @@ import { ExternalLinkIcon } from "lucide-react"; import Link from "next/link"; import { useState } from "react"; import { toast } from "sonner"; -import { createDedicatedSupportChannel } from "@/api/dedicated-support"; -import type { Team } from "@/api/team"; +import { createDedicatedSupportChannel } from "@/api/team/dedicated-support"; +import type { Team } from "@/api/team/get-team"; import { SettingsCard } from "@/components/blocks/SettingsCard"; import { Select, diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/_components/settings-cards/domain-verification.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/_components/settings-cards/domain-verification.tsx index 9f5c5b85439..3c460d11221 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/_components/settings-cards/domain-verification.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/_components/settings-cards/domain-verification.tsx @@ -7,7 +7,7 @@ import { checkDomainVerification, createDomainVerification, type VerifiedDomainResponse, -} from "@/api/verified-domain"; +} from "@/api/team/verified-domain"; import { SettingsCard } from "@/components/blocks/SettingsCard"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { Button } from "@/components/ui/button"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/_components/sidebar/TeamSettingsSidebar.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/_components/sidebar/TeamSettingsSidebar.tsx index fd29fdb7afd..5e0edd6667e 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/_components/sidebar/TeamSettingsSidebar.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/_components/sidebar/TeamSettingsSidebar.tsx @@ -1,5 +1,5 @@ import type { ThirdwebClient } from "thirdweb"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { Badge } from "@/components/ui/badge"; import type { Account } from "@/hooks/useApi"; import { getTeamSettingsLinks } from "./getTeamSettingsLinks"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/general/TeamGeneralSettingsPage.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/general/TeamGeneralSettingsPage.tsx index 26d23773ad4..916cf36a854 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/general/TeamGeneralSettingsPage.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/general/TeamGeneralSettingsPage.tsx @@ -3,8 +3,8 @@ import type { ThirdwebClient } from "thirdweb"; import { upload } from "thirdweb/storage"; import { apiServerProxy } from "@/actions/proxies"; -import type { Team } from "@/api/team"; -import type { VerifiedDomainResponse } from "@/api/verified-domain"; +import type { Team } from "@/api/team/get-team"; +import type { VerifiedDomainResponse } from "@/api/team/verified-domain"; import { useDashboardRouter } from "@/lib/DashboardRouter"; import { TeamGeneralSettingsPageUI } from "./TeamGeneralSettingsPageUI"; import { updateTeam } from "./updateTeam"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/general/TeamGeneralSettingsPageUI.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/general/TeamGeneralSettingsPageUI.tsx index b9544665590..9cbab233d27 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/general/TeamGeneralSettingsPageUI.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/general/TeamGeneralSettingsPageUI.tsx @@ -7,9 +7,9 @@ import { useForm } from "react-hook-form"; import { toast } from "sonner"; import type { ThirdwebClient } from "thirdweb"; import { z } from "zod"; -import { deleteTeam } from "@/actions/deleteTeam"; -import type { Team } from "@/api/team"; -import type { VerifiedDomainResponse } from "@/api/verified-domain"; +import { deleteTeam } from "@/actions/team/deleteTeam"; +import type { Team } from "@/api/team/get-team"; +import type { VerifiedDomainResponse } from "@/api/team/verified-domain"; import { DangerSettingCard } from "@/components/blocks/DangerSettingCard"; import { FileInput } from "@/components/blocks/FileInput"; import { SettingsCard } from "@/components/blocks/SettingsCard"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/general/updateTeam.ts b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/general/updateTeam.ts index 87c2cd718a4..8d358fb26e2 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/general/updateTeam.ts +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/general/updateTeam.ts @@ -1,7 +1,7 @@ "use server"; import { getAuthToken } from "@/api/auth-token"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { NEXT_PUBLIC_THIRDWEB_API_HOST } from "@/constants/public-envs"; export async function updateTeam(params: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/layout.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/layout.tsx index 4d497b86244..8e7bbfb5564 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/layout.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/layout.tsx @@ -1,6 +1,6 @@ import { redirect } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getTeamBySlug } from "@/api/team"; +import { getTeamBySlug } from "@/api/team/get-team"; import { TabPathLinks } from "@/components/ui/tabs"; import { loginRedirect } from "@/utils/redirects"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/InviteSection.stories.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/InviteSection.stories.tsx index 77fb93ddf89..30be040abcc 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/InviteSection.stories.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/InviteSection.stories.tsx @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from "@storybook/nextjs"; import { useId, useState } from "react"; -import type { TeamAccountRole } from "@/api/team-members"; +import type { TeamAccountRole } from "@/api/team/team-members"; import { Label } from "@/components/ui/label"; import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group"; import { teamStub } from "@/storybook/stubs"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/InviteSection.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/InviteSection.tsx index c94ce7dca13..38086890cf7 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/InviteSection.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/InviteSection.tsx @@ -15,8 +15,8 @@ import { useForm } from "react-hook-form"; import { toast } from "sonner"; import type { ThirdwebClient } from "thirdweb"; import { z } from "zod"; -import type { Team } from "@/api/team"; -import type { TeamAccountRole } from "@/api/team-members"; +import type { Team } from "@/api/team/get-team"; +import type { TeamAccountRole } from "@/api/team/team-members"; import { GradientAvatar } from "@/components/blocks/avatar/gradient-avatar"; import { Button } from "@/components/ui/button"; import { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/ManageInvitesSection.stories.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/ManageInvitesSection.stories.tsx index 07491ee6729..d205ae3fb48 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/ManageInvitesSection.stories.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/ManageInvitesSection.stories.tsx @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from "@storybook/nextjs"; -import type { TeamInvite } from "@/api/team-invites"; -import type { TeamAccountRole } from "@/api/team-members"; +import type { TeamInvite } from "@/api/team/team-invites"; +import type { TeamAccountRole } from "@/api/team/team-members"; import { teamStub } from "@/storybook/stubs"; import { BadgeContainer, storybookThirdwebClient } from "@/storybook/utils"; import { ManageInvitesSection } from "./ManageInvitesSection"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/ManageInvitesSection.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/ManageInvitesSection.tsx index 4393053e067..68fa64ac2c4 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/ManageInvitesSection.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/ManageInvitesSection.tsx @@ -6,8 +6,8 @@ import { EllipsisIcon, MailIcon } from "lucide-react"; import { useMemo, useState } from "react"; import { toast } from "sonner"; import type { ThirdwebClient } from "thirdweb"; -import type { Team } from "@/api/team"; -import type { TeamInvite } from "@/api/team-invites"; +import type { Team } from "@/api/team/get-team"; +import type { TeamInvite } from "@/api/team/team-invites"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/ManageMembersSection.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/ManageMembersSection.tsx index a89224c7af0..f58fafb4cc4 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/ManageMembersSection.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/ManageMembersSection.tsx @@ -6,8 +6,8 @@ import { EllipsisIcon } from "lucide-react"; import { useMemo, useState } from "react"; import { toast } from "sonner"; import type { ThirdwebClient } from "thirdweb"; -import type { Team } from "@/api/team"; -import type { TeamAccountRole, TeamMember } from "@/api/team-members"; +import type { Team } from "@/api/team/get-team"; +import type { TeamAccountRole, TeamMember } from "@/api/team/team-members"; import { GradientAvatar } from "@/components/blocks/avatar/gradient-avatar"; import { Button } from "@/components/ui/button"; import { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/TeamMembersSettingsPage.stories.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/TeamMembersSettingsPage.stories.tsx index 585409dd59a..8add3a8eddb 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/TeamMembersSettingsPage.stories.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/TeamMembersSettingsPage.stories.tsx @@ -1,5 +1,5 @@ import type { Meta, StoryObj } from "@storybook/nextjs"; -import type { TeamAccountRole, TeamMember } from "@/api/team-members"; +import type { TeamAccountRole, TeamMember } from "@/api/team/team-members"; import { teamStub } from "@/storybook/stubs"; import { BadgeContainer, storybookThirdwebClient } from "@/storybook/utils"; import { ManageMembersSection } from "./ManageMembersSection"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/TeamMembersSettingsPage.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/TeamMembersSettingsPage.tsx index 34d58b5df13..ccf92623fd4 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/TeamMembersSettingsPage.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/TeamMembersSettingsPage.tsx @@ -3,10 +3,10 @@ import { useState } from "react"; import type { ThirdwebClient } from "thirdweb"; import { apiServerProxy } from "@/actions/proxies"; -import { sendTeamInvites } from "@/actions/sendTeamInvite"; -import type { Team } from "@/api/team"; -import type { TeamInvite } from "@/api/team-invites"; -import type { TeamMember } from "@/api/team-members"; +import { sendTeamInvites } from "@/actions/team/sendTeamInvite"; +import type { Team } from "@/api/team/get-team"; +import type { TeamInvite } from "@/api/team/team-invites"; +import type { TeamMember } from "@/api/team/team-members"; import { TabButtons } from "@/components/ui/tabs"; import { useDashboardRouter } from "@/lib/DashboardRouter"; import { InviteSection, type RecommendedMember } from "./InviteSection"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/_common.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/_common.tsx index 9fd0adaba0d..f94b12dd16a 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/_common.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/_common.tsx @@ -1,7 +1,7 @@ "use client"; import { SearchIcon } from "lucide-react"; -import type { TeamAccountRole } from "@/api/team-members"; +import type { TeamAccountRole } from "@/api/team/team-members"; import { Input } from "@/components/ui/input"; import { Select, diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/page.tsx index da0588a3f6d..423fd37d4fd 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/members/page.tsx @@ -1,10 +1,10 @@ import { notFound, redirect } from "next/navigation"; +import { getValidAccount } from "@/api/account/get-account"; import { getAuthToken } from "@/api/auth-token"; -import { getTeamBySlug } from "@/api/team"; -import { getTeamInvites } from "@/api/team-invites"; -import { getMembers } from "@/api/team-members"; +import { getTeamBySlug } from "@/api/team/get-team"; +import { getTeamInvites } from "@/api/team/team-invites"; +import { getMembers } from "@/api/team/team-members"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; -import { getValidAccount } from "../../../../../../account/settings/getAccount"; import { getRecommendedMembers } from "./getRecommendedMembers"; import { TeamMembersSettingsPage } from "./TeamMembersSettingsPage"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/notifications/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/notifications/page.tsx index 7c34c9cb38d..69cf93cad0b 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/notifications/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/notifications/page.tsx @@ -1,4 +1,4 @@ -import { getValidAccount } from "../../../../../../account/settings/getAccount"; +import { getValidAccount } from "@/api/account/get-account"; import { Notifications } from "./Notifications"; export default async function Page(props: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/page.tsx index a45ec187793..4da859dfc8b 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/page.tsx @@ -1,10 +1,10 @@ import { notFound } from "next/navigation"; +import { getValidAccount } from "@/api/account/get-account"; import { getAuthToken } from "@/api/auth-token"; -import { getTeamBySlug } from "@/api/team"; -import { getMemberByAccountId } from "@/api/team-members"; -import { checkDomainVerification } from "@/api/verified-domain"; +import { getTeamBySlug } from "@/api/team/get-team"; +import { getMemberByAccountId } from "@/api/team/team-members"; +import { checkDomainVerification } from "@/api/team/verified-domain"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; -import { getValidAccount } from "../../../../../account/settings/getAccount"; import { TeamGeneralSettingsPage } from "./general/TeamGeneralSettingsPage"; export default async function Page(props: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/_components/CreateSupportCase.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/_components/CreateSupportCase.tsx index 81117c2e4df..71c2f6fd47f 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/_components/CreateSupportCase.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/_components/CreateSupportCase.tsx @@ -3,7 +3,7 @@ import { ArrowRightIcon, UserIcon } from "lucide-react"; import Link from "next/link"; import { useCallback, useState } from "react"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { MarkdownRenderer } from "@/components/blocks/markdown-renderer"; import { Button } from "@/components/ui/button"; import { DynamicHeight } from "@/components/ui/DynamicHeight"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/_components/SupportCaseDetails.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/_components/SupportCaseDetails.tsx index 00ad4b4fb79..3f1ebf37cd7 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/_components/SupportCaseDetails.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/_components/SupportCaseDetails.tsx @@ -5,8 +5,7 @@ import { ChevronDownIcon, UserIcon } from "lucide-react"; import Link from "next/link"; import { useState } from "react"; import { toast } from "sonner"; -import { sendMessageToTicket } from "@/api/support"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { Badge } from "@/components/ui/badge"; import { Breadcrumb, @@ -21,6 +20,7 @@ import { Spinner } from "@/components/ui/Spinner/Spinner"; import { AutoResizeTextarea } from "@/components/ui/textarea"; import { cn } from "@/lib/utils"; import { ThirdwebMiniLogo } from "../../../../../../components/ThirdwebMiniLogo"; +import { sendMessageToTicket } from "../apis/support"; import type { SupportMessage, SupportTicket } from "../types/tickets"; import { getTicketStatusBadgeVariant, diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/_components/SupportTicketForm.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/_components/SupportTicketForm.tsx index 812b0036875..933115eb80c 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/_components/SupportTicketForm.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/_components/SupportTicketForm.tsx @@ -4,11 +4,11 @@ import Link from "next/link"; import { useRef, useState } from "react"; import { toast } from "sonner"; import { revalidatePathAction } from "@/actions/revalidate"; -import { createSupportTicket } from "@/api/support"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { Button } from "@/components/ui/button"; import { Spinner } from "@/components/ui/Spinner/Spinner"; import { Skeleton } from "@/components/ui/skeleton"; +import { createSupportTicket } from "../apis/support"; import { SupportForm_SelectInput } from "./shared/SupportForm_SelectInput"; // Dynamic imports for contact forms using named exports diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/_components/case-list.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/_components/case-list.tsx index 63a3736adbc..9282c5c0e3b 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/_components/case-list.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/_components/case-list.tsx @@ -4,7 +4,7 @@ import { formatDate, formatDistanceToNow } from "date-fns"; import { XIcon } from "lucide-react"; import Link from "next/link"; import { useState } from "react"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { Badge } from "@/components/ui/badge"; import { Table, diff --git a/apps/dashboard/src/@/api/support.ts b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/apis/support.ts similarity index 96% rename from apps/dashboard/src/@/api/support.ts rename to apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/apis/support.ts index dd2d698c735..010a5c653c2 100644 --- a/apps/dashboard/src/@/api/support.ts +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/apis/support.ts @@ -1,7 +1,7 @@ "use server"; +import { getAuthToken, getAuthTokenWalletAddress } from "@/api/auth-token"; import { NEXT_PUBLIC_THIRDWEB_API_HOST } from "@/constants/public-envs"; -import type { SupportTicket } from "../../app/(app)/team/[team_slug]/(team)/~/support/types/tickets"; -import { getAuthToken, getAuthTokenWalletAddress } from "./auth-token"; +import type { SupportTicket } from "../types/tickets"; const ESCALATION_FEEDBACK_RATING = 9999; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/cases/[id]/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/cases/[id]/page.tsx index 9bdaf58d96a..4b704ef9026 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/cases/[id]/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/cases/[id]/page.tsx @@ -1,6 +1,6 @@ import { notFound, redirect } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getTeamBySlug } from "@/api/team"; +import { getTeamBySlug } from "@/api/team/get-team"; import { tryCatch } from "@/utils/try-catch"; import { SupportCaseDetails } from "../../_components/SupportCaseDetails"; import { getSupportTicket } from "../../apis/tickets"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/create/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/create/page.tsx index 689bc8700d8..f4610fe34e4 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/create/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/create/page.tsx @@ -1,6 +1,6 @@ import { notFound, redirect } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getTeamBySlug } from "@/api/team"; +import { getTeamBySlug } from "@/api/team/get-team"; import { CreateSupportCase } from "../_components/CreateSupportCase"; export default async function CreatePage(props: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/layout.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/layout.tsx index 68c5c69e938..b72df35491e 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/layout.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/layout.tsx @@ -1,5 +1,5 @@ import { redirect } from "next/navigation"; -import { getTeamBySlug } from "@/api/team"; +import { getTeamBySlug } from "@/api/team/get-team"; import { SupportHeader } from "./_components/SupportHeader"; export default async function Layout(props: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/page.tsx index bfc3f4a4a6a..6f5d737017b 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/support/page.tsx @@ -1,7 +1,7 @@ import { XIcon } from "lucide-react"; import { notFound } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getTeamBySlug } from "@/api/team"; +import { getTeamBySlug } from "@/api/team/get-team"; import { UpsellContent } from "@/components/blocks/upsell-wrapper"; import { tryCatch } from "@/utils/try-catch"; import { SupportsCaseList } from "./_components/case-list"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/usage/account-abstraction/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/usage/account-abstraction/page.tsx index 3ab557f05a9..d41938d79c3 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/usage/account-abstraction/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/usage/account-abstraction/page.tsx @@ -1,11 +1,11 @@ import { redirect } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getProjects } from "@/api/projects"; -import { getTeamBySlug } from "@/api/team"; -import { getTeamSubscriptions } from "@/api/team-subscription"; +import { getProjects } from "@/api/project/projects"; +import { getTeamBySlug } from "@/api/team/get-team"; +import { getTeamSubscriptions } from "@/api/team/team-subscription"; +import { SponsoredTransactionsTable } from "@/components/sponsored-transactions-table/SponsoredTransactionsTable"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { loginRedirect } from "@/utils/redirects"; -import { SponsoredTransactionsTable } from "../overview/components/SponsoredTransactionsTable"; export default async function Page(props: { params: Promise<{ diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/usage/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/usage/page.tsx index 262d5449e70..665e09967f1 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/usage/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/usage/page.tsx @@ -1,7 +1,8 @@ import { format, parseISO } from "date-fns"; import { InfoIcon } from "lucide-react"; import { redirect } from "next/navigation"; -import { getTeamBySlug } from "@/api/team"; +import { getValidAccount } from "@/api/account/get-account"; +import { getTeamBySlug } from "@/api/team/get-team"; import { getBilledUsage } from "@/api/usage/billing-preview"; import { UpsellContent } from "@/components/blocks/upsell-wrapper"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; @@ -14,7 +15,6 @@ import { CardTitle, } from "@/components/ui/card"; import { getValidTeamPlan } from "@/utils/getValidTeamPlan"; -import { getValidAccount } from "../../../../../account/settings/getAccount"; import { formatPrice, UsageCategoryDetails, diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/usage/rpc/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/usage/rpc/page.tsx index c5dd808c341..41559b1d246 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/usage/rpc/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/usage/rpc/page.tsx @@ -7,7 +7,7 @@ import { } from "lucide-react"; import { redirect } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getTeamBySlug } from "@/api/team"; +import { getTeamBySlug } from "@/api/team/get-team"; import { getLast24HoursRPCUsage } from "@/api/usage/rpc"; import { TeamPlanBadge } from "@/components/blocks/TeamPlanBadge"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/AccountAbstractionPage.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/AccountAbstractionPage.tsx index 86aface52d7..7e25258f3c1 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/AccountAbstractionPage.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/AccountAbstractionPage.tsx @@ -1,9 +1,9 @@ "use client"; -import { SmartWalletsBillingAlert } from "@app/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/Alerts"; import { TabPathLinks } from "@/components/ui/tabs"; import { UnderlineLink } from "@/components/ui/UnderlineLink"; import { AAFooter } from "./AAFooterSection"; +import { SmartWalletsBillingAlert } from "./Alerts"; export function AccountAbstractionLayout(props: { projectSlug: string; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/AccountAbstractionAnalytics/index.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/aa-analytics.tsx similarity index 88% rename from apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/AccountAbstractionAnalytics/index.tsx rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/aa-analytics.tsx index 6d8cf348c1a..e78f766408a 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/AccountAbstractionAnalytics/index.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/aa-analytics.tsx @@ -1,6 +1,4 @@ "use client"; -import { SponsoredTransactionsTable } from "@app/team/[team_slug]/(team)/~/usage/overview/components/SponsoredTransactionsTable"; -import { searchParams } from "@app/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/search-params"; import { differenceInDays } from "date-fns"; import { useQueryState } from "nuqs"; import { useTransition } from "react"; @@ -11,9 +9,11 @@ import { type Range, } from "@/components/analytics/date-range-selector"; import { IntervalSelector } from "@/components/analytics/interval-selector"; +import { SponsoredTransactionsTable } from "@/components/sponsored-transactions-table/SponsoredTransactionsTable"; import type { UserOpStats } from "@/types/analytics"; -import { SponsoredTransactionsChartCard } from "./SponsoredTransactionsChartCard"; -import { TotalSponsoredChartCard } from "./TotalSponsoredChartCard"; +import { SponsoredTransactionsChartCard } from "./AccountAbstractionAnalytics/SponsoredTransactionsChartCard"; +import { TotalSponsoredChartCard } from "./AccountAbstractionAnalytics/TotalSponsoredChartCard"; +import { searchParams } from "./search-params"; export function AccountAbstractionAnalytics(props: { userOpStats: UserOpStats[]; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/factories/AccountFactories/factory-contracts.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/factories/AccountFactories/factory-contracts.tsx index cc44f903e93..5c961ff2f81 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/factories/AccountFactories/factory-contracts.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/factories/AccountFactories/factory-contracts.tsx @@ -3,7 +3,7 @@ import { useQuery } from "@tanstack/react-query"; import type { ThirdwebClient } from "thirdweb"; import { getChainMetadata } from "thirdweb/chains"; -import type { ProjectContract } from "@/api/getProjectContracts"; +import type { ProjectContract } from "@/api/project/getProjectContracts"; import { ContractNameCell } from "@/components/contract-components/tables/cells"; import { CopyAddressButton } from "@/components/ui/CopyAddressButton"; import { SkeletonContainer } from "@/components/ui/skeleton"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/factories/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/factories/page.tsx index 6277013c71d..5fc8e846930 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/factories/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/factories/page.tsx @@ -1,4 +1,3 @@ -import { getSortedDeployedContracts } from "@app/account/contracts/_components/getSortedDeployedContracts"; import { PlusIcon } from "lucide-react"; import Link from "next/link"; import { redirect } from "next/navigation"; @@ -6,8 +5,9 @@ import { Suspense } from "react"; import { defineChain, getContract, type ThirdwebClient } from "thirdweb"; import { getCompilerMetadata } from "thirdweb/contract"; import { getAuthToken } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; -import { getTeamBySlug } from "@/api/team"; +import { getSortedDeployedContracts } from "@/api/project/getSortedDeployedContracts"; +import { getProject } from "@/api/project/projects"; +import { getTeamBySlug } from "@/api/team/get-team"; import { ClientOnly } from "@/components/blocks/client-only"; import { GenericLoadingPage } from "@/components/blocks/skeletons/GenericLoadingPage"; import { Button } from "@/components/ui/button"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/layout.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/layout.tsx index 6042c80277a..00106979949 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/layout.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/layout.tsx @@ -1,7 +1,7 @@ import type { Metadata } from "next"; import { redirect } from "next/navigation"; -import { getProject } from "@/api/projects"; -import { getTeamBySlug } from "@/api/team"; +import { getProject } from "@/api/project/projects"; +import { getTeamBySlug } from "@/api/team/get-team"; import { getAbsoluteUrl } from "@/utils/vercel"; import { AccountAbstractionLayout } from "./AccountAbstractionPage"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/page.tsx index cc81d9e6943..7dcf93b74c8 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/page.tsx @@ -2,15 +2,15 @@ import { notFound, redirect } from "next/navigation"; import type { SearchParams } from "nuqs/server"; import { getUserOpUsage } from "@/api/analytics"; import { getAuthToken } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; -import { getTeamBySlug } from "@/api/team"; +import { getProject } from "@/api/project/projects"; +import { getTeamBySlug } from "@/api/team/get-team"; import { getLastNDaysRange, type Range, } from "@/components/analytics/date-range-selector"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; -import { AccountAbstractionAnalytics } from "./AccountAbstractionAnalytics"; import { AccountAbstractionSummary } from "./AccountAbstractionAnalytics/AccountAbstractionSummary"; +import { AccountAbstractionAnalytics } from "./aa-analytics"; import { searchParamLoader } from "./search-params"; interface PageParams { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/settings/SponsorshipPolicies/index.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/settings/SponsorshipPolicies/index.tsx index b340e320880..4faf73bf62e 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/settings/SponsorshipPolicies/index.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/settings/SponsorshipPolicies/index.tsx @@ -8,8 +8,8 @@ import { useMemo } from "react"; import { useFieldArray, useForm } from "react-hook-form"; import { isAddress, type ThirdwebClient } from "thirdweb"; import { z } from "zod"; -import type { Project } from "@/api/projects"; -import type { Team } from "@/api/team"; +import type { Project } from "@/api/project/projects"; +import type { Team } from "@/api/team/get-team"; import { GatedSwitch } from "@/components/blocks/GatedSwitch"; import { MultiNetworkSelector } from "@/components/blocks/NetworkSelectors"; import { Button } from "@/components/ui/button"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/settings/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/settings/page.tsx index c8c9b364f86..7fab04ac13f 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/settings/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/settings/page.tsx @@ -1,13 +1,13 @@ -import { AccountAbstractionSettingsPage } from "@app/team/[team_slug]/[project_slug]/(sidebar)/account-abstraction/settings/SponsorshipPolicies"; import { CircleAlertIcon } from "lucide-react"; import { redirect } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; -import { getTeamBySlug } from "@/api/team"; +import { getProject } from "@/api/project/projects"; +import { getTeamBySlug } from "@/api/team/get-team"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { UnderlineLink } from "@/components/ui/UnderlineLink"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { getValidTeamPlan } from "@/utils/getValidTeamPlan"; +import { AccountAbstractionSettingsPage } from "./SponsorshipPolicies"; export default async function Page(props: { params: Promise<{ team_slug: string; project_slug: string }>; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/ProjectFTUX/ProjectFTUX.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/ProjectFTUX/ProjectFTUX.tsx index ab0f272b4c1..40ddf08bcc9 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/ProjectFTUX/ProjectFTUX.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/ProjectFTUX/ProjectFTUX.tsx @@ -5,7 +5,7 @@ import { ExternalLinkIcon, } from "lucide-react"; import Link from "next/link"; -import type { Project } from "@/api/projects"; +import type { Project } from "@/api/project/projects"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { CodeServer } from "@/components/ui/code/code.server"; import { UnderlineLink } from "@/components/ui/UnderlineLink"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/ProjectFTUX/SecretKeySection.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/ProjectFTUX/SecretKeySection.tsx index dcb5fa6f7f9..3a6f24c9294 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/ProjectFTUX/SecretKeySection.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/ProjectFTUX/SecretKeySection.tsx @@ -1,7 +1,7 @@ "use client"; import { useState } from "react"; -import type { Project } from "@/api/projects"; +import type { Project } from "@/api/project/projects"; import { rotateSecretKeyClient } from "@/hooks/useApi"; import { RotateSecretKeyButton } from "../../settings/ProjectGeneralSettingsPage"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/SaveLastUsedProject.ts b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/SaveLastUsedProject.ts index d8854949c93..02a19affd48 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/SaveLastUsedProject.ts +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/SaveLastUsedProject.ts @@ -1,7 +1,7 @@ "use client"; import { useEffect } from "react"; -import { LAST_USED_PROJECT_ID, LAST_USED_TEAM_ID } from "@/constants/cookies"; +import { LAST_USED_PROJECT_ID, LAST_USED_TEAM_ID } from "@/constants/cookie"; import { setCookie } from "@/utils/cookie"; export function SaveLastUsedProject(props: { diff --git a/apps/dashboard/src/app/(app)/account/contracts/_components/DeployedContractsPage.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/contracts/DeployedContractsPage.tsx similarity index 90% rename from apps/dashboard/src/app/(app)/account/contracts/_components/DeployedContractsPage.tsx rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/contracts/DeployedContractsPage.tsx index c76df46c73e..deac2039be2 100644 --- a/apps/dashboard/src/app/(app)/account/contracts/_components/DeployedContractsPage.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/contracts/DeployedContractsPage.tsx @@ -1,10 +1,10 @@ import { Suspense } from "react"; import type { ThirdwebClient } from "thirdweb"; +import { getSortedDeployedContracts } from "@/api/project/getSortedDeployedContracts"; import { ClientOnly } from "@/components/blocks/client-only"; import { ContractTable } from "@/components/contract-components/tables/contract-table"; import { Spinner } from "@/components/ui/Spinner/Spinner"; -import { DeployViaCLIOrImportCard } from "./DeployViaCLIOrImportCard"; -import { getSortedDeployedContracts } from "./getSortedDeployedContracts"; +import { DeployViaCLIOrImportCard } from "../../../../../account/contracts/_components/DeployViaCLIOrImportCard"; export function DeployedContractsPage(props: { teamId: string; diff --git a/apps/dashboard/src/app/(app)/account/contracts/DeployedContractsPageHeader.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/contracts/DeployedContractsPageHeader.tsx similarity index 100% rename from apps/dashboard/src/app/(app)/account/contracts/DeployedContractsPageHeader.tsx rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/contracts/DeployedContractsPageHeader.tsx diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/contracts/layout.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/contracts/layout.tsx index f625bd6923e..efa8007f367 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/contracts/layout.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/contracts/layout.tsx @@ -1,11 +1,11 @@ -import { DeployedContractsPageHeader } from "@app/account/contracts/DeployedContractsPageHeader"; import { redirect } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; -import { getTeamBySlug } from "@/api/team"; +import { getProject } from "@/api/project/projects"; +import { getTeamBySlug } from "@/api/team/get-team"; import { TabPathLinks } from "@/components/ui/tabs"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { loginRedirect } from "@/utils/redirects"; +import { DeployedContractsPageHeader } from "./DeployedContractsPageHeader"; export default async function Layout(props: { children: React.ReactNode; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/contracts/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/contracts/page.tsx index cf79f644986..dbf2a11c4dd 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/contracts/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/contracts/page.tsx @@ -1,11 +1,11 @@ -import { DeployedContractsPage } from "@app/account/contracts/_components/DeployedContractsPage"; import { redirect } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; -import { getTeamBySlug } from "@/api/team"; +import { getProject } from "@/api/project/projects"; +import { getTeamBySlug } from "@/api/team/get-team"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { loginRedirect } from "@/utils/redirects"; import { FooterLinksSection } from "../components/footer/FooterLinksSection"; +import { DeployedContractsPage } from "./DeployedContractsPage"; export default async function Page(props: { params: Promise<{ team_slug: string; project_slug: string }>; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/contracts/webhooks/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/contracts/webhooks/page.tsx index 80c94fff626..96ed96e6106 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/contracts/webhooks/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/contracts/webhooks/page.tsx @@ -1,7 +1,7 @@ import { redirect } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; -import { getTeamBySlug } from "@/api/team"; +import { getProject } from "@/api/project/projects"; +import { getTeamBySlug } from "@/api/team/get-team"; import { UnderlineLink } from "@/components/ui/UnderlineLink"; import { loginRedirect } from "@/utils/redirects"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(general)/overview/engine-instances-table.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(general)/overview/engine-instances-table.tsx index bc7bb70f69c..6e0655a8919 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(general)/overview/engine-instances-table.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(general)/overview/engine-instances-table.tsx @@ -20,7 +20,7 @@ import { useState } from "react"; import { useForm } from "react-hook-form"; import { toast } from "sonner"; import { z } from "zod"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { CheckoutButton } from "@/components/billing/billing"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { Badge, type BadgeProps } from "@/components/ui/badge"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(general)/overview/engine-list.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(general)/overview/engine-list.tsx index 8645889060d..542d27664f6 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(general)/overview/engine-list.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(general)/overview/engine-list.tsx @@ -1,4 +1,4 @@ -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import type { EngineInstance } from "@/hooks/useEngine"; import { EngineFooterCard } from "../_components"; import { EngineInstancesTable } from "./engine-instances-table"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(general)/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(general)/page.tsx index a52f7f6353c..1d9eed86888 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(general)/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(general)/page.tsx @@ -1,6 +1,6 @@ import { redirect } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getTeamBySlug } from "@/api/team"; +import { getTeamBySlug } from "@/api/team/get-team"; import { loginRedirect } from "@/utils/redirects"; import { getEngineInstances } from "../_utils/getEngineInstances"; import { EngineInstancesList } from "./overview/engine-list"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(instance)/[engineId]/layout.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(instance)/[engineId]/layout.tsx index 07989adf194..93e69e9b0d3 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(instance)/[engineId]/layout.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(instance)/[engineId]/layout.tsx @@ -1,3 +1,4 @@ +import { getValidAccount } from "@/api/account/get-account"; import { getAuthToken } from "@/api/auth-token"; import { Breadcrumb, @@ -9,7 +10,6 @@ import { import { CopyTextButton } from "@/components/ui/CopyTextButton"; import type { EngineInstance } from "@/hooks/useEngine"; import { loginRedirect } from "@/utils/redirects"; -import { getValidAccount } from "../../../../../../../../account/settings/getAccount"; import { getEngineInstance } from "../../_utils/getEngineInstance"; import { EngineErrorPage } from "./_components/EngineErrorPage"; import { EngineSidebarLayout } from "./_components/EnginePageLayout"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/_utils/getEngineInstancePageMeta.ts b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/_utils/getEngineInstancePageMeta.ts index 8140f781a24..e959ddee4a1 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/_utils/getEngineInstancePageMeta.ts +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/_utils/getEngineInstancePageMeta.ts @@ -1,9 +1,9 @@ import { notFound } from "next/navigation"; +import { getValidAccount } from "@/api/account/get-account"; import { getAuthToken } from "@/api/auth-token"; -import { getTeamBySlug } from "@/api/team"; +import { getTeamBySlug } from "@/api/team/get-team"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { loginRedirect } from "@/utils/redirects"; -import { getValidAccount } from "../../../../../../../account/settings/getAccount"; import { getEngineInstance } from "./getEngineInstance"; export async function engineInstancePageHandler(params: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/page.tsx index 09bd969c71a..f94b2e89ebd 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/page.tsx @@ -1,6 +1,6 @@ import { redirect } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { getEngineInstances } from "./dedicated/_utils/getEngineInstances"; export default async function TransactionsAnalyticsPage(props: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/insight/layout.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/insight/layout.tsx index 6886c4b5bab..babe0a588b0 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/insight/layout.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/insight/layout.tsx @@ -1,5 +1,5 @@ import { redirect } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { UnderlineLink } from "@/components/ui/UnderlineLink"; import { FooterLinksSection } from "../components/footer/FooterLinksSection"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/insight/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/insight/page.tsx index ca357e241a8..50dd723c0ea 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/insight/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/insight/page.tsx @@ -2,7 +2,7 @@ import { ArrowUpRightIcon } from "lucide-react"; import { redirect } from "next/navigation"; import { ResponsiveSearchParamsProvider } from "responsive-rsc"; import { getAuthToken } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { getFiltersFromSearchParams } from "@/lib/time"; import { loginRedirect } from "@/utils/redirects"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/layout.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/layout.tsx index 6eee30ae2dc..52e703e9d6e 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/layout.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/layout.tsx @@ -1,14 +1,14 @@ import { redirect } from "next/navigation"; import { isFeatureFlagEnabled } from "@/analytics/posthog-server"; +import { getValidAccount } from "@/api/account/get-account"; import { getAuthToken, getAuthTokenWalletAddress } from "@/api/auth-token"; -import { getProject, getProjects, type Project } from "@/api/projects"; -import { getTeamBySlug, getTeams } from "@/api/team"; +import { getProject, getProjects, type Project } from "@/api/project/projects"; +import { getTeamBySlug, getTeams } from "@/api/team/get-team"; import { CustomChatButton } from "@/components/chat/CustomChatButton"; import { AnnouncementBanner } from "@/components/misc/AnnouncementBanner"; import { SidebarProvider } from "@/components/ui/sidebar"; import { siwaExamplePrompts } from "@/constants/siwa-example-prompts"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; -import { getValidAccount } from "../../../../account/settings/getAccount"; import { TeamHeaderLoggedIn } from "../../../components/TeamHeader/team-header-logged-in.client"; import { StaffModeNotice } from "../../(team)/_components/StaffModeNotice"; import { ProjectSidebarLayout } from "./components/ProjectSidebarLayout"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/page.tsx index 2b7d69ab4cf..46cc4b71d74 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/page.tsx @@ -20,7 +20,7 @@ import { isProjectActive, } from "@/api/analytics"; import { getAuthToken } from "@/api/auth-token"; -import { getProject, type Project } from "@/api/projects"; +import { getProject, type Project } from "@/api/project/projects"; import { type DurationId, getLastNDaysRange, diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/analytics/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/analytics/page.tsx index 4bf1d7e2f00..4488492f138 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/analytics/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/analytics/page.tsx @@ -2,7 +2,7 @@ import { ArrowUpRightIcon } from "lucide-react"; import { redirect } from "next/navigation"; import { ResponsiveSearchParamsProvider } from "responsive-rsc"; import { getAuthToken } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { loginRedirect } from "@/utils/redirects"; import { PayAnalytics } from "../components/PayAnalytics"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/layout.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/layout.tsx index 5e7c5d253ea..6f698548878 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/layout.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/layout.tsx @@ -1,5 +1,5 @@ import { redirect } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { TabPathLinks } from "@/components/ui/tabs"; import { UnderlineLink } from "@/components/ui/UnderlineLink"; import { FooterLinksSection } from "../components/footer/FooterLinksSection"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/links/components/CreatePaymentLinkButton.client.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/links/components/CreatePaymentLinkButton.client.tsx index 490e4640c91..efb4e4744b9 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/links/components/CreatePaymentLinkButton.client.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/links/components/CreatePaymentLinkButton.client.tsx @@ -1,6 +1,5 @@ "use client"; -import { resolveAddressAndEns } from "@app/(dashboard)/profile/[addressOrEns]/resolveAddressAndEns"; import { zodResolver } from "@hookform/resolvers/zod"; import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; import { LinkIcon } from "lucide-react"; @@ -37,6 +36,7 @@ import { Input } from "@/components/ui/input"; import { Spinner } from "@/components/ui/Spinner/Spinner"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { parseErrorToMessage } from "@/utils/errorParser"; +import { resolveAddressAndEns } from "@/utils/resolveAddressAndEns"; const formSchema = z.object({ chainId: z.number(), diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/links/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/links/page.tsx index 2bd16a9a661..08357340a6d 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/links/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/links/page.tsx @@ -1,6 +1,6 @@ import { PlusIcon } from "lucide-react"; import { redirect } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { Button } from "@/components/ui/button"; import { CreatePaymentLinkButton } from "./components/CreatePaymentLinkButton.client"; import { PaymentLinksTable } from "./components/PaymentLinksTable.client"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/page.tsx index 21d07ff9ab9..514f1e667c8 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/page.tsx @@ -1,7 +1,7 @@ import { redirect } from "next/navigation"; import { ResponsiveSearchParamsProvider } from "responsive-rsc"; import { getAuthToken } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { loginRedirect } from "@/utils/redirects"; import { AdvancedSection } from "./components/AdvancedSection.client"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/settings/PayConfig.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/settings/PayConfig.tsx index cd4d51120c9..295d9dda95e 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/settings/PayConfig.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/settings/PayConfig.tsx @@ -4,7 +4,7 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { useMutation } from "@tanstack/react-query"; import { useForm } from "react-hook-form"; import { toast } from "sonner"; -import type { Project } from "@/api/projects"; +import type { Project } from "@/api/project/projects"; import { type Fee, updateFee } from "@/api/universal-bridge/developer"; import { SettingsCard } from "@/components/blocks/SettingsCard"; import { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/settings/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/settings/page.tsx index 9347d6f0a7a..3bc2f6df624 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/settings/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/settings/page.tsx @@ -1,12 +1,12 @@ -import { PayConfig } from "@app/team/[team_slug]/[project_slug]/(sidebar)/payments/settings/PayConfig"; -import { RouteDiscovery } from "@app/team/[team_slug]/[project_slug]/(sidebar)/payments/settings/RouteDiscovery"; import { redirect } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; -import { getTeamBySlug } from "@/api/team"; +import { getProject } from "@/api/project/projects"; +import { getTeamBySlug } from "@/api/team/get-team"; import { getFees } from "@/api/universal-bridge/developer"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { loginRedirect } from "@/utils/redirects"; +import { PayConfig } from "./PayConfig"; +import { RouteDiscovery } from "./RouteDiscovery"; export default async function Page(props: { params: Promise<{ diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/webhooks/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/webhooks/page.tsx index 3e6bb9919c6..c5543721c55 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/webhooks/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/payments/webhooks/page.tsx @@ -1,5 +1,5 @@ import { redirect } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { UnderlineLink } from "@/components/ui/UnderlineLink"; import { PayWebhooksPage } from "./components/webhooks.client"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/rpc/layout.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/rpc/layout.tsx index 1fbfa67c9f2..ee6e61bb786 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/rpc/layout.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/rpc/layout.tsx @@ -1,5 +1,5 @@ import { redirect } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { UnderlineLink } from "@/components/ui/UnderlineLink"; export default async function Layout(props: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/rpc/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/rpc/page.tsx index 5f12304991d..705e11306ed 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/rpc/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/rpc/page.tsx @@ -1,7 +1,7 @@ import { redirect } from "next/navigation"; import { ResponsiveSearchParamsProvider } from "responsive-rsc"; import { getAuthToken } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { getFiltersFromSearchParams } from "@/lib/time"; import { loginRedirect } from "@/utils/redirects"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/settings/ProjectGeneralSettingsPage.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/settings/ProjectGeneralSettingsPage.tsx index 5e9a4da51ed..dcca765a36c 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/settings/ProjectGeneralSettingsPage.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/settings/ProjectGeneralSettingsPage.tsx @@ -27,8 +27,8 @@ import type { ThirdwebClient } from "thirdweb"; import { upload } from "thirdweb/storage"; import { z } from "zod"; import { apiServerProxy } from "@/actions/proxies"; -import type { Project } from "@/api/projects"; -import type { Team } from "@/api/team"; +import type { Project } from "@/api/project/projects"; +import type { Team } from "@/api/team/get-team"; import { GradientAvatar } from "@/components/blocks/avatar/gradient-avatar"; import { DangerSettingCard } from "@/components/blocks/DangerSettingCard"; import { FileInput } from "@/components/blocks/FileInput"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/settings/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/settings/page.tsx index 5689f39cd78..5829299d93b 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/settings/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/settings/page.tsx @@ -1,11 +1,11 @@ import { notFound, redirect } from "next/navigation"; +import { getValidAccount } from "@/api/account/get-account"; import { getAuthToken } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; -import { getTeams } from "@/api/team"; -import { getMemberByAccountId } from "@/api/team-members"; +import { getProject } from "@/api/project/projects"; +import { getTeams } from "@/api/team/get-team"; +import { getMemberByAccountId } from "@/api/team/team-members"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { loginRedirect } from "@/utils/redirects"; -import { getValidAccount } from "../../../../../account/settings/getAccount"; import { ProjectGeneralSettingsPage } from "./ProjectGeneralSettingsPage"; export default async function Page(props: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/_common/storage-error-upsell.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/_common/storage-error-upsell.tsx index bae8e63417d..15165be0d47 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/_common/storage-error-upsell.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/_common/storage-error-upsell.tsx @@ -5,7 +5,7 @@ import Link from "next/link"; import { useEffect, useRef, useState } from "react"; import { apiServerProxy } from "@/actions/proxies"; import { reportUpsellClicked, reportUpsellShown } from "@/analytics/report"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { Button } from "@/components/ui/button"; import { Spinner } from "@/components/ui/Spinner/Spinner"; import { ToolTipLabel } from "@/components/ui/tooltip"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/nft/create-nft-page-ui.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/nft/create-nft-page-ui.tsx index 9e7ad28d13a..e7f616b0b49 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/nft/create-nft-page-ui.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/nft/create-nft-page-ui.tsx @@ -10,7 +10,7 @@ import { } from "thirdweb"; import { useActiveAccount, useActiveWalletChain } from "thirdweb/react"; import { reportAssetCreationStepConfigured } from "@/analytics/report"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { type CreateNFTCollectionFunctions, type NFTCollectionInfoFormValues, diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/nft/create-nft-page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/nft/create-nft-page.tsx index c786e79a002..7d24cbbfe9c 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/nft/create-nft-page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/nft/create-nft-page.tsx @@ -27,7 +27,7 @@ import { reportAssetCreationFailed, reportContractDeployed, } from "@/analytics/report"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { useAddContractToProject } from "@/hooks/project-contracts"; import { parseError } from "@/utils/errorParser"; import type { CreateNFTCollectionAllValues } from "./_common/form"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/nft/launch/launch-nft.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/nft/launch/launch-nft.tsx index 10107fc5f09..d8266018083 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/nft/launch/launch-nft.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/nft/launch/launch-nft.tsx @@ -18,7 +18,7 @@ import { reportAssetCreationFailed, reportAssetCreationSuccessful, } from "@/analytics/report"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { FilePreview } from "@/components/blocks/file-preview"; import { GatedSwitch } from "@/components/blocks/GatedSwitch"; import type { MultiStepState } from "@/components/blocks/multi-step-status/multi-step-status"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/nft/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/nft/page.tsx index 3476a241ddc..19af774fd5e 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/nft/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/nft/page.tsx @@ -1,7 +1,7 @@ import { redirect } from "next/navigation"; import { getAuthToken, getAuthTokenWalletAddress } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; -import { getTeamBySlug } from "@/api/team"; +import { getProject } from "@/api/project/projects"; +import { getTeamBySlug } from "@/api/team/get-team"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { loginRedirect } from "@/utils/redirects"; import { CreateAssetPageHeader } from "../_common/PageHeader"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/token/create-token-page-impl.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/token/create-token-page-impl.tsx index 6afaa8ea606..d0825d7fc6f 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/token/create-token-page-impl.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/token/create-token-page-impl.tsx @@ -24,7 +24,7 @@ import { reportAssetCreationFailed, reportContractDeployed, } from "@/analytics/report"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { DEFAULT_FEE_BPS_NEW, DEFAULT_FEE_RECIPIENT, diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/token/create-token-page.client.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/token/create-token-page.client.tsx index baa1db8b59f..4e48be7a408 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/token/create-token-page.client.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/token/create-token-page.client.tsx @@ -10,7 +10,7 @@ import { } from "thirdweb"; import { useActiveWalletChain } from "thirdweb/react"; import { reportAssetCreationStepConfigured } from "@/analytics/report"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { type CreateAssetFormValues, type TokenDistributionFormValues, diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/token/launch/launch-token.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/token/launch/launch-token.tsx index 6f3478035f2..6a6a54f4bd2 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/token/launch/launch-token.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/token/launch/launch-token.tsx @@ -12,7 +12,7 @@ import { reportAssetCreationFailed, reportAssetCreationSuccessful, } from "@/analytics/report"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { FilePreview } from "@/components/blocks/file-preview"; import { GatedSwitch } from "@/components/blocks/GatedSwitch"; import { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/token/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/token/page.tsx index 555eb0065c5..854f0639d59 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/token/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/create/token/page.tsx @@ -1,7 +1,7 @@ import { redirect } from "next/navigation"; import { getAuthToken, getAuthTokenWalletAddress } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; -import { getTeamBySlug } from "@/api/team"; +import { getProject } from "@/api/project/projects"; +import { getTeamBySlug } from "@/api/team/get-team"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { loginRedirect } from "@/utils/redirects"; import { CreateAssetPageHeader } from "../_common/PageHeader"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/page.tsx index 45c9b5022c5..0d349e24ac5 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/tokens/page.tsx @@ -2,14 +2,14 @@ import { redirect } from "next/navigation"; import { Suspense } from "react"; import type { ThirdwebClient } from "thirdweb"; import { getAuthToken } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; -import { getTeamBySlug } from "@/api/team"; +import { getSortedDeployedContracts } from "@/api/project/getSortedDeployedContracts"; +import { getProject } from "@/api/project/projects"; +import { getTeamBySlug } from "@/api/team/get-team"; import { ClientOnly } from "@/components/blocks/client-only"; import { GenericLoadingPage } from "@/components/blocks/skeletons/GenericLoadingPage"; import { ContractTable } from "@/components/contract-components/tables/contract-table"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { loginRedirect } from "@/utils/redirects"; -import { getSortedDeployedContracts } from "../../../../../account/contracts/_components/getSortedDeployedContracts"; import { Cards } from "./cards"; export default async function Page(props: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/analytics-page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/analytics-page.tsx index 133bcc524cd..3208d2ba77d 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/analytics-page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/analytics-page.tsx @@ -1,6 +1,6 @@ import { ResponsiveSearchParamsProvider } from "responsive-rsc"; import type { ThirdwebClient } from "thirdweb"; -import type { Project } from "@/api/projects"; +import type { Project } from "@/api/project/projects"; import type { Wallet } from "../server-wallets/wallet-table/types"; import { TransactionAnalyticsFilter } from "./filter"; import { TransactionsChartCard } from "./tx-chart/tx-chart"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/ftux.client.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/ftux.client.tsx index 5d56ef07c50..c56fb619212 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/ftux.client.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/ftux.client.tsx @@ -1,7 +1,7 @@ "use client"; import { useMemo } from "react"; import type { ThirdwebClient } from "thirdweb"; -import type { Project } from "@/api/projects"; +import type { Project } from "@/api/project/projects"; import { type Step, StepsCard } from "@/components/blocks/StepsCard"; import CreateServerWallet from "../server-wallets/components/create-server-wallet.client"; import type { Wallet } from "../server-wallets/wallet-table/types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/send-test-tx.client.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/send-test-tx.client.tsx index 1320b74d63c..b68e3cfbff1 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/send-test-tx.client.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/send-test-tx.client.tsx @@ -8,7 +8,7 @@ import { toast } from "sonner"; import type { ThirdwebClient } from "thirdweb"; import * as z from "zod"; import { engineCloudProxy } from "@/actions/proxies"; -import type { Project } from "@/api/projects"; +import type { Project } from "@/api/project/projects"; import { SingleNetworkSelector } from "@/components/blocks/NetworkSelectors"; import { WalletAddress } from "@/components/blocks/wallet-address"; import { Button } from "@/components/ui/button"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/tx-chart/tx-chart-ui.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/tx-chart/tx-chart-ui.tsx index c8e0c68f313..5fd4b5e9951 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/tx-chart/tx-chart-ui.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/tx-chart/tx-chart-ui.tsx @@ -3,7 +3,7 @@ import { format } from "date-fns"; import Link from "next/link"; import { useMemo } from "react"; -import type { Project } from "@/api/projects"; +import type { Project } from "@/api/project/projects"; import { ThirdwebBarChart } from "@/components/blocks/charts/bar-chart"; import { ExportToCSVButton } from "@/components/blocks/ExportToCSVButton"; import { Button } from "@/components/ui/button"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/tx-chart/tx-chart.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/tx-chart/tx-chart.tsx index 6574283bd9d..d4dd7b7931a 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/tx-chart/tx-chart.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/tx-chart/tx-chart.tsx @@ -1,5 +1,5 @@ import { ResponsiveSuspense } from "responsive-rsc"; -import type { Project } from "@/api/projects"; +import type { Project } from "@/api/project/projects"; import { getTransactionsChart } from "../../lib/analytics"; import { getTxAnalyticsFiltersFromSearchParams } from "../../lib/utils"; import type { Wallet } from "../../server-wallets/wallet-table/types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/tx-table/tx-table-ui.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/tx-table/tx-table-ui.tsx index 57232bf21cf..9f1df04d3dc 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/tx-table/tx-table-ui.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/tx-table/tx-table-ui.tsx @@ -6,7 +6,7 @@ import { ExternalLinkIcon, InfoIcon } from "lucide-react"; import Link from "next/link"; import { useId, useState } from "react"; import type { ThirdwebClient } from "thirdweb"; -import type { Project } from "@/api/projects"; +import type { Project } from "@/api/project/projects"; import { PaginationButtons } from "@/components/blocks/pagination-buttons"; import { WalletAddress } from "@/components/blocks/wallet-address"; import { Badge } from "@/components/ui/badge"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/tx-table/tx-table.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/tx-table/tx-table.tsx index 4d212e44aa9..89efeb4c5a5 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/tx-table/tx-table.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/analytics/tx-table/tx-table.tsx @@ -2,7 +2,7 @@ import type { ThirdwebClient } from "thirdweb"; import { engineCloudProxy } from "@/actions/proxies"; -import type { Project } from "@/api/projects"; +import type { Project } from "@/api/project/projects"; import type { Wallet } from "../../server-wallets/wallet-table/types"; import { TransactionsTableUI } from "./tx-table-ui"; import type { TransactionStatus, TransactionsResponse } from "./types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/lib/vault.client.ts b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/lib/vault.client.ts index 8c9b59d340b..2fdea9dc5df 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/lib/vault.client.ts +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/lib/vault.client.ts @@ -8,7 +8,7 @@ import { rotateServiceAccount, type VaultClient, } from "@thirdweb-dev/vault-sdk"; -import type { Project } from "@/api/projects"; +import type { Project } from "@/api/project/projects"; import { NEXT_PUBLIC_THIRDWEB_VAULT_URL } from "@/constants/public-envs"; import { updateProjectClient } from "@/hooks/useApi"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/page.tsx index e508574f137..4df66470fc8 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/page.tsx @@ -1,7 +1,7 @@ import { createVaultClient, listEoas } from "@thirdweb-dev/vault-sdk"; import { notFound, redirect } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { NEXT_PUBLIC_THIRDWEB_VAULT_URL } from "@/constants/public-envs"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { TransactionsAnalyticsPageContent } from "./analytics/analytics-page"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/server-wallets/components/create-server-wallet.client.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/server-wallets/components/create-server-wallet.client.tsx index 61d63443446..df65d3bc031 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/server-wallets/components/create-server-wallet.client.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/server-wallets/components/create-server-wallet.client.tsx @@ -5,7 +5,7 @@ import { PlusIcon } from "lucide-react"; import { useState } from "react"; import { toast } from "sonner"; import { engineCloudProxy } from "@/actions/proxies"; -import type { Project } from "@/api/projects"; +import type { Project } from "@/api/project/projects"; import { Button } from "@/components/ui/button"; import { Dialog, diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/server-wallets/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/server-wallets/page.tsx index bde2542bd4f..a1e3ce0e0fd 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/server-wallets/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/server-wallets/page.tsx @@ -1,7 +1,7 @@ import { createVaultClient, listEoas } from "@thirdweb-dev/vault-sdk"; import { notFound } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { NEXT_PUBLIC_THIRDWEB_VAULT_URL } from "@/constants/public-envs"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import type { Wallet } from "./wallet-table/types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/server-wallets/wallet-table/wallet-table-ui.client.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/server-wallets/wallet-table/wallet-table-ui.client.tsx index e5f92c46a72..59baf6adec1 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/server-wallets/wallet-table/wallet-table-ui.client.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/server-wallets/wallet-table/wallet-table-ui.client.tsx @@ -16,7 +16,7 @@ import { DEFAULT_ACCOUNT_FACTORY_V0_7, predictSmartAccountAddress, } from "thirdweb/wallets/smart"; -import type { Project } from "@/api/projects"; +import type { Project } from "@/api/project/projects"; import { FundWalletModal } from "@/components/blocks/fund-wallets-modal"; import { SingleNetworkSelector } from "@/components/blocks/NetworkSelectors"; import { WalletAddress } from "@/components/blocks/wallet-address"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/server-wallets/wallet-table/wallet-table.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/server-wallets/wallet-table/wallet-table.tsx index 85a75ef6dcc..f47fadcd1de 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/server-wallets/wallet-table/wallet-table.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/server-wallets/wallet-table/wallet-table.tsx @@ -1,5 +1,5 @@ import type { ThirdwebClient } from "thirdweb"; -import type { Project } from "@/api/projects"; +import type { Project } from "@/api/project/projects"; import type { Wallet } from "./types"; import { ServerWalletsTableUI } from "./wallet-table-ui.client"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/tx/[id]/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/tx/[id]/page.tsx index a932eff1d78..536a350e77b 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/tx/[id]/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/tx/[id]/page.tsx @@ -9,7 +9,7 @@ import { toFunctionSelector, } from "thirdweb/utils"; import { getAuthToken } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { serverThirdwebClient } from "@/constants/thirdweb-client.server"; import { loginRedirect } from "@/utils/redirects"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/tx/[id]/transaction-details-ui.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/tx/[id]/transaction-details-ui.tsx index 1037575bffc..c6e4324820b 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/tx/[id]/transaction-details-ui.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/transactions/tx/[id]/transaction-details-ui.tsx @@ -11,7 +11,7 @@ import Link from "next/link"; import { useState } from "react"; import { hexToNumber, isHex, type ThirdwebClient, toEther } from "thirdweb"; import { stringify } from "thirdweb/utils"; -import type { Project } from "@/api/projects"; +import type { Project } from "@/api/project/projects"; import { WalletAddress } from "@/components/blocks/wallet-address"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/vault/components/create-vault-account.client.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/vault/components/create-vault-account.client.tsx index 847895f56b1..2921a8d67c9 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/vault/components/create-vault-account.client.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/vault/components/create-vault-account.client.tsx @@ -9,7 +9,7 @@ import { } from "lucide-react"; import { useState } from "react"; import { toast } from "sonner"; -import type { Project } from "@/api/projects"; +import type { Project } from "@/api/project/projects"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { Button } from "@/components/ui/button"; import { CopyTextButton } from "@/components/ui/CopyTextButton"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/vault/components/key-management.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/vault/components/key-management.tsx index 176f6a99021..eee8b5c2d51 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/vault/components/key-management.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/vault/components/key-management.tsx @@ -1,6 +1,6 @@ import { InfoIcon } from "lucide-react"; import Link from "next/link"; -import type { Project } from "@/api/projects"; +import type { Project } from "@/api/project/projects"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { CreateVaultAccountButton } from "./create-vault-account.client"; import ListAccessTokens from "./list-access-tokens.client"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/vault/components/list-access-tokens.client.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/vault/components/list-access-tokens.client.tsx index a17d7ee4cf5..9248bf04452 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/vault/components/list-access-tokens.client.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/vault/components/list-access-tokens.client.tsx @@ -4,7 +4,7 @@ import { listAccessTokens, revokeAccessToken } from "@thirdweb-dev/vault-sdk"; import { Loader2Icon, LockIcon, Trash2Icon } from "lucide-react"; import { useState } from "react"; import { toast } from "sonner"; -import type { Project } from "@/api/projects"; +import type { Project } from "@/api/project/projects"; import { Button } from "@/components/ui/button"; import { CopyTextButton } from "@/components/ui/CopyTextButton"; import { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/vault/components/rotate-admin-key.client.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/vault/components/rotate-admin-key.client.tsx index cc6c700d5d1..d325eb7dddb 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/vault/components/rotate-admin-key.client.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/vault/components/rotate-admin-key.client.tsx @@ -11,7 +11,7 @@ import { } from "lucide-react"; import { useState } from "react"; import { toast } from "sonner"; -import type { Project } from "@/api/projects"; +import type { Project } from "@/api/project/projects"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { Button } from "@/components/ui/button"; import { CopyTextButton } from "@/components/ui/CopyTextButton"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/vault/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/vault/page.tsx index c5f8e95aff4..f3ae7b87a77 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/vault/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/vault/page.tsx @@ -1,6 +1,6 @@ import { notFound } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { KeyManagement } from "./components/key-management"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/layout.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/layout.tsx index 6a75875579b..8c11047c4a8 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/layout.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/layout.tsx @@ -1,5 +1,5 @@ import { redirect } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { TabPathLinks } from "@/components/ui/tabs"; import { InAppWalletsFooter } from "./_components/footer"; import { InAppWalletsHeader } from "./_components/header"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/page.tsx index 3ffa63a684b..52a0d2eec68 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/page.tsx @@ -1,5 +1,5 @@ import { redirect } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import type { Range } from "@/components/analytics/date-range-selector"; import { InAppWalletAnalytics } from "./analytics/chart"; import { InAppWalletsSummary } from "./analytics/chart/Summary"; diff --git a/apps/dashboard/src/@/api/sms.ts b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/settings/api/sms.ts similarity index 100% rename from apps/dashboard/src/@/api/sms.ts rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/settings/api/sms.ts diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/settings/components/InAppWalletSettingsUI.stories.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/settings/components/InAppWalletSettingsUI.stories.tsx index d962541bb36..3029eb98c9f 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/settings/components/InAppWalletSettingsUI.stories.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/settings/components/InAppWalletSettingsUI.stories.tsx @@ -1,5 +1,5 @@ import type { Meta, StoryObj } from "@storybook/nextjs"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { projectStub } from "@/storybook/stubs"; import { storybookThirdwebClient } from "@/storybook/utils"; import { InAppWalletSettingsUI } from "./index"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/settings/components/index.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/settings/components/index.tsx index 66207efb142..ee84c438bd0 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/settings/components/index.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/settings/components/index.tsx @@ -1,5 +1,4 @@ "use client"; - import { zodResolver } from "@hookform/resolvers/zod"; import { useMutation } from "@tanstack/react-query"; import type { ProjectEmbeddedWalletsService } from "@thirdweb-dev/service-utils"; @@ -11,9 +10,8 @@ import { type UseFormReturn, useFieldArray, useForm } from "react-hook-form"; import { toast } from "sonner"; import type { ThirdwebClient } from "thirdweb"; import { upload } from "thirdweb/storage"; -import type { Project } from "@/api/projects"; -import type { SMSCountryTiers } from "@/api/sms"; -import type { Team } from "@/api/team"; +import type { Project } from "@/api/project/projects"; +import type { Team } from "@/api/team/get-team"; import { FileInput } from "@/components/blocks/FileInput"; import { GatedSwitch } from "@/components/blocks/GatedSwitch"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; @@ -42,6 +40,7 @@ import { } from "@/schema/validations"; import { resolveSchemeWithErrorHandler } from "@/utils/resolveSchemeWithErrorHandler"; import { toArrFromList } from "@/utils/string"; +import type { SMSCountryTiers } from "../api/sms"; import CountrySelector from "./sms-country-select/country-selector"; type InAppWalletSettingsPageProps = { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/settings/components/sms-country-select/country-selector.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/settings/components/sms-country-select/country-selector.tsx index 9b52ab8d644..a8dbbf57552 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/settings/components/sms-country-select/country-selector.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/settings/components/sms-country-select/country-selector.tsx @@ -1,9 +1,9 @@ /** biome-ignore-all lint/a11y/useSemanticElements: EXPECTED */ import { CheckIcon, MinusIcon } from "lucide-react"; -import type { SMSCountryTiers } from "@/api/sms"; import { Checkbox } from "@/components/ui/checkbox"; import { cn } from "@/lib/utils"; +import type { SMSCountryTiers } from "../../api/sms"; import { countryNames, countryPrefixes, diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/settings/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/settings/page.tsx index 5c02cfefc71..d84a24face3 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/settings/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/settings/page.tsx @@ -1,11 +1,11 @@ import { redirect } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; -import { getSMSCountryTiers } from "@/api/sms"; -import { getTeamBySlug } from "@/api/team"; +import { getProject } from "@/api/project/projects"; +import { getTeamBySlug } from "@/api/team/get-team"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { getValidTeamPlan } from "@/utils/getValidTeamPlan"; import { loginRedirect } from "@/utils/redirects"; +import { getSMSCountryTiers } from "./api/sms"; import { InAppWalletSettingsPage } from "./components"; export default async function Page(props: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/users/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/users/page.tsx index 1069a0764e9..03641a60cd5 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/users/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/wallets/users/page.tsx @@ -1,7 +1,7 @@ -import { InAppWalletUsersPageContent } from "@app/team/[team_slug]/[project_slug]/(sidebar)/wallets/users/components"; import { redirect } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; +import { InAppWalletUsersPageContent } from "@/components/in-app-wallet-users-content/in-app-wallet-users-content"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { loginRedirect } from "@/utils/redirects"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/analytics/components/WebhookAnalyticsCharts.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/analytics/components/WebhookAnalyticsCharts.tsx index 5227aefb749..a24b291e236 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/analytics/components/WebhookAnalyticsCharts.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/analytics/components/WebhookAnalyticsCharts.tsx @@ -3,7 +3,7 @@ import { format } from "date-fns"; import { useMemo } from "react"; import { ResponsiveSuspense } from "responsive-rsc"; -import type { WebhookConfig } from "@/api/webhook-configs"; +import type { WebhookConfig } from "@/api/project/webhook-configs"; import { ThirdwebAreaChart } from "@/components/blocks/charts/area-chart"; import { ThirdwebBarChart } from "@/components/blocks/charts/bar-chart"; import { CopyTextButton } from "@/components/ui/CopyTextButton"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/analytics/components/WebhookAnalyticsServer.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/analytics/components/WebhookAnalyticsServer.tsx index ba10a2c673b..45f6c097980 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/analytics/components/WebhookAnalyticsServer.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/analytics/components/WebhookAnalyticsServer.tsx @@ -1,4 +1,4 @@ -import type { WebhookConfig } from "@/api/webhook-configs"; +import type { WebhookConfig } from "@/api/project/webhook-configs"; import type { WebhookLatencyStats, WebhookRequestStats, diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/analytics/components/WebhooksAnalytics.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/analytics/components/WebhooksAnalytics.tsx index 99d6cbd2e10..20127896135 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/analytics/components/WebhooksAnalytics.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/analytics/components/WebhooksAnalytics.tsx @@ -1,4 +1,4 @@ -import type { WebhookConfig } from "@/api/webhook-configs"; +import type { WebhookConfig } from "@/api/project/webhook-configs"; import type { WebhookLatencyStats, WebhookRequestStats, diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/analytics/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/analytics/page.tsx index 9c23895b514..619cfd8ab06 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/analytics/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/analytics/page.tsx @@ -1,12 +1,12 @@ import { notFound, redirect } from "next/navigation"; import { ResponsiveSearchParamsProvider } from "responsive-rsc"; import { isFeatureFlagEnabled } from "@/analytics/posthog-server"; +import { getValidAccount } from "@/api/account/get-account"; import { getWebhookLatency, getWebhookRequests } from "@/api/analytics"; import { getAuthToken } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; -import { getWebhookConfigs } from "@/api/webhook-configs"; +import { getProject } from "@/api/project/projects"; +import { getWebhookConfigs } from "@/api/project/webhook-configs"; import { getFiltersFromSearchParams } from "@/lib/time"; -import { getValidAccount } from "../../../../../../account/settings/getAccount"; import { WebhooksAnalytics } from "./components/WebhooksAnalytics"; export default async function WebhooksAnalyticsPage(props: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/create-webhook-config-modal.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/create-webhook-config-modal.tsx index 2417c4637ef..6080a62e131 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/create-webhook-config-modal.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/create-webhook-config-modal.tsx @@ -1,5 +1,5 @@ import type { ThirdwebClient } from "thirdweb"; -import type { Topic } from "@/api/webhook-configs"; +import type { Topic } from "@/api/project/webhook-configs"; import { WebhookConfigModal } from "./webhook-config-modal"; interface CreateWebhookConfigModalProps { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/delete-webhook-modal.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/delete-webhook-modal.tsx index 3a9478b1e55..f1c9e186dca 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/delete-webhook-modal.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/delete-webhook-modal.tsx @@ -1,6 +1,6 @@ import { DialogDescription } from "@radix-ui/react-dialog"; import { AlertTriangleIcon } from "lucide-react"; -import type { WebhookConfig } from "@/api/webhook-configs"; +import type { WebhookConfig } from "@/api/project/webhook-configs"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { Button } from "@/components/ui/button"; import { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/edit-webhook-config-modal.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/edit-webhook-config-modal.tsx index 60f2fcfd831..be716eafabe 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/edit-webhook-config-modal.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/edit-webhook-config-modal.tsx @@ -1,5 +1,5 @@ import type { ThirdwebClient } from "thirdweb"; -import type { Topic, WebhookConfig } from "@/api/webhook-configs"; +import type { Topic, WebhookConfig } from "@/api/project/webhook-configs"; import { WebhookConfigModal } from "./webhook-config-modal"; interface EditWebhookConfigModalProps { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/overview.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/overview.tsx index 08741367a11..767051b9d9a 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/overview.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/overview.tsx @@ -2,7 +2,7 @@ import { redirect } from "next/navigation"; import type { ThirdwebClient } from "thirdweb"; -import type { Topic, WebhookConfig } from "@/api/webhook-configs"; +import type { Topic, WebhookConfig } from "@/api/project/webhook-configs"; import type { WebhookSummaryStats } from "@/types/analytics"; import { WebhookConfigsTable } from "./webhook-configs-table"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/topic-selector-modal.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/topic-selector-modal.tsx index 7a1c568c239..054452b742e 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/topic-selector-modal.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/topic-selector-modal.tsx @@ -6,7 +6,7 @@ import { useForm, useWatch } from "react-hook-form"; import { toast } from "sonner"; import type { ThirdwebClient } from "thirdweb"; import { keccak256, toFunctionSelector } from "thirdweb/utils"; -import type { Topic } from "@/api/webhook-configs"; +import type { Topic } from "@/api/project/webhook-configs"; import { MultiNetworkSelector } from "@/components/blocks/NetworkSelectors"; import { SignatureSelector } from "@/components/blocks/SignatureSelector"; import { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/webhook-config-modal.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/webhook-config-modal.tsx index cd3f982b5f9..69544dff81f 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/webhook-config-modal.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/webhook-config-modal.tsx @@ -14,7 +14,7 @@ import { testDestinationUrl, updateWebhookConfig, type WebhookConfig, -} from "@/api/webhook-configs"; +} from "@/api/project/webhook-configs"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/webhook-configs-table.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/webhook-configs-table.tsx index 409b391e003..a9417aa821b 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/webhook-configs-table.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/webhook-configs-table.tsx @@ -18,8 +18,11 @@ import { import { useMemo, useState } from "react"; import { toast } from "sonner"; import type { ThirdwebClient } from "thirdweb"; -import type { Topic, WebhookConfig } from "@/api/webhook-configs"; -import { deleteWebhookConfig, testDestinationUrl } from "@/api/webhook-configs"; +import type { Topic, WebhookConfig } from "@/api/project/webhook-configs"; +import { + deleteWebhookConfig, + testDestinationUrl, +} from "@/api/project/webhook-configs"; import { PaginationButtons } from "@/components/blocks/pagination-buttons"; import { Button } from "@/components/ui/button"; import { CopyTextButton } from "@/components/ui/CopyTextButton"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/contract-webhooks/contract-webhooks-page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/contract-webhooks/contract-webhooks-page.tsx index b3fe91d55ae..861601f7e07 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/contract-webhooks/contract-webhooks-page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/contract-webhooks/contract-webhooks-page.tsx @@ -3,7 +3,7 @@ import { getWebhooks, type WebhookResponse, } from "@/api/insight/webhooks"; -import type { Project } from "@/api/projects"; +import type { Project } from "@/api/project/projects"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { CreateContractWebhookButton } from "../components/CreateWebhookModal"; import { ContractsWebhooksTable } from "../components/WebhooksTable"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/contracts/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/contracts/page.tsx index 7e9a512321e..bb0ff1139a5 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/contracts/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/contracts/page.tsx @@ -1,6 +1,6 @@ import { notFound } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { UnderlineLink } from "@/components/ui/UnderlineLink"; import { ContractsWebhooksPageContent } from "../contract-webhooks/contract-webhooks-page"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/layout.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/layout.tsx index ee52f222023..fb19207c180 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/layout.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/layout.tsx @@ -1,5 +1,5 @@ -import { getValidAccount } from "@app/account/settings/getAccount"; import { isFeatureFlagEnabled } from "@/analytics/posthog-server"; +import { getValidAccount } from "@/api/account/get-account"; import { TabPathLinks } from "@/components/ui/tabs"; export default async function WebhooksLayout(props: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/page.tsx index 76c441b8473..5eed6867e32 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/page.tsx @@ -1,12 +1,15 @@ import { notFound, redirect } from "next/navigation"; import { isFeatureFlagEnabled } from "@/analytics/posthog-server"; +import { getValidAccount } from "@/api/account/get-account"; import { getWebhookSummary } from "@/api/analytics"; import { getAuthToken } from "@/api/auth-token"; import { getSupportedWebhookChains } from "@/api/insight/webhooks"; -import { getProject } from "@/api/projects"; -import { getAvailableTopics, getWebhookConfigs } from "@/api/webhook-configs"; +import { getProject } from "@/api/project/projects"; +import { + getAvailableTopics, + getWebhookConfigs, +} from "@/api/project/webhook-configs"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; -import { getValidAccount } from "../../../../../account/settings/getAccount"; import { WebhooksOverview } from "./components/overview"; export default async function WebhooksPage(props: { diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/universal-bridge/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/universal-bridge/page.tsx index 13408806ecc..8d5f16ba7ef 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/universal-bridge/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/universal-bridge/page.tsx @@ -1,5 +1,5 @@ import { redirect } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { UnderlineLink } from "@/components/ui/UnderlineLink"; import { PayWebhooksPage } from "../../payments/webhooks/components/webhooks.client"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/(marketplace)/direct-listings/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/(marketplace)/direct-listings/page.tsx index 7de5ae551b2..b8156a11c2a 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/(marketplace)/direct-listings/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/(marketplace)/direct-listings/page.tsx @@ -1,5 +1,5 @@ import { notFound } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { SharedDirectListingsPage } from "../../../../../../../../(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/direct-listings/shared-direct-listings-page"; import type { ProjectContractPageParams } from "../../types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/(marketplace)/english-auctions/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/(marketplace)/english-auctions/page.tsx index c0ec408d19b..2e11516b18d 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/(marketplace)/english-auctions/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/(marketplace)/english-auctions/page.tsx @@ -1,5 +1,5 @@ import { notFound } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { SharedEnglishAuctionsPage } from "../../../../../../../../(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/english-auctions/shared-english-auctions-page"; import type { ProjectContractPageParams } from "../../types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/account-permissions/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/account-permissions/page.tsx index 1636dfb3323..f7de9cb2322 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/account-permissions/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/account-permissions/page.tsx @@ -1,5 +1,5 @@ import { notFound } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { SharedContractAccountPermissionsPage } from "../../../../../../../(dashboard)/(chain)/[chain_id]/[contractAddress]/account-permissions/shared-account-permissions-page"; import type { ProjectContractPageParams } from "../types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/account/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/account/page.tsx index b62bf01eda9..520360a00ca 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/account/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/account/page.tsx @@ -1,5 +1,5 @@ import { notFound } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { SharedContractAccountPage } from "../../../../../../../(dashboard)/(chain)/[chain_id]/[contractAddress]/account/shared-account-page"; import type { ProjectContractPageParams } from "../types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/accounts/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/accounts/page.tsx index 5fc0503aee1..d610228393a 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/accounts/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/accounts/page.tsx @@ -1,5 +1,5 @@ import { notFound } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { SharedAccountsPage } from "../../../../../../../(dashboard)/(chain)/[chain_id]/[contractAddress]/accounts/shared-accounts-page"; import type { ProjectContractPageParams } from "../types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/analytics/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/analytics/page.tsx index 5c3cd1df05e..ea5e2c905f6 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/analytics/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/analytics/page.tsx @@ -1,5 +1,5 @@ import { notFound } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { SharedAnalyticsPage } from "../../../../../../../(dashboard)/(chain)/[chain_id]/[contractAddress]/analytics/shared-analytics-page"; import type { ProjectContractPageParams } from "../types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/claim-conditions/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/claim-conditions/page.tsx index ecf88194478..6b95be4d6d7 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/claim-conditions/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/claim-conditions/page.tsx @@ -1,5 +1,5 @@ import { notFound } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { SharedClaimConditionsPage } from "../../../../../../../(dashboard)/(chain)/[chain_id]/[contractAddress]/claim-conditions/shared-claim-conditions-page"; import type { ProjectContractPageParams } from "../types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/code/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/code/page.tsx index d281dcd1b9f..48489ad6490 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/code/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/code/page.tsx @@ -1,5 +1,5 @@ import { notFound } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { SharedCodePage } from "../../../../../../../(dashboard)/(chain)/[chain_id]/[contractAddress]/code/shared-code-page"; import type { ProjectContractPageParams } from "../types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/cross-chain/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/cross-chain/page.tsx index 39d96bc6b04..7d1373218c0 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/cross-chain/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/cross-chain/page.tsx @@ -1,5 +1,5 @@ import { notFound } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { SharedCrossChainPage } from "../../../../../../../(dashboard)/(chain)/[chain_id]/[contractAddress]/cross-chain/shared-cross-chain-page"; import type { ProjectContractPageParams } from "../types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/events/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/events/page.tsx index 9cc2e3c3d3d..a5a1e982aee 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/events/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/events/page.tsx @@ -1,5 +1,5 @@ import { notFound } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { SharedEventsPage } from "../../../../../../../(dashboard)/(chain)/[chain_id]/[contractAddress]/events/shared-events-page"; import type { ProjectContractPageParams } from "../types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/explorer/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/explorer/page.tsx index 37f0e8e7386..627c56ea3a3 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/explorer/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/explorer/page.tsx @@ -1,5 +1,5 @@ import { notFound } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { SharedExplorerPage } from "../../../../../../../(dashboard)/(chain)/[chain_id]/[contractAddress]/explorer/shared-explorer-page"; import type { ProjectContractPageParams } from "../types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/layout.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/layout.tsx index 9cc5c9a6627..8f88b53948c 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/layout.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/layout.tsx @@ -1,13 +1,13 @@ import { redirect } from "next/navigation"; +import { getValidAccount } from "@/api/account/get-account"; import { getAuthToken, getAuthTokenWalletAddress } from "@/api/auth-token"; -import { getProjects } from "@/api/projects"; -import { getTeams } from "@/api/team"; +import { getProjects } from "@/api/project/projects"; +import { getTeams } from "@/api/team/get-team"; import { AppFooter } from "@/components/footers/app-footer"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { ErrorProvider } from "@/contexts/error-handler"; import { ContractIcon } from "@/icons/ContractIcon"; import { SharedContractLayout } from "../../../../../../(dashboard)/(chain)/[chain_id]/[contractAddress]/shared-layout"; -import { getValidAccount } from "../../../../../../account/settings/getAccount"; import { TeamHeaderLoggedIn } from "../../../../../components/TeamHeader/team-header-logged-in.client"; import { SaveLastUsedProject } from "../../../(sidebar)/components/SaveLastUsedProject"; import type { ProjectContractPageParams } from "./types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/modules/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/modules/page.tsx index b8191a5a2da..d19b7edea48 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/modules/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/modules/page.tsx @@ -1,5 +1,5 @@ import { notFound } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { SharedModulesPage } from "../../../../../../../(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/shared-modules-page"; import type { ProjectContractPageParams } from "../types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/nfts/[tokenId]/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/nfts/[tokenId]/page.tsx index f47f10876c9..61102c35d13 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/nfts/[tokenId]/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/nfts/[tokenId]/page.tsx @@ -1,5 +1,5 @@ import { notFound } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { SharedNFTTokenPage } from "../../../../../../../../(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/[tokenId]/shared-nfts-token-page"; import type { ProjectContractPageParams } from "../../types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/nfts/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/nfts/page.tsx index c9609f9b579..1d7d9a5b2a6 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/nfts/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/nfts/page.tsx @@ -1,5 +1,5 @@ import { notFound } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { SharedNFTPage } from "../../../../../../../(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/shared-nfts-page"; import type { ProjectContractPageParams } from "../types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/page.tsx index 3165e695e60..57821a21e0d 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/page.tsx @@ -1,5 +1,5 @@ import { notFound } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { SharedContractOverviewPage } from "../../../../../../(dashboard)/(chain)/[chain_id]/[contractAddress]/shared-overview-page"; import type { ProjectContractPageParams } from "./types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/permissions/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/permissions/page.tsx index 91c16f4d3fa..8274005384c 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/permissions/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/permissions/page.tsx @@ -1,5 +1,5 @@ import { notFound } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { SharedPermissionsPage } from "../../../../../../../(dashboard)/(chain)/[chain_id]/[contractAddress]/permissions/shared-permissions-page"; import type { ProjectContractPageParams } from "../types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/proposals/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/proposals/page.tsx index 3f90f91a86c..0c995e1d492 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/proposals/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/proposals/page.tsx @@ -1,5 +1,5 @@ import { notFound } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { SharedContractProposalsPage } from "../../../../../../../(dashboard)/(chain)/[chain_id]/[contractAddress]/proposals/shared-proposals-page"; import type { ProjectContractPageParams } from "../types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/settings/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/settings/page.tsx index 51000443f8a..4870feab589 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/settings/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/settings/page.tsx @@ -1,5 +1,5 @@ import { notFound } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { SharedContractSettingsPage } from "../../../../../../../(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/shared-settings-page"; import type { ProjectContractPageParams } from "../types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/sources/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/sources/page.tsx index 5904373f392..0c42231123d 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/sources/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/sources/page.tsx @@ -1,5 +1,5 @@ import { notFound } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { SharedContractSourcesPage } from "../../../../../../../(dashboard)/(chain)/[chain_id]/[contractAddress]/sources/shared-sources-page"; import type { ProjectContractPageParams } from "../types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/split/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/split/page.tsx index e7c0383c8ae..db068850386 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/split/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/split/page.tsx @@ -1,5 +1,5 @@ import { notFound } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { SharedContractSplitPage } from "../../../../../../../(dashboard)/(chain)/[chain_id]/[contractAddress]/split/shared-split-page"; import type { ProjectContractPageParams } from "../types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/tokens/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/tokens/page.tsx index 0a19efed229..9ff1367e076 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/tokens/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/contract/[chainIdOrSlug]/[contractAddress]/tokens/page.tsx @@ -1,5 +1,5 @@ import { notFound } from "next/navigation"; -import { getProject } from "@/api/projects"; +import { getProject } from "@/api/project/projects"; import { SharedContractTokensPage } from "../../../../../../../(dashboard)/(chain)/[chain_id]/[contractAddress]/tokens/shared-page"; import type { ProjectContractPageParams } from "../types"; diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/layout.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/layout.tsx index ef970980383..94bb061dbd0 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/layout.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/layout.tsx @@ -1,7 +1,10 @@ import { redirect } from "next/navigation"; import { Suspense } from "react"; import { getAuthToken } from "@/api/auth-token"; -import { getTeamBySlug, hasToCompleteTeamOnboarding } from "@/api/team"; +import { + getTeamBySlug, + hasToCompleteTeamOnboarding, +} from "@/api/team/get-team"; import { EnsureValidConnectedWalletLoginServer } from "@/components/misc/EnsureValidConnectedWalletLogin/EnsureValidConnectedWalletLoginServer"; import { SaveLastVisitedTeamPage } from "../components/last-visited-page/SaveLastVisitedPage"; import { diff --git a/apps/dashboard/src/app/(app)/team/components/TeamHeader/ProjectSelectorMobileMenuButton.tsx b/apps/dashboard/src/app/(app)/team/components/TeamHeader/ProjectSelectorMobileMenuButton.tsx index 7a2459346ae..a2a67becfb2 100644 --- a/apps/dashboard/src/app/(app)/team/components/TeamHeader/ProjectSelectorMobileMenuButton.tsx +++ b/apps/dashboard/src/app/(app)/team/components/TeamHeader/ProjectSelectorMobileMenuButton.tsx @@ -3,8 +3,8 @@ import { ChevronsUpDownIcon } from "lucide-react"; import { useState } from "react"; import type { ThirdwebClient } from "thirdweb"; -import type { Project } from "@/api/projects"; -import type { Team } from "@/api/team"; +import type { Project } from "@/api/project/projects"; +import type { Team } from "@/api/team/get-team"; import { Button } from "@/components/ui/button"; import { DynamicHeight } from "@/components/ui/DynamicHeight"; import { Dialog, DialogContent, DialogTrigger } from "@/components/ui/dialog"; diff --git a/apps/dashboard/src/app/(app)/team/components/TeamHeader/ProjectSelectorUI.tsx b/apps/dashboard/src/app/(app)/team/components/TeamHeader/ProjectSelectorUI.tsx index f1935dc0edc..60e2f648b09 100644 --- a/apps/dashboard/src/app/(app)/team/components/TeamHeader/ProjectSelectorUI.tsx +++ b/apps/dashboard/src/app/(app)/team/components/TeamHeader/ProjectSelectorUI.tsx @@ -4,8 +4,8 @@ import { CheckIcon, CirclePlusIcon } from "lucide-react"; import Link from "next/link"; import { useState } from "react"; import type { ThirdwebClient } from "thirdweb"; -import type { Project } from "@/api/projects"; -import type { Team } from "@/api/team"; +import type { Project } from "@/api/project/projects"; +import type { Team } from "@/api/team/get-team"; import { ProjectAvatar } from "@/components/blocks/avatar/project-avatar"; import { Button } from "@/components/ui/button"; import { ScrollShadow } from "@/components/ui/ScrollShadow/ScrollShadow"; diff --git a/apps/dashboard/src/app/(app)/team/components/TeamHeader/TeamAndProjectSelectorPopoverButton.tsx b/apps/dashboard/src/app/(app)/team/components/TeamHeader/TeamAndProjectSelectorPopoverButton.tsx index a2f5af346f0..f1cd182b9bd 100644 --- a/apps/dashboard/src/app/(app)/team/components/TeamHeader/TeamAndProjectSelectorPopoverButton.tsx +++ b/apps/dashboard/src/app/(app)/team/components/TeamHeader/TeamAndProjectSelectorPopoverButton.tsx @@ -4,8 +4,8 @@ import { ChevronsUpDownIcon } from "lucide-react"; import { useState } from "react"; import type { ThirdwebClient } from "thirdweb"; -import type { Project } from "@/api/projects"; -import type { Team } from "@/api/team"; +import type { Project } from "@/api/project/projects"; +import type { Team } from "@/api/team/get-team"; import { Button } from "@/components/ui/button"; import { DynamicHeight } from "@/components/ui/DynamicHeight"; import { diff --git a/apps/dashboard/src/app/(app)/team/components/TeamHeader/TeamHeaderUI.stories.tsx b/apps/dashboard/src/app/(app)/team/components/TeamHeader/TeamHeaderUI.stories.tsx index a6a5cce6929..e6eba26eddb 100644 --- a/apps/dashboard/src/app/(app)/team/components/TeamHeader/TeamHeaderUI.stories.tsx +++ b/apps/dashboard/src/app/(app)/team/components/TeamHeader/TeamHeaderUI.stories.tsx @@ -1,8 +1,8 @@ import type { Meta, StoryObj } from "@storybook/nextjs"; import { BoxIcon } from "lucide-react"; import { ThirdwebProvider } from "thirdweb/react"; -import type { Project } from "@/api/projects"; -import type { Team } from "@/api/team"; +import type { Project } from "@/api/project/projects"; +import type { Team } from "@/api/team/get-team"; import { Button } from "@/components/ui/button"; import { teamsAndProjectsStub } from "@/storybook/stubs"; import { diff --git a/apps/dashboard/src/app/(app)/team/components/TeamHeader/TeamHeaderUI.tsx b/apps/dashboard/src/app/(app)/team/components/TeamHeader/TeamHeaderUI.tsx index 0b490ad69a2..c26912ed0a3 100644 --- a/apps/dashboard/src/app/(app)/team/components/TeamHeader/TeamHeaderUI.tsx +++ b/apps/dashboard/src/app/(app)/team/components/TeamHeader/TeamHeaderUI.tsx @@ -1,7 +1,7 @@ import Link from "next/link"; import type { ThirdwebClient } from "thirdweb"; -import type { Project } from "@/api/projects"; -import type { Team } from "@/api/team"; +import type { Project } from "@/api/project/projects"; +import type { Team } from "@/api/team/get-team"; import { GradientAvatar } from "@/components/blocks/avatar/gradient-avatar"; import { ProjectAvatar } from "@/components/blocks/avatar/project-avatar"; import { TeamPlanBadge } from "@/components/blocks/TeamPlanBadge"; diff --git a/apps/dashboard/src/app/(app)/team/components/TeamHeader/TeamSelectionUI.tsx b/apps/dashboard/src/app/(app)/team/components/TeamHeader/TeamSelectionUI.tsx index 62fdfd5113f..bae734a9852 100644 --- a/apps/dashboard/src/app/(app)/team/components/TeamHeader/TeamSelectionUI.tsx +++ b/apps/dashboard/src/app/(app)/team/components/TeamHeader/TeamSelectionUI.tsx @@ -3,8 +3,8 @@ import Link from "next/link"; import { usePathname } from "next/navigation"; import { useState } from "react"; import type { ThirdwebClient } from "thirdweb"; -import type { Project } from "@/api/projects"; -import type { Team } from "@/api/team"; +import type { Project } from "@/api/project/projects"; +import type { Team } from "@/api/team/get-team"; import { GradientAvatar } from "@/components/blocks/avatar/gradient-avatar"; import { TeamPlanBadge } from "@/components/blocks/TeamPlanBadge"; import { Button } from "@/components/ui/button"; diff --git a/apps/dashboard/src/app/(app)/team/components/TeamHeader/TeamSelectorMobileMenuButton.tsx b/apps/dashboard/src/app/(app)/team/components/TeamHeader/TeamSelectorMobileMenuButton.tsx index 0bce8af868e..8af36756db3 100644 --- a/apps/dashboard/src/app/(app)/team/components/TeamHeader/TeamSelectorMobileMenuButton.tsx +++ b/apps/dashboard/src/app/(app)/team/components/TeamHeader/TeamSelectorMobileMenuButton.tsx @@ -2,8 +2,8 @@ import { ChevronsUpDownIcon } from "lucide-react"; import type { ThirdwebClient } from "thirdweb"; -import type { Project } from "@/api/projects"; -import type { Team } from "@/api/team"; +import type { Project } from "@/api/project/projects"; +import type { Team } from "@/api/team/get-team"; import { Button } from "@/components/ui/button"; import { DynamicHeight } from "@/components/ui/DynamicHeight"; import { Dialog, DialogContent, DialogTrigger } from "@/components/ui/dialog"; diff --git a/apps/dashboard/src/app/(app)/team/components/TeamHeader/team-header-logged-in.client.tsx b/apps/dashboard/src/app/(app)/team/components/TeamHeader/team-header-logged-in.client.tsx index a52d6622397..90fbcec533a 100644 --- a/apps/dashboard/src/app/(app)/team/components/TeamHeader/team-header-logged-in.client.tsx +++ b/apps/dashboard/src/app/(app)/team/components/TeamHeader/team-header-logged-in.client.tsx @@ -5,12 +5,12 @@ import { toast } from "sonner"; import type { ThirdwebClient } from "thirdweb"; import { useActiveWallet, useDisconnect } from "thirdweb/react"; import { doLogout } from "@/actions/auth-actions"; -import { createTeam } from "@/actions/createTeam"; +import { createTeam } from "@/actions/team/createTeam"; import { useIdentifyAccount } from "@/analytics/hooks/identify-account"; import { useIdentifyTeam } from "@/analytics/hooks/identify-team"; import { resetAnalytics } from "@/analytics/reset"; -import type { Project } from "@/api/projects"; -import type { Team } from "@/api/team"; +import type { Project } from "@/api/project/projects"; +import type { Team } from "@/api/team/get-team"; import { CustomConnectWallet } from "@/components/connect-wallet"; import { LazyCreateProjectDialog } from "@/components/project/create-project-modal/LazyCreateAPIKeyDialog"; import type { Account } from "@/hooks/useApi"; diff --git a/apps/dashboard/src/app/(app)/team/components/TeamHeader/team-header.tsx b/apps/dashboard/src/app/(app)/team/components/TeamHeader/team-header.tsx index 5d5fa2b6cd8..6309b964055 100644 --- a/apps/dashboard/src/app/(app)/team/components/TeamHeader/team-header.tsx +++ b/apps/dashboard/src/app/(app)/team/components/TeamHeader/team-header.tsx @@ -1,10 +1,10 @@ import { cookies } from "next/headers"; +import { getRawAccount } from "@/api/account/get-account"; import { getAuthToken, getAuthTokenWalletAddress } from "@/api/auth-token"; -import { getProjects } from "@/api/projects"; -import { getTeams } from "@/api/team"; -import { LAST_USED_TEAM_ID } from "@/constants/cookies"; +import { getProjects } from "@/api/project/projects"; +import { getTeams } from "@/api/team/get-team"; +import { LAST_USED_TEAM_ID } from "@/constants/cookie"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; -import { getRawAccount } from "../../../account/settings/getAccount"; import { HeaderLoggedOut } from "../HeaderLoggedOut/HeaderLoggedOut"; import { TeamHeaderLoggedIn } from "./team-header-logged-in.client"; diff --git a/apps/dashboard/src/app/(app)/team/components/last-visited-page/SaveLastVisitedPage.tsx b/apps/dashboard/src/app/(app)/team/components/last-visited-page/SaveLastVisitedPage.tsx index bf58ce525ab..a09211fbb7c 100644 --- a/apps/dashboard/src/app/(app)/team/components/last-visited-page/SaveLastVisitedPage.tsx +++ b/apps/dashboard/src/app/(app)/team/components/last-visited-page/SaveLastVisitedPage.tsx @@ -2,7 +2,7 @@ import { usePathname } from "next/navigation"; import { useEffect } from "react"; -import { LAST_USED_TEAM_ID } from "@/constants/cookies"; +import { LAST_USED_TEAM_ID } from "@/constants/cookie"; import { setCookie } from "@/utils/cookie"; import { LAST_VISITED_TEAM_PAGE_PATH } from "./consts"; diff --git a/apps/dashboard/src/app/(app)/team/page.tsx b/apps/dashboard/src/app/(app)/team/page.tsx index dc5379b2150..2fe4d19cabb 100644 --- a/apps/dashboard/src/app/(app)/team/page.tsx +++ b/apps/dashboard/src/app/(app)/team/page.tsx @@ -1,5 +1,5 @@ import { redirect } from "next/navigation"; -import { getLastVisitedTeam } from "@/api/team"; +import { getLastVisitedTeam } from "@/api/team/get-team"; export default async function TeamRootPage() { const team = await getLastVisitedTeam(); diff --git a/apps/dashboard/src/app/(app)/team/~/[[...paths]]/components/team-selector.tsx b/apps/dashboard/src/app/(app)/team/~/[[...paths]]/components/team-selector.tsx index fa64db07b1c..a066cab175f 100644 --- a/apps/dashboard/src/app/(app)/team/~/[[...paths]]/components/team-selector.tsx +++ b/apps/dashboard/src/app/(app)/team/~/[[...paths]]/components/team-selector.tsx @@ -1,7 +1,7 @@ import { ChevronRightIcon, UsersIcon } from "lucide-react"; import Link from "next/link"; import type { ThirdwebClient } from "thirdweb"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { GradientAvatar } from "@/components/blocks/avatar/gradient-avatar"; import { TeamPlanBadge } from "@/components/blocks/TeamPlanBadge"; diff --git a/apps/dashboard/src/app/(app)/team/~/[[...paths]]/page.tsx b/apps/dashboard/src/app/(app)/team/~/[[...paths]]/page.tsx index 852d06aa227..71647ec867f 100644 --- a/apps/dashboard/src/app/(app)/team/~/[[...paths]]/page.tsx +++ b/apps/dashboard/src/app/(app)/team/~/[[...paths]]/page.tsx @@ -1,6 +1,6 @@ import { notFound, redirect } from "next/navigation"; import { getAuthToken } from "@/api/auth-token"; -import { getTeams } from "@/api/team"; +import { getTeams } from "@/api/team/get-team"; import { AppFooter } from "@/components/footers/app-footer"; import { DotsBackgroundPattern } from "@/components/ui/background-patterns"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; diff --git a/apps/dashboard/src/app/(app)/team/~/components/TeamAndProjectSelectorCard.stories.tsx b/apps/dashboard/src/app/(app)/team/~/components/TeamAndProjectSelectorCard.stories.tsx index ec25e4bdb4c..31d9529e4ec 100644 --- a/apps/dashboard/src/app/(app)/team/~/components/TeamAndProjectSelectorCard.stories.tsx +++ b/apps/dashboard/src/app/(app)/team/~/components/TeamAndProjectSelectorCard.stories.tsx @@ -1,5 +1,5 @@ import type { Meta, StoryObj } from "@storybook/nextjs"; -import type { PartialProject } from "@/api/getProjectContracts"; +import type { PartialProject } from "@/api/project/getProjectContracts"; import { projectStub, teamStub } from "@/storybook/stubs"; import { storybookLog, storybookThirdwebClient } from "@/storybook/utils"; import { ProjectAndTeamSelectorCard } from "./TeamAndProjectSelectorCard"; diff --git a/apps/dashboard/src/app/(app)/team/~/components/TeamAndProjectSelectorCard.tsx b/apps/dashboard/src/app/(app)/team/~/components/TeamAndProjectSelectorCard.tsx index 466a4c7fb4b..6668de7eeab 100644 --- a/apps/dashboard/src/app/(app)/team/~/components/TeamAndProjectSelectorCard.tsx +++ b/apps/dashboard/src/app/(app)/team/~/components/TeamAndProjectSelectorCard.tsx @@ -2,8 +2,8 @@ import { BoxIcon, ChevronRightIcon } from "lucide-react"; import type { ThirdwebClient } from "thirdweb"; -import type { PartialProject } from "@/api/getProjectContracts"; -import type { Team } from "@/api/team"; +import type { PartialProject } from "@/api/project/getProjectContracts"; +import type { Team } from "@/api/team/get-team"; import { GradientAvatar } from "@/components/blocks/avatar/gradient-avatar"; import { ProjectAvatar } from "@/components/blocks/avatar/project-avatar"; import { TeamPlanBadge } from "@/components/blocks/TeamPlanBadge"; diff --git a/apps/dashboard/src/app/(app)/team/~/~/contract/[chain]/[contractAddress]/components/project-selector.tsx b/apps/dashboard/src/app/(app)/team/~/~/contract/[chain]/[contractAddress]/components/project-selector.tsx index d3dc622d1d0..931e4671697 100644 --- a/apps/dashboard/src/app/(app)/team/~/~/contract/[chain]/[contractAddress]/components/project-selector.tsx +++ b/apps/dashboard/src/app/(app)/team/~/~/contract/[chain]/[contractAddress]/components/project-selector.tsx @@ -1,8 +1,8 @@ "use client"; import type { ThirdwebClient } from "thirdweb"; -import type { PartialProject } from "@/api/getProjectContracts"; -import type { Team } from "@/api/team"; +import type { PartialProject } from "@/api/project/getProjectContracts"; +import type { Team } from "@/api/team/get-team"; import { useAddContractToProject } from "@/hooks/project-contracts"; import { useDashboardRouter } from "@/lib/DashboardRouter"; import { ProjectAndTeamSelectorCard } from "../../../../../components/TeamAndProjectSelectorCard"; diff --git a/apps/dashboard/src/app/(app)/team/~/~/contract/[chain]/[contractAddress]/page.tsx b/apps/dashboard/src/app/(app)/team/~/~/contract/[chain]/[contractAddress]/page.tsx index c8785406771..0902a37ffe0 100644 --- a/apps/dashboard/src/app/(app)/team/~/~/contract/[chain]/[contractAddress]/page.tsx +++ b/apps/dashboard/src/app/(app)/team/~/~/contract/[chain]/[contractAddress]/page.tsx @@ -1,18 +1,18 @@ import { notFound, redirect } from "next/navigation"; import { getAddress } from "thirdweb"; +import { getValidAccount } from "@/api/account/get-account"; import { getAuthToken } from "@/api/auth-token"; import { getContractImportedProjects, type PartialProject, -} from "@/api/getProjectContracts"; -import { getProjects } from "@/api/projects"; -import { getTeams, type Team } from "@/api/team"; +} from "@/api/project/getProjectContracts"; +import { getProjects } from "@/api/project/projects"; +import { getTeams, type Team } from "@/api/team/get-team"; import { AppFooter } from "@/components/footers/app-footer"; import { DotsBackgroundPattern } from "@/components/ui/background-patterns"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; import { fetchChain } from "@/utils/fetchChain"; import { loginRedirect } from "@/utils/redirects"; -import { getValidAccount } from "../../../../../../account/settings/getAccount"; import { TeamHeader } from "../../../../../components/TeamHeader/team-header"; import { ImportAndSelectProjectForContract, diff --git a/apps/dashboard/src/app/login/LoginPage.tsx b/apps/dashboard/src/app/login/LoginPage.tsx index f04d9543307..2b2d79ccc87 100644 --- a/apps/dashboard/src/app/login/LoginPage.tsx +++ b/apps/dashboard/src/app/login/LoginPage.tsx @@ -11,28 +11,28 @@ import { useActiveWalletConnectionStatus, } from "thirdweb/react"; import { createWallet, inAppWallet } from "thirdweb/wallets"; +import { getRawAccountAction } from "@/actions/account/getAccount"; import { doLogin, doLogout, getLoginPayload, isLoggedIn, } from "@/actions/auth-actions"; -import { getRawAccountAction } from "@/actions/getAccount"; import { resetAnalytics } from "@/analytics/reset"; import { ClientOnly } from "@/components/blocks/client-only"; import { ToggleThemeButton } from "@/components/blocks/color-mode-toggle"; import { GenericLoadingPage } from "@/components/blocks/skeletons/GenericLoadingPage"; import { Spinner } from "@/components/ui/Spinner/Spinner"; -import { LAST_USED_PROJECT_ID, LAST_USED_TEAM_ID } from "@/constants/cookies"; +import { LAST_USED_PROJECT_ID, LAST_USED_TEAM_ID } from "@/constants/cookie"; import { NEXT_PUBLIC_TURNSTILE_SITE_KEY } from "@/constants/public-envs"; import type { Account } from "@/hooks/useApi"; import { useDashboardRouter } from "@/lib/DashboardRouter"; +import { isAccountOnboardingComplete } from "@/utils/account-onboarding"; import { deleteCookie } from "@/utils/cookie"; import { getSDKTheme } from "@/utils/sdk-component-theme"; import { isVercel } from "@/utils/vercel"; import { ThirdwebMiniLogo } from "../(app)/components/ThirdwebMiniLogo"; import { LAST_VISITED_TEAM_PAGE_PATH } from "../(app)/team/components/last-visited-page/consts"; -import { isAccountOnboardingComplete } from "./onboarding/isOnboardingRequired"; const LazyAccountOnboarding = lazy( () => import("./onboarding/account-onboarding"), diff --git a/apps/dashboard/src/app/login/onboarding/team-onboarding/InviteTeamMembers.stories.tsx b/apps/dashboard/src/app/login/onboarding/team-onboarding/InviteTeamMembers.stories.tsx index 47b7671f4ff..d78aea2713c 100644 --- a/apps/dashboard/src/app/login/onboarding/team-onboarding/InviteTeamMembers.stories.tsx +++ b/apps/dashboard/src/app/login/onboarding/team-onboarding/InviteTeamMembers.stories.tsx @@ -1,5 +1,5 @@ import type { Meta, StoryObj } from "@storybook/nextjs"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { teamStub } from "@/storybook/stubs"; import { storybookLog, storybookThirdwebClient } from "@/storybook/utils"; import { TeamOnboardingLayout } from "../onboarding-layout"; diff --git a/apps/dashboard/src/app/login/onboarding/team-onboarding/InviteTeamMembers.tsx b/apps/dashboard/src/app/login/onboarding/team-onboarding/InviteTeamMembers.tsx index 0db8fa5e7b6..c4b5e1993cd 100644 --- a/apps/dashboard/src/app/login/onboarding/team-onboarding/InviteTeamMembers.tsx +++ b/apps/dashboard/src/app/login/onboarding/team-onboarding/InviteTeamMembers.tsx @@ -9,8 +9,8 @@ import { reportOnboardingMembersUpsellButtonClicked, reportOnboardingMembersUpsellPlanSelected, } from "@/analytics/report"; -import type { Team } from "@/api/team"; -import { PricingCard } from "@/components/blocks/pricing-card"; +import type { Team } from "@/api/team/get-team"; +import { PricingCard } from "@/components/billing/pricing-card"; import { Button } from "@/components/ui/button"; import { Spinner } from "@/components/ui/Spinner/Spinner"; import { diff --git a/apps/dashboard/src/app/login/onboarding/team-onboarding/TeamInfoForm.tsx b/apps/dashboard/src/app/login/onboarding/team-onboarding/TeamInfoForm.tsx index 3382f94116c..a339caf332d 100644 --- a/apps/dashboard/src/app/login/onboarding/team-onboarding/TeamInfoForm.tsx +++ b/apps/dashboard/src/app/login/onboarding/team-onboarding/TeamInfoForm.tsx @@ -7,7 +7,7 @@ import { toast } from "sonner"; import type { ThirdwebClient } from "thirdweb"; import { useDebounce } from "use-debounce"; import { z } from "zod"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { FileInput } from "@/components/blocks/FileInput"; import { Button } from "@/components/ui/button"; import { diff --git a/apps/dashboard/src/app/login/onboarding/team-onboarding/team-onboarding.tsx b/apps/dashboard/src/app/login/onboarding/team-onboarding/team-onboarding.tsx index 287ab4a2009..6bcabd618f2 100644 --- a/apps/dashboard/src/app/login/onboarding/team-onboarding/team-onboarding.tsx +++ b/apps/dashboard/src/app/login/onboarding/team-onboarding/team-onboarding.tsx @@ -3,12 +3,12 @@ import { toast } from "sonner"; import type { ThirdwebClient } from "thirdweb"; import { upload } from "thirdweb/storage"; import { apiServerProxy } from "@/actions/proxies"; -import { sendTeamInvites } from "@/actions/sendTeamInvite"; +import { sendTeamInvites } from "@/actions/team/sendTeamInvite"; import { reportOnboardingCompleted, reportOnboardingStarted, } from "@/analytics/report"; -import type { Team } from "@/api/team"; +import type { Team } from "@/api/team/get-team"; import { useEffectOnce } from "@/hooks/useEffectOnce"; import { useDashboardRouter } from "@/lib/DashboardRouter"; import { updateTeam } from "../../../(app)/team/[team_slug]/(team)/~/settings/general/updateTeam"; diff --git a/apps/dashboard/src/app/login/page.tsx b/apps/dashboard/src/app/login/page.tsx index 3872ee800cf..3c22a198f57 100644 --- a/apps/dashboard/src/app/login/page.tsx +++ b/apps/dashboard/src/app/login/page.tsx @@ -1,5 +1,5 @@ +import { getRawAccount } from "@/api/account/get-account"; import { getClientThirdwebClient } from "@/constants/thirdweb-client.client"; -import { getRawAccount } from "../(app)/account/settings/getAccount"; import { isValidEncodedRedirectPath } from "./isValidEncodedRedirectPath"; import { LoginAndOnboardingPage } from "./LoginPage"; diff --git a/apps/dashboard/src/middleware.ts b/apps/dashboard/src/middleware.ts index 415e3593a9c..185b5b77c60 100644 --- a/apps/dashboard/src/middleware.ts +++ b/apps/dashboard/src/middleware.ts @@ -2,9 +2,9 @@ import { type NextRequest, NextResponse } from "next/server"; import { getAddress } from "thirdweb"; import { getChainMetadata } from "thirdweb/chains"; import { isValidENSName } from "thirdweb/utils"; -import { isLoginRequired } from "@/constants/auth"; import { COOKIE_ACTIVE_ACCOUNT, COOKIE_PREFIX_TOKEN } from "@/constants/cookie"; import { defineDashboardChain } from "@/lib/defineDashboardChain"; +import { isLoginRequired } from "@/utils/auth"; import { LAST_VISITED_TEAM_PAGE_PATH } from "./app/(app)/team/components/last-visited-page/consts"; // ignore assets, api - only intercept page routes diff --git a/apps/dashboard/tsconfig.json b/apps/dashboard/tsconfig.json index 08b5d695c33..f0d89427531 100644 --- a/apps/dashboard/tsconfig.json +++ b/apps/dashboard/tsconfig.json @@ -13,11 +13,7 @@ "moduleResolution": "node", "noEmit": true, "noUncheckedIndexedAccess": true, - "paths": { - "@app/*": ["app/(app)/*"], - "tw-components": ["tw-components"], - "tw-components/*": ["tw-components/*"] - }, + "plugins": [ { "name": "next"