default layuout

This commit is contained in:
pradeepkumar
2026-01-11 21:30:57 +05:30
parent c8d414ccd6
commit 500c8b6e5d
6 changed files with 581 additions and 80 deletions

View File

@@ -0,0 +1,147 @@
'use client';
import { useSession } from 'next-auth/react';
export default function AgentDashboard() {
const { data: session } = useSession();
return (
<div className="space-y-6">
{/* Welcome Section */}
<div className="bg-white rounded-[20px] shadow-lg p-8">
<h1 className="text-3xl font-bold text-[#00293d] mb-2">
Welcome back, {session?.user?.name?.split(' ')[0] || 'Agent'}!
</h1>
<p className="text-[#00293d]/70">
Here's an overview of your real estate business today.
</p>
</div>
{/* Stats Grid */}
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
<div className="bg-white rounded-[20px] shadow-lg p-6">
<div className="flex items-center justify-between mb-4">
<div className="w-12 h-12 bg-[#00293d] rounded-full flex items-center justify-center">
<svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4" />
</svg>
</div>
</div>
<p className="text-2xl font-bold text-[#00293d]">12</p>
<p className="text-sm text-[#00293d]/70">Active Listings</p>
</div>
<div className="bg-white rounded-[20px] shadow-lg p-6">
<div className="flex items-center justify-between mb-4">
<div className="w-12 h-12 bg-[#e58625] rounded-full flex items-center justify-center">
<svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z" />
</svg>
</div>
</div>
<p className="text-2xl font-bold text-[#00293d]">48</p>
<p className="text-sm text-[#00293d]/70">Total Clients</p>
</div>
<div className="bg-white rounded-[20px] shadow-lg p-6">
<div className="flex items-center justify-between mb-4">
<div className="w-12 h-12 bg-[#5ba4a4] rounded-full flex items-center justify-center">
<svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" />
</svg>
</div>
</div>
<p className="text-2xl font-bold text-[#00293d]">5</p>
<p className="text-sm text-[#00293d]/70">Upcoming Appointments</p>
</div>
<div className="bg-white rounded-[20px] shadow-lg p-6">
<div className="flex items-center justify-between mb-4">
<div className="w-12 h-12 bg-[#00293d] rounded-full flex items-center justify-center">
<svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z" />
</svg>
</div>
</div>
<p className="text-2xl font-bold text-[#00293d]">8</p>
<p className="text-sm text-[#00293d]/70">Unread Messages</p>
</div>
</div>
{/* Quick Actions */}
<div className="bg-white rounded-[20px] shadow-lg p-8">
<h2 className="text-xl font-bold text-[#00293d] mb-6">Quick Actions</h2>
<div className="grid grid-cols-1 md:grid-cols-3 gap-4">
<button className="flex items-center gap-3 p-4 bg-[#f0f5fc] rounded-lg hover:bg-[#e0e8f5] transition-colors">
<div className="w-10 h-10 bg-[#00293d] rounded-full flex items-center justify-center">
<svg className="w-5 h-5 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 4v16m8-8H4" />
</svg>
</div>
<span className="font-medium text-[#00293d]">Add New Property</span>
</button>
<button className="flex items-center gap-3 p-4 bg-[#f0f5fc] rounded-lg hover:bg-[#e0e8f5] transition-colors">
<div className="w-10 h-10 bg-[#e58625] rounded-full flex items-center justify-center">
<svg className="w-5 h-5 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M18 9v3m0 0v3m0-3h3m-3 0h-3m-2-5a4 4 0 11-8 0 4 4 0 018 0zM3 20a6 6 0 0112 0v1H3v-1z" />
</svg>
</div>
<span className="font-medium text-[#00293d]">Add New Client</span>
</button>
<button className="flex items-center gap-3 p-4 bg-[#f0f5fc] rounded-lg hover:bg-[#e0e8f5] transition-colors">
<div className="w-10 h-10 bg-[#5ba4a4] rounded-full flex items-center justify-center">
<svg className="w-5 h-5 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
</div>
<span className="font-medium text-[#00293d]">Schedule Appointment</span>
</button>
</div>
</div>
{/* Recent Activity */}
<div className="bg-white rounded-[20px] shadow-lg p-8">
<h2 className="text-xl font-bold text-[#00293d] mb-6">Recent Activity</h2>
<div className="space-y-4">
<div className="flex items-center gap-4 p-4 bg-[#f0f5fc] rounded-lg">
<div className="w-10 h-10 bg-green-100 rounded-full flex items-center justify-center">
<svg className="w-5 h-5 text-green-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M5 13l4 4L19 7" />
</svg>
</div>
<div className="flex-1">
<p className="font-medium text-[#00293d]">New inquiry for 123 Main Street</p>
<p className="text-sm text-[#00293d]/70">2 hours ago</p>
</div>
</div>
<div className="flex items-center gap-4 p-4 bg-[#f0f5fc] rounded-lg">
<div className="w-10 h-10 bg-blue-100 rounded-full flex items-center justify-center">
<svg className="w-5 h-5 text-blue-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" />
</svg>
</div>
<div className="flex-1">
<p className="font-medium text-[#00293d]">Appointment scheduled with John Doe</p>
<p className="text-sm text-[#00293d]/70">5 hours ago</p>
</div>
</div>
<div className="flex items-center gap-4 p-4 bg-[#f0f5fc] rounded-lg">
<div className="w-10 h-10 bg-orange-100 rounded-full flex items-center justify-center">
<svg className="w-5 h-5 text-orange-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9" />
</svg>
</div>
<div className="flex-1">
<p className="font-medium text-[#00293d]">Property price updated: 456 Oak Avenue</p>
<p className="text-sm text-[#00293d]/70">Yesterday</p>
</div>
</div>
</div>
</div>
</div>
);
}