diff --git a/apps/dashboard/src/contract-ui/components/primary-dashboard-button.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/_components/primary-dashboard-button.tsx similarity index 100% rename from apps/dashboard/src/contract-ui/components/primary-dashboard-button.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/_components/primary-dashboard-button.tsx diff --git a/apps/dashboard/src/contract-ui/tabs/events/components/events-feed.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/events/events-feed.tsx similarity index 99% rename from apps/dashboard/src/contract-ui/tabs/events/components/events-feed.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/events/events-feed.tsx index b227040e093..370642a9ad0 100644 --- a/apps/dashboard/src/contract-ui/tabs/events/components/events-feed.tsx +++ b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/events/events-feed.tsx @@ -24,6 +24,7 @@ import { Tooltip, } from "@chakra-ui/react"; import { AnimatePresence, motion } from "framer-motion"; +import { useChainSlug } from "hooks/chains/chainSlug"; import { useClipboard } from "hooks/useClipboard"; import { ChevronDownIcon, CircleHelpIcon, CopyIcon } from "lucide-react"; import { useSearchParams } from "next/navigation"; @@ -39,7 +40,6 @@ import { Heading, Text, } from "tw-components"; -import { useChainSlug } from "../../../../hooks/chains/chainSlug"; interface EventsFeedProps { contract: ThirdwebContract; diff --git a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/events/page.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/events/page.tsx index bc9e57aaf46..0c3af160034 100644 --- a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/events/page.tsx +++ b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/events/page.tsx @@ -1,6 +1,6 @@ import { notFound } from "next/navigation"; -import { EventsFeed } from "../../../../../../contract-ui/tabs/events/components/events-feed"; import { getContractPageParamsInfo } from "../_utils/getContractFromParams"; +import { EventsFeed } from "./events-feed"; export default async function Page(props: { params: { diff --git a/apps/dashboard/src/contract-ui/tabs/explorer/page.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/explorer/ContractExplorerPage.tsx similarity index 100% rename from apps/dashboard/src/contract-ui/tabs/explorer/page.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/explorer/ContractExplorerPage.tsx diff --git a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/explorer/page.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/explorer/page.tsx index 3167ae1071e..940ec0a77d0 100644 --- a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/explorer/page.tsx +++ b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/explorer/page.tsx @@ -2,8 +2,8 @@ import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { CircleAlertIcon } from "lucide-react"; import { notFound } from "next/navigation"; import { resolveContractAbi } from "thirdweb/contract"; -import { ContractExplorerPage } from "../../../../../../contract-ui/tabs/explorer/page"; import { getContractPageParamsInfo } from "../_utils/getContractFromParams"; +import { ContractExplorerPage } from "./ContractExplorerPage"; export default async function Page(props: { params: { diff --git a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/layout.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/layout.tsx index bbf54ada1b0..2fa3c2a7c02 100644 --- a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/layout.tsx +++ b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/layout.tsx @@ -2,12 +2,12 @@ import { ChakraProviderSetup } from "@/components/ChakraProviderSetup"; import { SidebarLayout } from "@/components/blocks/SidebarLayout"; import { ContractMetadata } from "components/custom-contract/contract-header/contract-metadata"; import { DeprecatedAlert } from "components/shared/DeprecatedAlert"; -import { PrimaryDashboardButton } from "contract-ui/components/primary-dashboard-button"; import type { Metadata } from "next"; import { getContractMetadata } from "thirdweb/extensions/common"; import { resolveFunctionSelectors } from "../../../../../lib/selectors"; import { shortenIfAddress } from "../../../../../utils/usedapp-external"; import { ConfigureCustomChain } from "./ConfigureCustomChain"; +import { PrimaryDashboardButton } from "./_components/primary-dashboard-button"; import { supportedERCs } from "./_utils/detectedFeatures/supportedERCs"; import { getContractPageParamsInfo } from "./_utils/getContractFromParams"; import { getContractPageMetadata } from "./_utils/getContractPageMetadata"; diff --git a/apps/dashboard/src/contract-ui/tabs/manage/page.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/ContractEditModulesPage.tsx similarity index 100% rename from apps/dashboard/src/contract-ui/tabs/manage/page.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/ContractEditModulesPage.tsx diff --git a/apps/dashboard/src/contract-ui/tabs/manage/components/InstalledModulesTable.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/InstalledModulesTable.tsx similarity index 100% rename from apps/dashboard/src/contract-ui/tabs/manage/components/InstalledModulesTable.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/InstalledModulesTable.tsx diff --git a/apps/dashboard/src/contract-ui/tabs/manage/components/ModuleForm.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/ModuleForm.tsx similarity index 100% rename from apps/dashboard/src/contract-ui/tabs/manage/components/ModuleForm.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/ModuleForm.tsx diff --git a/apps/dashboard/src/contract-ui/tabs/manage/components/getModuleInstalledParams.ts b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/getModuleInstalledParams.ts similarity index 100% rename from apps/dashboard/src/contract-ui/tabs/manage/components/getModuleInstalledParams.ts rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/getModuleInstalledParams.ts diff --git a/apps/dashboard/src/contract-ui/tabs/manage/components/install-module-params.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/install-module-params.tsx similarity index 97% rename from apps/dashboard/src/contract-ui/tabs/manage/components/install-module-params.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/install-module-params.tsx index 64fcb6beb4e..18e29cff371 100644 --- a/apps/dashboard/src/contract-ui/tabs/manage/components/install-module-params.tsx +++ b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/install-module-params.tsx @@ -1,8 +1,8 @@ import { FormControl } from "@chakra-ui/react"; import { useQuery } from "@tanstack/react-query"; +import { SolidityInput } from "contract-ui/components/solidity-inputs"; import invariant from "tiny-invariant"; import { FormErrorMessage, FormLabel } from "tw-components"; -import { SolidityInput } from "../../../components/solidity-inputs"; import type { InstallModuleForm } from "./ModuleForm"; import { getModuleInstalledParams } from "./getModuleInstalledParams"; diff --git a/apps/dashboard/src/contract-ui/tabs/manage/components/moduleContractInfo.ts b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/moduleContractInfo.ts similarity index 100% rename from apps/dashboard/src/contract-ui/tabs/manage/components/moduleContractInfo.ts rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/moduleContractInfo.ts diff --git a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/page.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/page.tsx index 617dfea3ff6..bd81c0cc96c 100644 --- a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/page.tsx +++ b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/page.tsx @@ -1,7 +1,7 @@ import { notFound, redirect } from "next/navigation"; -import { ContractEditModulesPage } from "../../../../../../contract-ui/tabs/manage/page"; import { getContractPageParamsInfo } from "../_utils/getContractFromParams"; import { getContractPageMetadata } from "../_utils/getContractPageMetadata"; +import { ContractEditModulesPage } from "./ContractEditModulesPage"; export default async function Page(props: { params: { diff --git a/apps/dashboard/src/contract-ui/tabs/permissions/page.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/permissions/ContractPermissionsPage.tsx similarity index 100% rename from apps/dashboard/src/contract-ui/tabs/permissions/page.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/permissions/ContractPermissionsPage.tsx diff --git a/apps/dashboard/src/contract-ui/tabs/permissions/components/contract-permission.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/permissions/components/contract-permission.tsx similarity index 100% rename from apps/dashboard/src/contract-ui/tabs/permissions/components/contract-permission.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/permissions/components/contract-permission.tsx diff --git a/apps/dashboard/src/contract-ui/tabs/permissions/components/index.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/permissions/components/index.tsx similarity index 98% rename from apps/dashboard/src/contract-ui/tabs/permissions/components/index.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/permissions/components/index.tsx index 9638d6c04fd..9188b943b14 100644 --- a/apps/dashboard/src/contract-ui/tabs/permissions/components/index.tsx +++ b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/permissions/components/index.tsx @@ -3,6 +3,10 @@ import { ButtonGroup, Flex } from "@chakra-ui/react"; import { TransactionButton } from "components/buttons/TransactionButton"; import { ROLE_DESCRIPTION_MAP } from "constants/mappings"; +import { + createSetAllRoleMembersTx, + getAllRoleMembers, +} from "contract-ui/hooks/permissions"; import { useTrack } from "hooks/analytics/useTrack"; import { useTxNotifications } from "hooks/useTxNotifications"; import { useMemo } from "react"; @@ -14,10 +18,6 @@ import { useSendAndConfirmTransaction, } from "thirdweb/react"; import { Button } from "tw-components"; -import { - createSetAllRoleMembersTx, - getAllRoleMembers, -} from "../../../hooks/permissions"; import { ContractPermission } from "./contract-permission"; type PermissionFormContext = { diff --git a/apps/dashboard/src/contract-ui/tabs/permissions/components/permissions-editor.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/permissions/components/permissions-editor.tsx similarity index 100% rename from apps/dashboard/src/contract-ui/tabs/permissions/components/permissions-editor.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/permissions/components/permissions-editor.tsx diff --git a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/permissions/page.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/permissions/page.tsx index 493ecc5aeba..9f99ad31c26 100644 --- a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/permissions/page.tsx +++ b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/permissions/page.tsx @@ -1,7 +1,7 @@ import { notFound } from "next/navigation"; -import { ContractPermissionsPage } from "../../../../../../contract-ui/tabs/permissions/page"; import { getContractPageParamsInfo } from "../_utils/getContractFromParams"; import { getContractPageMetadata } from "../_utils/getContractPageMetadata"; +import { ContractPermissionsPage } from "./ContractPermissionsPage"; export default async function Page(props: { params: { diff --git a/apps/dashboard/src/contract-ui/tabs/proposals/page.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/proposals/ContractProposalsPage.tsx similarity index 100% rename from apps/dashboard/src/contract-ui/tabs/proposals/page.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/proposals/ContractProposalsPage.tsx diff --git a/apps/dashboard/src/contract-ui/tabs/proposals/components/delegate-button.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/proposals/components/delegate-button.tsx similarity index 100% rename from apps/dashboard/src/contract-ui/tabs/proposals/components/delegate-button.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/proposals/components/delegate-button.tsx diff --git a/apps/dashboard/src/contract-ui/tabs/proposals/components/proposal-button.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/proposals/components/proposal-button.tsx similarity index 100% rename from apps/dashboard/src/contract-ui/tabs/proposals/components/proposal-button.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/proposals/components/proposal-button.tsx diff --git a/apps/dashboard/src/contract-ui/tabs/proposals/components/proposal.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/proposals/components/proposal.tsx similarity index 100% rename from apps/dashboard/src/contract-ui/tabs/proposals/components/proposal.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/proposals/components/proposal.tsx diff --git a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/proposals/page.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/proposals/page.tsx index b9e34a53aec..7a895f20a84 100644 --- a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/proposals/page.tsx +++ b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/proposals/page.tsx @@ -1,7 +1,7 @@ import { notFound, redirect } from "next/navigation"; -import { ContractProposalsPage } from "../../../../../../contract-ui/tabs/proposals/page"; import { getContractPageParamsInfo } from "../_utils/getContractFromParams"; import { getContractPageMetadata } from "../_utils/getContractPageMetadata"; +import { ContractProposalsPage } from "./ContractProposalsPage"; export default async function Page(props: { params: { diff --git a/apps/dashboard/src/contract-ui/tabs/settings/page.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/ContractSettingsPage.tsx similarity index 100% rename from apps/dashboard/src/contract-ui/tabs/settings/page.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/ContractSettingsPage.tsx diff --git a/apps/dashboard/src/contract-ui/tabs/settings/components/detected-state.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/components/detected-state.tsx similarity index 100% rename from apps/dashboard/src/contract-ui/tabs/settings/components/detected-state.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/components/detected-state.tsx diff --git a/apps/dashboard/src/contract-ui/tabs/settings/components/metadata.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/components/metadata.tsx similarity index 100% rename from apps/dashboard/src/contract-ui/tabs/settings/components/metadata.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/components/metadata.tsx diff --git a/apps/dashboard/src/contract-ui/tabs/settings/components/platform-fees.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/components/platform-fees.tsx similarity index 100% rename from apps/dashboard/src/contract-ui/tabs/settings/components/platform-fees.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/components/platform-fees.tsx diff --git a/apps/dashboard/src/contract-ui/tabs/settings/components/primary-sale.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/components/primary-sale.tsx similarity index 100% rename from apps/dashboard/src/contract-ui/tabs/settings/components/primary-sale.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/components/primary-sale.tsx diff --git a/apps/dashboard/src/contract-ui/tabs/settings/components/royalties.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/components/royalties.tsx similarity index 100% rename from apps/dashboard/src/contract-ui/tabs/settings/components/royalties.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/components/royalties.tsx diff --git a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/page.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/page.tsx index e85c0ab9441..19efe679e02 100644 --- a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/page.tsx +++ b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/page.tsx @@ -1,8 +1,8 @@ import { notFound } from "next/navigation"; import * as CommonExt from "thirdweb/extensions/common"; -import { ContractSettingsPage } from "../../../../../../contract-ui/tabs/settings/page"; import { getContractPageParamsInfo } from "../_utils/getContractFromParams"; import { getContractPageMetadata } from "../_utils/getContractPageMetadata"; +import { ContractSettingsPage } from "./ContractSettingsPage"; export default async function Page(props: { params: { diff --git a/apps/dashboard/src/contract-ui/tabs/split/page.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/split/ContractSplitPage.tsx similarity index 99% rename from apps/dashboard/src/contract-ui/tabs/split/page.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/split/ContractSplitPage.tsx index af5d4860487..1cc9f1bb03f 100644 --- a/apps/dashboard/src/contract-ui/tabs/split/page.tsx +++ b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/split/ContractSplitPage.tsx @@ -9,6 +9,7 @@ import { StatLabel, StatNumber, } from "@chakra-ui/react"; +import { useAllChainsData } from "hooks/chains/allChains"; import { useMemo } from "react"; import { type ThirdwebContract, @@ -24,7 +25,6 @@ import { } from "thirdweb/react"; import { Card, Heading, Text } from "tw-components"; import { shortenIfAddress } from "utils/usedapp-external"; -import { useAllChainsData } from "../../../hooks/chains/allChains"; import { DistributeButton } from "./components/distribute-button"; export type Balance = { diff --git a/apps/dashboard/src/contract-ui/tabs/split/components/distribute-button.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/split/components/distribute-button.tsx similarity index 98% rename from apps/dashboard/src/contract-ui/tabs/split/components/distribute-button.tsx rename to apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/split/components/distribute-button.tsx index 67aa00a07d3..76e576e472f 100644 --- a/apps/dashboard/src/contract-ui/tabs/split/components/distribute-button.tsx +++ b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/split/components/distribute-button.tsx @@ -8,7 +8,7 @@ import { useTxNotifications } from "hooks/useTxNotifications"; import { useMemo } from "react"; import type { ThirdwebContract } from "thirdweb"; import { Button } from "tw-components"; -import type { Balance } from "../page"; +import type { Balance } from "../ContractSplitPage"; interface DistributeButtonProps { contract: ThirdwebContract; diff --git a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/split/page.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/split/page.tsx index 5450d9b39bc..95e68990b0d 100644 --- a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/split/page.tsx +++ b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/split/page.tsx @@ -1,7 +1,7 @@ import { notFound, redirect } from "next/navigation"; -import { ContractSplitPage } from "../../../../../../contract-ui/tabs/split/page"; import { getContractPageParamsInfo } from "../_utils/getContractFromParams"; import { getContractPageMetadata } from "../_utils/getContractPageMetadata"; +import { ContractSplitPage } from "./ContractSplitPage"; export default async function Page(props: { params: {