diff --git a/app/page.tsx b/app/page.tsx
index f4d19f6..872340d 100644
--- a/app/page.tsx
+++ b/app/page.tsx
@@ -1,11 +1,11 @@
-import { Hero } from '@/components/hero'
-import { Features } from '@/components/features'
-import { HowItWorks } from '@/components/how-it-works'
-import { Benefits } from '@/components/benefits'
-import { Testimonials } from '@/components/testimonials'
-import { CTA } from '@/components/cta'
-import { Footer } from '@/components/footer'
-import { Navbar } from '@/components/navbar'
+import { Hero } from "@/components/hero";
+import { Features } from "@/components/features";
+import { HowItWorks } from "@/components/how-it-works";
+import { Benefits } from "@/components/benefits";
+import { Testimonials } from "@/components/testimonials";
+import { CTA } from "@/components/cta";
+import { Footer } from "@/components/footer";
+import { Navbar } from "@/components/navbar";
export default function Home() {
return (
@@ -19,5 +19,5 @@ export default function Home() {
- )
+ );
}
diff --git a/components/WalletStatus.tsx b/components/WalletStatus.tsx
new file mode 100644
index 0000000..a11f689
--- /dev/null
+++ b/components/WalletStatus.tsx
@@ -0,0 +1,80 @@
+"use client";
+import React from "react";
+
+interface WalletStatusProps {
+ isConnected: boolean;
+ walletAddress?: string;
+ network?: string;
+ onConnect?: () => void;
+ onDisconnect?: () => void;
+}
+
+const truncateAddress = (address: string) => {
+ return `${address.slice(0, 6)}...${address.slice(-4)}`;
+};
+
+export const WalletStatus = ({
+ isConnected,
+ walletAddress,
+ network,
+ onConnect,
+ onDisconnect,
+}: WalletStatusProps) => {
+ return (
+
+ {/* Status Row */}
+
+
+
+
+ {isConnected ? "Connected" : "Disconnected"}
+
+
+
+ {/* Connected State */}
+ {isConnected && walletAddress && (
+ <>
+
+ {truncateAddress(walletAddress)}
+
+
+ {network && (
+
+ {network}
+
+ )}
+ >
+ )}
+
+ {/* Disconnected State */}
+ {!isConnected && (
+
+ )}
+
+ {isConnected && (
+
+ )}
+
+ );
+};
diff --git a/components/navbar.tsx b/components/navbar.tsx
index bbc991e..c9abd58 100644
--- a/components/navbar.tsx
+++ b/components/navbar.tsx
@@ -1,12 +1,36 @@
-'use client'
+"use client";
-import Link from 'next/link'
-import { Button } from '@/components/ui/button'
-import { Menu, X } from 'lucide-react'
-import { useState } from 'react'
+import Link from "next/link";
+import { useState, useRef, useEffect } from "react";
+import { Button } from "@/components/ui/button";
+import { Menu, X } from "lucide-react";
+import { WalletStatus } from "@/components/WalletStatus";
+import { useWallet } from "@/hooks/useWallet";
export function Navbar() {
- const [mobileMenuOpen, setMobileMenuOpen] = useState(false)
+ const [mobileMenuOpen, setMobileMenuOpen] = useState(false);
+
+ const { walletAddress, isConnected, connectWallet, disconnectWallet } = useWallet();
+
+ const [open, setOpen] = useState(false);
+ const popupRef = useRef(null);
+
+ // Close when clicking outside
+ useEffect(() => {
+ function handleClickOutside(event: MouseEvent) {
+ if (
+ popupRef.current &&
+ !popupRef.current.contains(event.target as Node)
+ ) {
+ setOpen(false);
+ }
+ }
+
+ document.addEventListener("mousedown", handleClickOutside);
+ return () => {
+ document.removeEventListener("mousedown", handleClickOutside);
+ };
+ }, []);
return (