Skip to content

Commit 4db83df

Browse files
[Toolbox] Console Redesign simple (#2734)
* simplified design * Add Ethereum Bridge * Site Header and Sidebar * Sidebar icons * Add Shadcn, move temp components to toolbox * functional navbar * flow navigation + import more toolbox tools * more functionality, nit ui * feat: combine evm wallet + evm network switcher, fix: persistent wallet connection * feat: ictt flows * nit: home page links * nit * refactor console wallet * fix: container styling * fix container styling * make site header sticky * update route metadata / breadcrumbs * fix: breadcrumbs * home page navbar * functional login * fix wallet connection on switch account / lock * Rename C/P-Chain bridge dir * Move console component to component folder * Testnet switch fix dark mode * change background and remove border * Render multi step in column * Rename Teleporter to ICM * Move Theme Toggle * rename console menu * rounded top site header * Add context to tools * Add context for Proxy * Rename breadcrumbs mapping file * Fix lint * Add Managed Testnet Nodes * nav image for Console * Fix link * Managed Testnet Nodes Placeholder * Separate Add, remove and change validator weight * Remove unused icons * Fix P-Chain Bridge link * Fix missing css class for proper rendering * Fix spacing * Add context * Add Query L1 Validator Set * Add "Add Collateral" Step to ICTT * optional steps dashed line * Remove unused code * Change navigation order * Add Step names for ICM deployment * Rename ICM Test * Smaller top border in flows --------- Signed-off-by: Martin Eckardt <m.eckardt@outlook.com> Signed-off-by: Owen <owenwahlgren@gmail.com> Co-authored-by: Owen <owenwahlgren@gmail.com>
1 parent 5105b85 commit 4db83df

File tree

83 files changed

+6337
-438
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+6337
-438
lines changed

app/academy/layout.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { DocsLayout, type DocsLayoutProps } from 'fumadocs-ui/layouts/notebook';
22
import type { ReactNode } from 'react';
3-
import { baseOptions, docsMenu, toolsMenu, integrationsMenu } from '@/app/layout.config';
3+
import { baseOptions, docsMenu, consoleMenu, integrationsMenu } from '@/app/layout.config';
44
import { academy } from '@/lib/source';
55
import { AvalancheLogo } from '@/components/navigation/avalanche-logo';
66

@@ -18,8 +18,8 @@ const academyOptions : DocsLayoutProps = {
1818
},
1919
tree: academy.pageTree,
2020
links: [
21+
consoleMenu,
2122
docsMenu,
22-
toolsMenu,
2323
integrationsMenu
2424
],
2525
};

app/console/icm/setup/page.tsx

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
"use client";
2+
3+
import StepFlow, { type StepDefinition } from "../../../../components/console/step-flow";
4+
import ToolboxConsoleWrapper from "../../../../toolbox/src/components/ToolboxConsoleWrapper";
5+
6+
import TeleporterMessenger from "../../../../toolbox/src/toolbox/ICM/TeleporterMessenger";
7+
import TeleporterRegistry from "../../../../toolbox/src/toolbox/ICM/TeleporterRegistry";
8+
import ICMRelayer from "../../../../toolbox/src/toolbox/ICM/ICMRelayer";
9+
10+
export default function Page() {
11+
const steps: StepDefinition[] = [
12+
{
13+
type: "single",
14+
key: "icm-messenger-deployment",
15+
title: "Deploy ICM Messenger",
16+
component: TeleporterMessenger,
17+
},
18+
{
19+
type: "single",
20+
key: "icm-registry-deployment",
21+
title: "Deploy ICM Registry",
22+
component: TeleporterRegistry,
23+
},
24+
{
25+
type: "single",
26+
key: "icm-relayer",
27+
title: "Setup ICM Relayer",
28+
component: ICMRelayer,
29+
},
30+
];
31+
32+
return (
33+
<ToolboxConsoleWrapper>
34+
<StepFlow steps={steps} />
35+
</ToolboxConsoleWrapper>
36+
);
37+
}
38+
39+
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
"use client";
2+
3+
import StepFlow, { type StepDefinition } from "../../../../components/console/step-flow";
4+
import ToolboxConsoleWrapper from "../../../../toolbox/src/components/ToolboxConsoleWrapper";
5+
6+
import DeployICMDemo from "../../../../toolbox/src/toolbox/ICM/DeployICMDemo";
7+
import SendICMMessage from "../../../../toolbox/src/toolbox/ICM/SendICMMessage";
8+
9+
export default function Page() {
10+
const steps: StepDefinition[] = [
11+
{
12+
type: "single",
13+
key: "deploy-icm-demo",
14+
title: "Deploy ICM Demo",
15+
component: DeployICMDemo,
16+
},
17+
{
18+
type: "single",
19+
key: "send-icm-message",
20+
title: "Send ICM Message",
21+
component: SendICMMessage,
22+
},
23+
];
24+
25+
return (
26+
<ToolboxConsoleWrapper>
27+
<StepFlow steps={steps} />
28+
</ToolboxConsoleWrapper>
29+
);
30+
}
31+
32+

app/console/ictt/setup/page.tsx

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
"use client";
2+
3+
import StepFlow, { type StepDefinition } from "../../../../components/console/step-flow";
4+
import ToolboxConsoleWrapper from "../../../../toolbox/src/components/ToolboxConsoleWrapper";
5+
6+
import DeployExampleERC20 from "../../../../toolbox/src/toolbox/ICTT/DeployExampleERC20";
7+
import DeployTokenHome from "../../../../toolbox/src/toolbox/ICTT/DeployTokenHome";
8+
import DeployERC20TokenRemote from "../../../../toolbox/src/toolbox/ICTT/DeployERC20TokenRemote";
9+
import DeployNativeTokenRemote from "../../../../toolbox/src/toolbox/ICTT/DeployNativeTokenRemote";
10+
import RegisterWithHome from "../../../../toolbox/src/toolbox/ICTT/RegisterWithHome";
11+
import AddCollateral from "../../../../toolbox/src/toolbox/ICTT/AddCollateral";
12+
13+
export default function Page() {
14+
const steps: StepDefinition[] = [
15+
{
16+
type: "single",
17+
key: "deploy-test-erc20",
18+
title: "Deploy Test ERC20",
19+
optional: true,
20+
component: DeployExampleERC20,
21+
},
22+
{
23+
type: "single",
24+
key: "deploy-token-home",
25+
title: "Deploy Token Home",
26+
component: DeployTokenHome,
27+
},
28+
{
29+
type: "branch",
30+
key: "deploy-remote",
31+
title: "Deploy Remote",
32+
options: [
33+
{ key: "erc20-remote", label: "Deploy ERC20 Token Remote", component: DeployERC20TokenRemote },
34+
{ key: "native-remote", label: "Deploy Native Token Remote", component: DeployNativeTokenRemote },
35+
],
36+
},
37+
{
38+
type: "single",
39+
key: "register-with-home",
40+
title: "Register With Home",
41+
component: RegisterWithHome,
42+
},
43+
{
44+
type: "single",
45+
key: "add-collateral",
46+
title: "Add Collateral",
47+
component: AddCollateral,
48+
},
49+
];
50+
51+
return (
52+
<ToolboxConsoleWrapper>
53+
<StepFlow steps={steps} />
54+
</ToolboxConsoleWrapper>
55+
);
56+
}
57+
58+
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
"use client";
2+
3+
import StepFlow, { type StepDefinition } from "../../../../components/console/step-flow";
4+
import ToolboxConsoleWrapper from "../../../../toolbox/src/components/ToolboxConsoleWrapper";
5+
6+
import AddCollateral from "../../../../toolbox/src/toolbox/ICTT/AddCollateral";
7+
import TestSend from "../../../../toolbox/src/toolbox/ICTT/TestSend";
8+
9+
export default function Page() {
10+
const steps: StepDefinition[] = [
11+
{ type: "single", key: "add-collateral", title: "Add Collateral", component: AddCollateral },
12+
{ type: "single", key: "test-send", title: "Test Send", component: TestSend },
13+
];
14+
15+
return (
16+
<ToolboxConsoleWrapper>
17+
<StepFlow steps={steps} />
18+
</ToolboxConsoleWrapper>
19+
);
20+
}
21+
22+
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
"use client";
2+
3+
import { lazy } from "react";
4+
5+
const FeeManager = lazy(() =>
6+
import("../../../../toolbox/src/toolbox/Precompiles/FeeManager").then(module => ({
7+
default: module.default
8+
}))
9+
);
10+
11+
12+
export default function Page() {
13+
return (
14+
<FeeManager />
15+
);
16+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
"use client";
2+
3+
import { lazy } from "react";
4+
5+
const NativeMinter = lazy(() =>
6+
import("../../../../toolbox/src/toolbox/Precompiles/NativeMinter").then(module => ({
7+
default: module.default
8+
}))
9+
);
10+
11+
12+
export default function Page() {
13+
return (
14+
<NativeMinter />
15+
);
16+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
"use client";
2+
3+
import { lazy } from "react";
4+
5+
const RewardManager = lazy(() =>
6+
import("../../../../toolbox/src/toolbox/Precompiles/RewardManager").then(module => ({
7+
default: module.default
8+
}))
9+
);
10+
11+
12+
export default function Page() {
13+
return (
14+
<RewardManager />
15+
);
16+
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
"use client";
2+
3+
import StepFlow, { type StepDefinition } from "../../../../components/console/step-flow";
4+
import ToolboxConsoleWrapper from "../../../../toolbox/src/components/ToolboxConsoleWrapper";
5+
import CreateChain from "../../../../toolbox/src/toolbox/L1/CreateChain";
6+
import AvalancheGoDockerL1 from "../../../../toolbox/src/toolbox/Nodes/AvalancheGoDockerL1";
7+
import ConvertToL1 from "../../../../toolbox/src/toolbox/L1/ConvertToL1";
8+
import ManagedTestnetNodes from "@/toolbox/src/toolbox/Nodes/ManagedTestnetNodes";
9+
10+
function ManagedTestnetNodesPlaceholder() {
11+
return (
12+
<div className="p-4 w-full h-96 text-center flex flex-col items-center justify-center rounded-2xl border">
13+
<h2 className="text-3xl font-semibold mb-2">🏗️ Managed Testnet L1 Nodes</h2>
14+
<p className="text-gray-600">This feature is coming soon. Stay tuned!</p>
15+
</div>
16+
);
17+
}
18+
19+
export default function Page() {
20+
const steps: StepDefinition[] = [
21+
{
22+
type: "single",
23+
key: "create-chain",
24+
title: "Create Chain",
25+
description: "Create a Subnet and add a blockchain with custom parameters.",
26+
component: CreateChain,
27+
},
28+
{
29+
type: "branch",
30+
key: "node-setup",
31+
title: "Set Up a Node",
32+
description: "Choose how you want to run your node.",
33+
options: [
34+
{ key: "l1-node-setup", label: "L1 Node Setup with Docker", component: AvalancheGoDockerL1 },
35+
{ key: "managed-testnet-l1-nodes", label: "Managed Testnet L1 Nodes (coming soon)", component: ManagedTestnetNodesPlaceholder },
36+
],
37+
},
38+
{
39+
type: "single",
40+
key: "convert-to-l1",
41+
title: "Convert to L1",
42+
description: "Convert your Subnet to an L1.",
43+
component: ConvertToL1,
44+
},
45+
];
46+
47+
return (
48+
<ToolboxConsoleWrapper>
49+
<StepFlow steps={steps} />
50+
</ToolboxConsoleWrapper>
51+
);
52+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
"use client";
2+
3+
import { lazy } from "react";
4+
5+
const L1ExplorerSetup = lazy(() =>
6+
import("../../../../toolbox/src/toolbox/L1/SelfHostedExplorer").then(module => ({
7+
default: module.default
8+
}))
9+
);
10+
11+
12+
export default function Page() {
13+
return (
14+
<L1ExplorerSetup />
15+
);
16+
}

0 commit comments

Comments
 (0)