diff --git a/packages/hardhat/hardhat.config.ts b/packages/hardhat/hardhat.config.ts index 78edfc9..306d82a 100644 --- a/packages/hardhat/hardhat.config.ts +++ b/packages/hardhat/hardhat.config.ts @@ -5,11 +5,9 @@ require("@nomiclabs/hardhat-ethers"); require("hardhat-deploy"); require("dotenv").config(); - module.exports = { solidity: "0.8.20", networks: { - sepolia: { url: `${process.env.SEPOLIA_RPC_URL}`, accounts: [`0x${process.env.PRIVATE_KEY}`], diff --git a/packages/hardhat/package.json b/packages/hardhat/package.json index 85d7207..1d2ff3c 100644 --- a/packages/hardhat/package.json +++ b/packages/hardhat/package.json @@ -3,7 +3,7 @@ "version": "0.0.1", "scripts": { "account": "hardhat run scripts/listAccount.ts", - "chain": "hardhat node --network hardhat", + "chain": "hardhat node --network hardhat ", "compile": "hardhat compile", "deploy": "hardhat deploy", "flatten": "hardhat flatten", diff --git a/packages/nextjs/app/(app)/account/page.client.tsx b/packages/nextjs/app/(app)/account/page.client.tsx new file mode 100644 index 0000000..ce4e117 --- /dev/null +++ b/packages/nextjs/app/(app)/account/page.client.tsx @@ -0,0 +1,27 @@ +"use client"; + +import { Address } from "viem"; +import { useAccount, useDisconnect } from "wagmi"; +import { Balance } from "~~/components/scaffold-eth"; +import { AddressQRCodeModal } from "~~/components/scaffold-eth/RainbowKitCustomConnectButton/AddressQRCodeModal"; + +export const AccountPageClient: React.FC = () => { + const { address: connectedAddress } = useAccount(); + const { disconnect } = useDisconnect(); + + return ( +
+ +
+

Account Balance

+ + +
+
+ ); +}; diff --git a/packages/nextjs/app/(app)/account/page.tsx b/packages/nextjs/app/(app)/account/page.tsx new file mode 100644 index 0000000..c301968 --- /dev/null +++ b/packages/nextjs/app/(app)/account/page.tsx @@ -0,0 +1,12 @@ +import { AccountPageClient } from "./page.client"; +import { Metadata } from "next"; + +export const metadata: Metadata = { title: "Account" }; + +export default function AccountPage() { + return ( +
+ +
+ ); +} diff --git a/packages/nextjs/app/(app)/dashboard/page.tsx b/packages/nextjs/app/(app)/dashboard/page.tsx new file mode 100644 index 0000000..9f664bf --- /dev/null +++ b/packages/nextjs/app/(app)/dashboard/page.tsx @@ -0,0 +1,15 @@ +import { Metadata } from "next"; + +export const metadata: Metadata = { + title: "Dashboard", +}; + +export default function DashboardPage() { + return ( +
+
+

Hello world

+
+
+ ); +} diff --git a/packages/nextjs/app/(app)/layout.tsx b/packages/nextjs/app/(app)/layout.tsx new file mode 100644 index 0000000..4b5edee --- /dev/null +++ b/packages/nextjs/app/(app)/layout.tsx @@ -0,0 +1,33 @@ +"use client"; + +import Image from "next/image"; +import Link from "next/link"; +import { normalize } from "viem/ens"; +import { useAccount, useEnsAvatar } from "wagmi"; +import { BlockieAvatar } from "~~/components/scaffold-eth"; + +export default function AppLayout({ children }: { children: React.ReactNode }) { + const { address: connectedAddress } = useAccount(); + const ensAvatarResult = useEnsAvatar({ + name: normalize("wevm.eth"), + }); + + return ( +
+
+ + Stoneproof + + + Stoneproof + +
+ + + +
+
+ {children} +
+ ); +} diff --git a/packages/nextjs/app/(app)/onboarding/page.tsx b/packages/nextjs/app/(app)/onboarding/page.tsx new file mode 100644 index 0000000..c808a03 --- /dev/null +++ b/packages/nextjs/app/(app)/onboarding/page.tsx @@ -0,0 +1,13 @@ +import { Metadata } from "next"; + +export const metadata: Metadata = { + title: "Welcome abroad!", +}; + +export default function OnBoadingPage() { + return ( +
+

Hello world

+
+ ); +} diff --git a/packages/nextjs/app/(marketing)/layout.tsx b/packages/nextjs/app/(marketing)/layout.tsx index 7577624..12ffc69 100644 --- a/packages/nextjs/app/(marketing)/layout.tsx +++ b/packages/nextjs/app/(marketing)/layout.tsx @@ -1,6 +1,20 @@ +"use client"; + +import { useEffect } from "react"; +import { useRouter } from "next/navigation"; +import { useAccount } from "wagmi"; import { MarketingLayout } from "~~/components/layout"; export default function MarketingRootLayout({ children }: { children: React.ReactNode }) { + const { address: connectedAddress } = useAccount(); + const { replace } = useRouter(); + + useEffect(() => { + if (connectedAddress) { + replace("/dashboard"); + } + }, [replace, connectedAddress]); + return (
{children}
diff --git a/packages/nextjs/components/dashboard/ClaimRoleCard.tsx b/packages/nextjs/components/dashboard/ClaimRoleCard.tsx new file mode 100644 index 0000000..e1e6162 --- /dev/null +++ b/packages/nextjs/components/dashboard/ClaimRoleCard.tsx @@ -0,0 +1,33 @@ +"use client"; + +import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../ui/select"; + +const roles = [ + { label: "Refiner", role: "REFINER" }, + { label: "Miner", role: "MINER" }, + { label: "Transporter", role: "TRANSPORTER" }, + { label: "Auditor", role: "AUDITOR" }, + { label: "Inspector", role: "Inspector" }, +]; + +export const ClaimRoleCard: React.FC = () => { + return ( +
+

Congluations!

+

+ Claim a role that will be used to identify you in Stoneproof platform. +

+ + +
+ ); +}; diff --git a/packages/nextjs/components/scaffold-eth/RainbowKitCustomConnectButton/AddressQRCodeModal.tsx b/packages/nextjs/components/scaffold-eth/RainbowKitCustomConnectButton/AddressQRCodeModal.tsx index a46356b..7d8cbe6 100644 --- a/packages/nextjs/components/scaffold-eth/RainbowKitCustomConnectButton/AddressQRCodeModal.tsx +++ b/packages/nextjs/components/scaffold-eth/RainbowKitCustomConnectButton/AddressQRCodeModal.tsx @@ -11,14 +11,8 @@ export const AddressQRCodeModal = ({ address, modalId }: AddressQRCodeModalProps return ( <>
-