"use client";
import { useState } from "react";
import { motion } from "framer-motion";
type Booking = {
id: string;
customer: string;
service: string;
date: string;
time: string;
status: "confirmed" | "pending" | "cancelled";
};
type Lead = {
id: string;
name: string;
phone: string;
message: string;
date: string;
status: "new" | "contacted" | "qualified";
};
// Mock data for demo
const mockBookings: Booking[] = [
{ id: "1", customer: "María García", service: "Cita consulta", date: "2026-02-17", time: "10:00", status: "confirmed" },
{ id: "2", customer: "John Smith", service: "Treatment", date: "2026-02-17", time: "14:30", status: "pending" },
{ id: "3", customer: "Carlos Ruiz", service: "Reserva mesa", date: "2026-02-18", time: "20:00", status: "confirmed" },
{ id: "4", customer: "Ana López", service: "Cita estética", date: "2026-02-19", time: "11:00", status: "confirmed" },
{ id: "5", customer: "Pierre Dubois", service: "Booking", date: "2026-02-19", time: "16:00", status: "confirmed" },
];
const mockLeads: Lead[] = [
{ id: "1", name: "María García", phone: "+34 612 345 678", message: "Hola, me gustaría información sobre...", date: "2026-02-16", status: "new" },
{ id: "2", name: "John Smith", phone: "+44 7700 900123", message: "Do you have availability for next week?", date: "2026-02-16", status: "qualified" },
{ id: "3", name: "Carlos Ruiz", phone: "+34 654 987 321", message: "Quiero reservar para 4 personas", date: "2026-02-15", status: "contacted" },
];
export default function DashboardPage() {
const [isLoggedIn, setIsLoggedIn] = useState(false);
const [email, setEmail] = useState("");
const [password, setPassword] = useState("");
const [loginError, setLoginError] = useState("");
const [activeTab, setActiveTab] = useState<"bookings" | "leads" | "analytics">("bookings");
const handleLogin = () => {
if (email === "User" && password === "#SiteMenteUserpass2026") {
setIsLoggedIn(true);
setLoginError("");
} else {
setLoginError("Invalid credentials");
}
};
if (!isLoggedIn) {
return (
🏢
SiteMente
Client Dashboard
setEmail(e.target.value)}
placeholder="User"
className="w-full px-4 py-3 bg-white/10 border border-white/20 rounded-lg text-white placeholder:text-white/30"
/>
setPassword(e.target.value)}
placeholder="••••••••"
className="w-full px-4 py-3 bg-white/10 border border-white/20 rounded-lg text-white placeholder:text-white/30"
/>
{loginError && (
{loginError}
)}
Ask SiteMente to create your dashboard
);
}
const stats = {
totalBookings: mockBookings.length,
confirmed: mockBookings.filter(b => b.status === "confirmed").length,
pending: mockBookings.filter(b => b.status === "pending").length,
totalLeads: mockLeads.length,
newLeads: mockLeads.filter(l => l.status === "new").length,
};
return (
{/* Header */}
{/* Stats */}
{stats.totalBookings}
Total Bookings
{stats.confirmed}
Confirmed
{stats.totalLeads}
Total Leads
{stats.newLeads}
New Leads
{/* Tabs */}
{/* Bookings Tab */}
{activeTab === "bookings" && (
| Customer |
Service |
Date |
Time |
Status |
{mockBookings.map((booking) => (
| {booking.customer} |
{booking.service} |
{booking.date} |
{booking.time} |
{booking.status}
|
))}
)}
{/* Leads Tab */}
{activeTab === "leads" && (
| Name |
Phone |
Message |
Date |
Status |
{mockLeads.map((lead) => (
| {lead.name} |
{lead.phone}
|
{lead.message} |
{lead.date} |
{lead.status}
|
))}
)}
{/* Analytics Tab */}
{activeTab === "analytics" && (
Bookings This Week
{[3, 5, 2, 4, 6, 3, 5].map((h, i) => (
))}
MonTueWedThuFriSatSun
)}
Powered by SiteMente AI • Your AI Employee working 24/7
);
}