);
}
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(general)/import/EngineImportPage.stories.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(general)/import/EngineImportPage.stories.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(general)/import/EngineImportPage.stories.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(general)/import/EngineImportPage.stories.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(general)/import/EngineImportPage.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(general)/import/EngineImportPage.tsx
similarity index 97%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(general)/import/EngineImportPage.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(general)/import/EngineImportPage.tsx
index ea9f330bc2b..7854d32fc98 100644
--- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(general)/import/EngineImportPage.tsx
+++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(general)/import/EngineImportPage.tsx
@@ -55,6 +55,7 @@ async function importEngine({
export function EngineImportCard(props: {
prefillImportUrl: string | undefined;
teamSlug: string;
+ projectSlug: string;
}) {
const router = useDashboardRouter();
@@ -63,7 +64,9 @@ export function EngineImportCard(props: {
prefillImportUrl={props.prefillImportUrl}
importEngine={async (params) => {
await importEngine({ ...params, teamIdOrSlug: props.teamSlug });
- router.push(`/team/${props.teamSlug}/~/engine`);
+ router.push(
+ `/team/${props.teamSlug}/${props.projectSlug}/engine/dedicated`,
+ );
}}
/>
);
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(general)/import/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(general)/import/page.tsx
similarity index 85%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(general)/import/page.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(general)/import/page.tsx
index 89d16708101..bc9b371bdde 100644
--- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(general)/import/page.tsx
+++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(general)/import/page.tsx
@@ -1,7 +1,7 @@
import { EngineImportCard } from "./EngineImportPage";
export default async function Page(props: {
- params: Promise<{ team_slug: string }>;
+ params: Promise<{ team_slug: string; project_slug: string }>;
searchParams: Promise<{
importUrl?: string | string[];
}>;
@@ -21,6 +21,7 @@ export default async function Page(props: {
);
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(general)/layout.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(general)/layout.tsx
similarity index 72%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(general)/layout.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(general)/layout.tsx
index 18f0eebd25e..645756a5376 100644
--- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(general)/layout.tsx
+++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(general)/layout.tsx
@@ -3,18 +3,20 @@ import { SidebarLayout } from "@/components/blocks/SidebarLayout";
import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert";
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
-import { CloudIcon } from "lucide-react";
+import { DatabaseIcon } from "lucide-react";
import Link from "next/link";
+import { EngineIcon } from "../../../../../../(dashboard)/(chain)/components/server/icons/EngineIcon";
import { ImportEngineLink } from "./_components";
export default async function Layout(props: {
params: Promise<{
team_slug: string;
+ project_slug: string;
}>;
children: React.ReactNode;
}) {
const params = await props.params;
- const linkPrefix = `/team/${params.team_slug}/~/engine`;
+ const linkPrefix = `/team/${params.team_slug}/${params.project_slug}/engine/dedicated`;
const sidebarLinks: SidebarLink[] = [
{
label: "Engine Instances",
@@ -28,18 +30,22 @@ export default async function Layout(props: {
];
return (
-
+
{/* header */}
- Engines Legacy
+ Engine{" "}
+
+ Dedicated
+
- {/* TODO (cloud): add link to Engine Cloud blog post */}
- The latest version of Engine has moved inside projects. Your
- legacy engines will remain available here.
+ Manage your deployed Engine instances
@@ -51,7 +57,10 @@ export default async function Layout(props: {
Create backend wallets on the{" "}
Overview
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/configuration/components/ip-allowlist.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/configuration/components/ip-allowlist.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/configuration/components/ip-allowlist.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/configuration/components/ip-allowlist.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/configuration/components/kms-aws-config.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/configuration/components/kms-aws-config.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/configuration/components/kms-aws-config.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/configuration/components/kms-aws-config.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/configuration/components/kms-gcp-config.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/configuration/components/kms-gcp-config.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/configuration/components/kms-gcp-config.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/configuration/components/kms-gcp-config.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/configuration/components/local-config.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/configuration/components/local-config.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/configuration/components/local-config.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/configuration/components/local-config.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/configuration/components/system.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/configuration/components/system.tsx
similarity index 84%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/configuration/components/system.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/configuration/components/system.tsx
index b348ce335ac..64705289f15 100644
--- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/configuration/components/system.tsx
+++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/configuration/components/system.tsx
@@ -7,14 +7,20 @@ import {
interface EngineSystemProps {
instance: EngineInstance;
teamIdOrSlug: string;
+ projectSlug: string;
}
export const EngineSystem: React.FC = ({
instance,
teamIdOrSlug,
+ projectSlug,
}) => {
const healthQuery = useEngineSystemHealth(instance.url);
- const metricsQuery = useEngineSystemMetrics(instance.id, teamIdOrSlug);
+ const metricsQuery = useEngineSystemMetrics(
+ instance.id,
+ teamIdOrSlug,
+ projectSlug,
+ );
if (!healthQuery.data) {
return null;
}
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/configuration/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/configuration/page.tsx
similarity index 88%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/configuration/page.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/configuration/page.tsx
index 4480cb06e27..5d36e68e08b 100644
--- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/configuration/page.tsx
+++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/configuration/page.tsx
@@ -7,12 +7,14 @@ export default async function Page(props: EngineInstancePageProps) {
const { instance, authToken } = await engineInstancePageHandler({
engineId: params.engineId,
teamSlug: params.team_slug,
+ projectSlug: params.project_slug,
});
return (
);
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/contract-subscriptions/components/add-contract-subscription-button.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/contract-subscriptions/components/add-contract-subscription-button.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/contract-subscriptions/components/add-contract-subscription-button.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/contract-subscriptions/components/add-contract-subscription-button.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/contract-subscriptions/components/contract-subscriptions-table.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/contract-subscriptions/components/contract-subscriptions-table.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/contract-subscriptions/components/contract-subscriptions-table.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/contract-subscriptions/components/contract-subscriptions-table.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/contract-subscriptions/components/engine-contract-subscription.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/contract-subscriptions/components/engine-contract-subscription.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/contract-subscriptions/components/engine-contract-subscription.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/contract-subscriptions/components/engine-contract-subscription.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/contract-subscriptions/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/contract-subscriptions/page.tsx
similarity index 94%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/contract-subscriptions/page.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/contract-subscriptions/page.tsx
index 0e41b54826c..a7bbc8a3d67 100644
--- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/contract-subscriptions/page.tsx
+++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/contract-subscriptions/page.tsx
@@ -7,6 +7,7 @@ export default async function Page(props: EngineInstancePageProps) {
const { instance, authToken } = await engineInstancePageHandler({
engineId: params.engineId,
teamSlug: params.team_slug,
+ projectSlug: params.project_slug,
});
return (
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/explorer/components/engine-explorer.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/explorer/components/engine-explorer.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/explorer/components/engine-explorer.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/explorer/components/engine-explorer.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/explorer/components/swagger-ui.css b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/explorer/components/swagger-ui.css
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/explorer/components/swagger-ui.css
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/explorer/components/swagger-ui.css
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/explorer/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/explorer/page.tsx
similarity index 93%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/explorer/page.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/explorer/page.tsx
index 691b755db0f..4f265324ab9 100644
--- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/explorer/page.tsx
+++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/explorer/page.tsx
@@ -7,6 +7,7 @@ export default async function Page(props: EngineInstancePageProps) {
const { instance, authToken } = await engineInstancePageHandler({
engineId: params.engineId,
teamSlug: params.team_slug,
+ projectSlug: params.project_slug,
});
return ;
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/layout.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/layout.tsx
similarity index 91%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/layout.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/layout.tsx
index 99850d1ad6d..6ed59afe4ce 100644
--- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/layout.tsx
+++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/layout.tsx
@@ -20,6 +20,7 @@ import { EngineVersionBadge } from "./_components/version";
export default async function Layout(props: {
params: Promise<{
team_slug: string;
+ project_slug: string;
engineId: string;
}>;
children: React.ReactNode;
@@ -29,7 +30,9 @@ export default async function Layout(props: {
const authToken = await getAuthToken();
if (!authToken) {
- loginRedirect(`/team/${params.team_slug}/~/engine/${params.engineId}`);
+ loginRedirect(
+ `/team/${params.team_slug}/${params.project_slug}/engine/dedicated/${params.engineId}`,
+ );
}
const instance = await getEngineInstance({
@@ -39,13 +42,14 @@ export default async function Layout(props: {
accountId: account.id,
});
- const engineRootLayoutPath = `/team/${params.team_slug}/~/engine`;
+ const engineRootLayoutPath = `/team/${params.team_slug}/${params.project_slug}/engine/dedicated`;
if (!instance) {
return (
Engine Instance Not Found
@@ -66,9 +70,11 @@ export default async function Layout(props: {
= ({
instance,
teamSlug,
+ projectSlug,
authToken,
}) => {
- const systemMetricsQuery = useEngineSystemMetrics(instance.id, teamSlug);
+ const systemMetricsQuery = useEngineSystemMetrics(
+ instance.id,
+ teamSlug,
+ projectSlug,
+ );
const queueMetricsQuery = useEngineQueueMetrics({
authToken,
instanceUrl: instance.url,
@@ -44,7 +50,7 @@ export const EngineSystemMetrics: React.FC = ({
Upgrade to a{" "}
);
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/overview/components/backend-wallets-table.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/overview/components/backend-wallets-table.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/overview/components/backend-wallets-table.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/overview/components/backend-wallets-table.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/overview/components/create-backend-wallet-button.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/overview/components/create-backend-wallet-button.tsx
similarity index 97%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/overview/components/create-backend-wallet-button.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/overview/components/create-backend-wallet-button.tsx
index 5c5c19764dd..a9383b3a093 100644
--- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/overview/components/create-backend-wallet-button.tsx
+++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/overview/components/create-backend-wallet-button.tsx
@@ -43,12 +43,13 @@ interface CreateBackendWalletButtonProps {
instance: EngineInstance;
walletConfig: WalletConfigResponse;
teamSlug: string;
+ projectSlug: string;
authToken: string;
}
export const CreateBackendWalletButton: React.FC<
CreateBackendWalletButtonProps
-> = ({ instance, walletConfig, teamSlug, authToken }) => {
+> = ({ instance, walletConfig, teamSlug, projectSlug, authToken }) => {
const { isSupported: supportsMultipleWalletTypes } = useHasEngineFeature(
instance.url,
"HETEROGENEOUS_WALLET_TYPES",
@@ -192,7 +193,7 @@ export const CreateBackendWalletButton: React.FC<
Provide your credentials on the{" "}
Configuration
@@ -249,7 +250,7 @@ export const CreateBackendWalletButton: React.FC<
The ID of the Circle credential to use for this
wallet. You can find this in the{" "}
Wallet Credentials
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/overview/components/engine-overview.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/overview/components/engine-overview.tsx
similarity index 93%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/overview/components/engine-overview.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/overview/components/engine-overview.tsx
index 5e53bdd1c20..3a57117e23f 100644
--- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/overview/components/engine-overview.tsx
+++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/overview/components/engine-overview.tsx
@@ -19,12 +19,14 @@ import { TransactionCharts, TransactionsTable } from "./transactions-table";
interface EngineOverviewProps {
instance: EngineInstance;
teamSlug: string;
+ projectSlug: string;
authToken: string;
}
export const EngineOverview: React.FC = ({
instance,
teamSlug,
+ projectSlug,
authToken,
}) => {
const client = useThirdwebClient();
@@ -34,6 +36,7 @@ export const EngineOverview: React.FC = ({
@@ -52,10 +55,11 @@ export const EngineOverview: React.FC = ({
function BackendWalletsSection(props: {
instance: EngineInstance;
teamSlug: string;
+ projectSlug: string;
authToken: string;
client: ThirdwebClient;
}) {
- const { instance, teamSlug, authToken } = props;
+ const { instance, teamSlug, projectSlug, authToken } = props;
const activeWalletChain = useActiveWalletChain();
const [_chainId, setChainId] = useState();
const chainId = _chainId || activeWalletChain?.id || 1;
@@ -85,7 +89,7 @@ function BackendWalletsSection(props: {
Set up other wallet types from the{" "}
Configuration
{" "}
@@ -108,12 +112,14 @@ function BackendWalletsSection(props: {
instance={instance}
walletConfig={walletConfig}
teamSlug={teamSlug}
+ projectSlug={projectSlug}
authToken={authToken}
/>
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/overview/components/import-backend-wallet-button.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/overview/components/import-backend-wallet-button.tsx
similarity index 98%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/overview/components/import-backend-wallet-button.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/overview/components/import-backend-wallet-button.tsx
index cd6f8243187..f1b0a62e3e6 100644
--- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/overview/components/import-backend-wallet-button.tsx
+++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/overview/components/import-backend-wallet-button.tsx
@@ -43,12 +43,13 @@ interface ImportBackendWalletButtonProps {
instance: EngineInstance;
walletConfig: WalletConfigResponse;
teamSlug: string;
+ projectSlug: string;
authToken: string;
}
export const ImportBackendWalletButton: React.FC<
ImportBackendWalletButtonProps
-> = ({ instance, walletConfig, teamSlug, authToken }) => {
+> = ({ instance, walletConfig, teamSlug, projectSlug, authToken }) => {
const { isSupported: supportsMultipleWalletTypes } = useHasEngineFeature(
instance.url,
"HETEROGENEOUS_WALLET_TYPES",
@@ -196,7 +197,7 @@ export const ImportBackendWalletButton: React.FC<
Provide your credentials on the{" "}
Configuration
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/overview/components/transaction-timeline.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/overview/components/transaction-timeline.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/overview/components/transaction-timeline.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/overview/components/transaction-timeline.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/overview/components/transactions-table.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/overview/components/transactions-table.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/overview/components/transactions-table.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/overview/components/transactions-table.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/overview/components/utils.ts b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/overview/components/utils.ts
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/overview/components/utils.ts
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/overview/components/utils.ts
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/page.tsx
similarity index 88%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/page.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/page.tsx
index bd6ec62012c..b3bde12f86a 100644
--- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/page.tsx
+++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/page.tsx
@@ -7,12 +7,14 @@ export default async function Page(props: EngineInstancePageProps) {
const { instance, authToken } = await engineInstancePageHandler({
engineId: params.engineId,
teamSlug: params.team_slug,
+ projectSlug: params.project_slug,
});
return (
);
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/relayers/components/add-relayer-button.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/relayers/components/add-relayer-button.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/relayers/components/add-relayer-button.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/relayers/components/add-relayer-button.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/relayers/components/engine-relayer.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/relayers/components/engine-relayer.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/relayers/components/engine-relayer.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/relayers/components/engine-relayer.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/relayers/components/relayers-table.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/relayers/components/relayers-table.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/relayers/components/relayers-table.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/relayers/components/relayers-table.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/relayers/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/relayers/page.tsx
similarity index 93%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/relayers/page.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/relayers/page.tsx
index 3450919eb7e..c619554fda7 100644
--- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/relayers/page.tsx
+++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/relayers/page.tsx
@@ -7,6 +7,7 @@ export default async function Page(props: EngineInstancePageProps) {
const { instance, authToken } = await engineInstancePageHandler({
engineId: params.engineId,
teamSlug: params.team_slug,
+ projectSlug: params.project_slug,
});
return ;
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/types.ts b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/types.ts
similarity index 81%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/types.ts
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/types.ts
index 5f004e8d3f8..40e7e65acc9 100644
--- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/types.ts
+++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/types.ts
@@ -1,6 +1,7 @@
export type EngineInstancePageProps = {
params: Promise<{
team_slug: string;
+ project_slug: string;
engineId: string;
}>;
};
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/wallet-credentials/components/create-wallet-credential-button.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/wallet-credentials/components/create-wallet-credential-button.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/wallet-credentials/components/create-wallet-credential-button.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/wallet-credentials/components/create-wallet-credential-button.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/wallet-credentials/components/credential-form.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/wallet-credentials/components/credential-form.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/wallet-credentials/components/credential-form.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/wallet-credentials/components/credential-form.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/wallet-credentials/components/credential-type-fields/circle.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/wallet-credentials/components/credential-type-fields/circle.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/wallet-credentials/components/credential-type-fields/circle.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/wallet-credentials/components/credential-type-fields/circle.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/wallet-credentials/components/edit-wallet-credential-button.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/wallet-credentials/components/edit-wallet-credential-button.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/wallet-credentials/components/edit-wallet-credential-button.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/wallet-credentials/components/edit-wallet-credential-button.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/wallet-credentials/components/types.ts b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/wallet-credentials/components/types.ts
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/wallet-credentials/components/types.ts
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/wallet-credentials/components/types.ts
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/wallet-credentials/components/wallet-credentials-table.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/wallet-credentials/components/wallet-credentials-table.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/wallet-credentials/components/wallet-credentials-table.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/wallet-credentials/components/wallet-credentials-table.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/wallet-credentials/components/wallet-credentials.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/wallet-credentials/components/wallet-credentials.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/wallet-credentials/components/wallet-credentials.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/wallet-credentials/components/wallet-credentials.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/wallet-credentials/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/wallet-credentials/page.tsx
similarity index 93%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/wallet-credentials/page.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/wallet-credentials/page.tsx
index 21470354729..6b27e92d629 100644
--- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/wallet-credentials/page.tsx
+++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/wallet-credentials/page.tsx
@@ -7,6 +7,7 @@ export default async function Page(props: EngineInstancePageProps) {
const { instance, authToken } = await engineInstancePageHandler({
engineId: params.engineId,
teamSlug: params.team_slug,
+ projectSlug: params.project_slug,
});
return (
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/webhooks/components/add-webhook-button.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/webhooks/components/add-webhook-button.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/webhooks/components/add-webhook-button.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/webhooks/components/add-webhook-button.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/webhooks/components/engine-webhooks.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/webhooks/components/engine-webhooks.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/webhooks/components/engine-webhooks.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/webhooks/components/engine-webhooks.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/webhooks/components/webhooks-table.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/webhooks/components/webhooks-table.tsx
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/webhooks/components/webhooks-table.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/webhooks/components/webhooks-table.tsx
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/webhooks/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/webhooks/page.tsx
similarity index 93%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/webhooks/page.tsx
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/webhooks/page.tsx
index 4f6faccb348..d7afe756224 100644
--- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/(instance)/[engineId]/webhooks/page.tsx
+++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/(instance)/[engineId]/webhooks/page.tsx
@@ -7,6 +7,7 @@ export default async function Page(props: EngineInstancePageProps) {
const { instance, authToken } = await engineInstancePageHandler({
engineId: params.engineId,
teamSlug: params.team_slug,
+ projectSlug: params.project_slug,
});
return ;
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/_utils/getEngineAccessPermission.ts b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/_utils/getEngineAccessPermission.ts
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/_utils/getEngineAccessPermission.ts
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/_utils/getEngineAccessPermission.ts
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/_utils/getEngineInstance.ts b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/_utils/getEngineInstance.ts
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/_utils/getEngineInstance.ts
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/_utils/getEngineInstance.ts
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/_utils/getEngineInstancePageMeta.ts b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/_utils/getEngineInstancePageMeta.ts
similarity index 86%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/_utils/getEngineInstancePageMeta.ts
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/_utils/getEngineInstancePageMeta.ts
index 5b3a787d2d2..c5221e9bb24 100644
--- a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/_utils/getEngineInstancePageMeta.ts
+++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/_utils/getEngineInstancePageMeta.ts
@@ -6,9 +6,10 @@ import { getEngineInstance } from "./getEngineInstance";
export async function engineInstancePageHandler(params: {
teamSlug: string;
+ projectSlug: string;
engineId: string;
}) {
- const pagePath = `/team/${params.teamSlug}/~/engine/${params.engineId}/access-tokens`;
+ const pagePath = `/team/${params.teamSlug}/${params.projectSlug}/engine/dedicated/${params.engineId}/access-tokens`;
const [authToken, account] = await Promise.all([
getAuthToken(),
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/_utils/getEngineInstances.ts b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/_utils/getEngineInstances.ts
similarity index 100%
rename from apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/engine/_utils/getEngineInstances.ts
rename to apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/dedicated/_utils/getEngineInstances.ts
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/loading.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/loading.tsx
new file mode 100644
index 00000000000..ddbf6bd8ca7
--- /dev/null
+++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/loading.tsx
@@ -0,0 +1,5 @@
+import { GenericLoadingPage } from "@/components/blocks/skeletons/GenericLoadingPage";
+
+export default function Loading() {
+ return ;
+}
diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/page.tsx
index eb332671b6c..3f64aa75892 100644
--- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/page.tsx
+++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/engine/page.tsx
@@ -1,17 +1,7 @@
import { getProject } from "@/api/projects";
-import { getTeamBySlug } from "@/api/team";
-import { THIRDWEB_VAULT_URL } from "@/constants/env";
-import { createVaultClient, listEoas } from "@thirdweb-dev/vault-sdk";
-import { notFound, redirect } from "next/navigation";
+import { redirect } from "next/navigation";
import { getAuthToken } from "../../../../api/lib/getAuthToken";
-import { TransactionsAnalyticsPageContent } from "./analytics/analytics-page";
-import { EngineChecklist } from "./analytics/ftux.client";
-import { TransactionAnalyticsSummary } from "./analytics/summary";
-import {
- type TransactionSummaryData,
- getTransactionAnalyticsSummary,
-} from "./lib/analytics";
-import type { Wallet } from "./server-wallets/wallet-table/types";
+import { getEngineInstances } from "./dedicated/_utils/getEngineInstances";
export default async function TransactionsAnalyticsPage(props: {
params: Promise<{ team_slug: string; project_slug: string }>;
@@ -21,86 +11,39 @@ export default async function TransactionsAnalyticsPage(props: {
interval?: string | string[] | undefined;
}>;
}) {
- const [params, searchParams, authToken] = await Promise.all([
- props.params,
- props.searchParams,
- getAuthToken(),
- ]);
+ const { team_slug, project_slug } = await props.params;
+ const authToken = await getAuthToken();
if (!authToken) {
- notFound();
+ redirect("/team");
}
- const [team, project] = await Promise.all([
- getTeamBySlug(params.team_slug),
- getProject(params.team_slug, params.project_slug),
+ const [project, engineInstances] = await Promise.all([
+ getProject(team_slug, project_slug),
+ getEngineInstances({ authToken, teamIdOrSlug: team_slug }),
]);
- if (!team) {
- redirect("/team");
- }
-
if (!project) {
- redirect(`/team/${params.team_slug}`);
+ redirect(`/team/${team_slug}`);
}
const projectEngineCloudService = project.services.find(
(service) => service.name === "engineCloud",
);
- const vaultClient = await createVaultClient({
- baseUrl: THIRDWEB_VAULT_URL,
- });
-
const managementAccessToken =
projectEngineCloudService?.managementAccessToken;
- const eoas = managementAccessToken
- ? await listEoas({
- client: vaultClient,
- request: {
- auth: {
- accessToken: managementAccessToken,
- },
- options: {},
- },
- })
- : { data: { items: [] }, error: null, success: true };
-
- const wallets = eoas.data?.items as Wallet[] | undefined;
+ // if we have a management access token, redirect to the engine cloud layout
+ if (managementAccessToken) {
+ redirect(`/team/${team_slug}/${project_slug}/engine/cloud`);
+ }
- let initialData: TransactionSummaryData | undefined;
- if (wallets && wallets.length > 0) {
- const summary = await getTransactionAnalyticsSummary({
- teamId: project.teamId,
- clientId: project.publishableKey,
- }).catch(() => undefined);
- initialData = summary;
+ // if we have any legacy engine instances, redirect to the legacy engine layout
+ if (engineInstances.data?.length && engineInstances.data.length > 0) {
+ redirect(`/team/${team_slug}/${project_slug}/engine/dedicated`);
}
- const hasTransactions = initialData ? initialData.totalCount > 0 : false;
- return (
-