"use client"; import { useState } from "react"; import { ChevronLeft, ChevronRight, Plus, Search, Calendar as CalendarIcon, Clock, Filter, MoreHorizontal, Brain, X, Check, ArrowRight } from "lucide-react"; import { motion, AnimatePresence } from "framer-motion"; // Mock Data const categories = [ { name: "Deep Work", color: "bg-[#6C5BB0]" }, { name: "Meetings", color: "bg-orange-500" }, { name: "Project Deadlines", color: "bg-blue-500" }, { name: "Health & Habits", color: "bg-emerald-500" }, ]; const mockEvents = [ { day: 2, title: "Q3 Planning", type: "Meetings", time: "10:00 AM", colorClass: "bg-orange-500/10 text-orange-400 border-orange-500/20" }, { day: 5, title: "Deep Work Session", type: "Deep Work", time: "09:00 AM", colorClass: "bg-[#6C5BB0]/10 text-[#a798e8] border-[#6C5BB0]/20" }, { day: 5, title: "UI Review", type: "Project Deadlines", time: "02:00 PM", colorClass: "bg-blue-500/10 text-blue-400 border-blue-500/20" }, { day: 12, title: "Frontend Deploy", type: "Project Deadlines", time: "11:00 AM", colorClass: "bg-blue-500/10 text-blue-400 border-blue-500/20" }, { day: 15, title: "1:1 with Alex", type: "Meetings", time: "01:30 PM", colorClass: "bg-orange-500/10 text-orange-400 border-orange-500/20" }, { day: 15, title: "Gym", type: "Health & Habits", time: "06:00 PM", colorClass: "bg-emerald-500/10 text-emerald-400 border-emerald-500/20" }, { day: 18, title: "Focus Block", type: "Deep Work", time: "08:00 AM", colorClass: "bg-[#6C5BB0]/10 text-[#a798e8] border-[#6C5BB0]/20" }, { day: 22, title: "Reading", type: "Health & Habits", time: "09:00 PM", colorClass: "bg-emerald-500/10 text-emerald-400 border-emerald-500/20" }, { day: 25, title: "Client Demo", type: "Project Deadlines", time: "03:00 PM", colorClass: "bg-blue-500/10 text-blue-400 border-blue-500/20" }, { day: 28, title: "Retrospective", type: "Meetings", time: "04:00 PM", colorClass: "bg-orange-500/10 text-orange-400 border-orange-500/20" }, ]; const daysOfWeek = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]; const generateCalendarDays = () => { const days = []; days.push({ empty: true, key: "empty-0" }); for (let i = 1; i <= 30; i++) { const events = mockEvents.filter((e) => e.day === i); days.push({ empty: false, day: i, events, isToday: i === 15 }); } const remaining = 35 - days.length; for (let i = 1; i <= remaining; i++) { days.push({ empty: true, key: `empty-end-${i}` }); } return days; }; export default function CalendarPage() { const [selectedDay, setSelectedDay] = useState(null); const [isOptimizing, setIsOptimizing] = useState(false); const calendarDays = generateCalendarDays(); const handleOptimize = () => { setIsOptimizing(true); setTimeout(() => setIsOptimizing(false), 2500); }; return (
{/* Optimization Overlay */} {isOptimizing && (

AI Schedule Optimization

Analyzing energy trends and focus blocks...

)}
{/* Top Header */}

Calendar / Monthly View

{/* Main Content Grid */}
{/* Left Sidebar Panel */}
{/* Mini Calendar Mock */}
May 2026
M
T
W
T
F
S
S
27
{[...Array(30)].map((_, i) => (
{i + 1}
))}
{/* Calendars / Categories */}

My Calendars

{categories.map((cat, idx) => ( ))}
{/* AI Optimizer Card */}

AI Optimizer

Detected focus peak at 10 AM on Thursdays. Suggest moving **UI Review** to maximize alignment.

{/* Main Calendar View */}
{/* Calendar Toolbar */}

May 2026

{/* Calendar Header */}
{daysOfWeek.map((day) => (
{day}
))}
{/* Calendar Grid */}
{calendarDays.map((cell, idx) => ( !cell.empty && setSelectedDay(cell)} className={`bg-[#0A0710] p-2 flex flex-col gap-1 transition-all cursor-pointer relative group ${cell.empty ? 'opacity-30 pointer-events-none' : ''}`} > {!cell.empty && (
{cell.day}
)}
{cell.events?.map((event, eIdx) => ( {event.title} ))}
))}
{/* Quick Entry Sheet */} {selectedDay && ( <> setSelectedDay(null)} className="fixed inset-0 bg-black/60 backdrop-blur-sm z-[100]" />

May {selectedDay.day}, 2026

Daily Schedule Overview

Scheduled Events

{selectedDay.events?.length > 0 ? ( selectedDay.events.map((event: any, idx: number) => (
{event.title}
{event.time} • {event.type}
)) ) : (

No events scheduled for this day.

)}

Quick Add Event

)}
); }