This commit is contained in:
2026-04-05 00:43:23 +05:30
commit 8be37d3e92
425 changed files with 101853 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
'use client';
import { WalletButton } from '@/components/wallet/WalletButton';
import { useWalletConnection } from '@/hooks/useWalletConnection';
import { Menu, X } from "lucide-react";
import Link from 'next/link';
import { useState } from 'react';
export function Navbar() {
const { isConnected } = useWalletConnection();
const [mobileMenuOpen, setMobileMenuOpen] = useState(false)
return (
<nav className="fixed top-0 left-0 right-0 z-50 bg-white border-b-2 border-gray-200">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="flex justify-between items-center h-16">
{/* Logo */}
<Link href="/" className="flex items-center gap-2 font-bold text-xl">
<div className="px-2 bg-primary flex items-center justify-center border-2 border-primary">
<span className="text-white text-2xl font-bold">D.M.T.P</span>
</div>
</Link>
{/* Desktop Navigation */}
<div className="hidden md:flex items-center gap-1">
<Link href="/tasks" className="text-sm font-medium px-4 py-2 hover:bg-gray-100 transition-colors text-gray-700 hover:text-primary">
Marketplace
</Link>
<Link href="/dashboard" className="text-sm font-medium px-4 py-2 hover:bg-gray-100 transition-colors text-gray-700 hover:text-primary">
Dashboard
</Link>
<Link href="/profile" className="text-sm font-medium px-4 py-2 hover:bg-gray-100 transition-colors text-gray-700 hover:text-primary">
Profile
</Link>
</div>
{/* Right Actions */}
<div className="flex items-center gap-4">
<div className="hidden sm:inline-flex">
<WalletButton />
</div>
{/* Mobile Menu Button */}
<button className="md:hidden p-2 hover:bg-gray-100 rounded" onClick={() => setMobileMenuOpen(!mobileMenuOpen)}>
{mobileMenuOpen ? <X className="w-5 h-5" /> : <Menu className="w-5 h-5" />}
</button>
</div>
</div>
{/* Mobile Menu */}
{mobileMenuOpen && (
<div className="md:hidden pb-4 space-y-1 border-t border-gray-200 pt-2">
<Link href="/tasks" className="block px-4 py-2 hover:bg-gray-100 font-medium text-gray-700">
Marketplace
</Link>
<Link href="/dashboard" className="block px-4 py-2 hover:bg-gray-100 font-medium text-gray-700">
Dashboard
</Link>
<Link href="/profile" className="block px-4 py-2 hover:bg-gray-100 font-medium text-gray-700">
Profile
</Link>
<div className="px-4 py-2">
<WalletButton />
</div>
</div>
)}
</div>
</nav>
);
}

View File

@@ -0,0 +1,132 @@
"use client"
import { Github, Linkedin, Mail, Twitter } from "lucide-react"
import Link from "next/link"
export function Footer() {
const currentYear = new Date().getFullYear()
return (
<footer className="bg-gray-50 border-t-2 border-gray-200 mt-0">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
<div className="grid grid-cols-1 md:grid-cols-4 gap-8 mb-8">
{/* Brand */}
<div>
<div className="flex items-center gap-2 mb-4">
<div className="w-8 h-8 bg-primary flex items-center justify-center border-2 border-primary">
<span className="text-white text-sm font-bold">C</span>
</div>
<span className="font-bold text-lg text-gray-900">
D.M.T.P
</span>
</div>
<p className="text-gray-600 text-sm">AI-powered microtask marketplace on Celo Sepolia</p>
</div>
{/* Product */}
<div>
<h3 className="font-bold mb-4 text-gray-900">Product</h3>
<ul className="space-y-2 text-sm text-gray-600">
<li>
<Link href="/marketplace" className="hover:text-primary transition-colors">
Marketplace
</Link>
</li>
<li>
<Link href="/dashboard" className="hover:text-primary transition-colors">
Dashboard
</Link>
</li>
<li>
<Link href="#" className="hover:text-primary transition-colors">
Pricing
</Link>
</li>
<li>
<Link href="#" className="hover:text-primary transition-colors">
Features
</Link>
</li>
</ul>
</div>
{/* Company */}
<div>
<h3 className="font-bold mb-4 text-gray-900">Company</h3>
<ul className="space-y-2 text-sm text-gray-600">
<li>
<Link href="#" className="hover:text-primary transition-colors">
About
</Link>
</li>
<li>
<Link href="#" className="hover:text-primary transition-colors">
Blog
</Link>
</li>
<li>
<Link href="#" className="hover:text-primary transition-colors">
Careers
</Link>
</li>
<li>
<Link href="#" className="hover:text-primary transition-colors">
Contact
</Link>
</li>
</ul>
</div>
{/* Social */}
<div>
<h3 className="font-bold mb-4 text-gray-900">Follow Us</h3>
<div className="flex gap-4">
<a
href="#"
className="text-gray-600 hover:text-primary transition-colors"
>
<Twitter className="w-5 h-5" />
</a>
<a
href="#"
className="text-gray-600 hover:text-primary transition-colors"
>
<Github className="w-5 h-5" />
</a>
<a
href="#"
className="text-gray-600 hover:text-primary transition-colors"
>
<Linkedin className="w-5 h-5" />
</a>
<a
href="#"
className="text-gray-600 hover:text-primary transition-colors"
>
<Mail className="w-5 h-5" />
</a>
</div>
</div>
</div>
{/* Divider */}
<div className="border-t-2 border-gray-200 pt-8">
<div className="flex flex-col md:flex-row justify-between items-center text-sm text-gray-600">
<p>&copy; {currentYear} D.M.T.P. All rights reserved.</p>
<div className="flex gap-6 mt-4 md:mt-0">
<Link href="#" className="hover:text-primary transition-colors">
Privacy Policy
</Link>
<Link href="#" className="hover:text-primary transition-colors">
Terms of Service
</Link>
<Link href="#" className="hover:text-primary transition-colors">
Cookie Policy
</Link>
</div>
</div>
</div>
</div>
</footer>
)
}