diff --git a/app/(dashboard)/calendar/page.tsx b/app/(dashboard)/calendar/page.tsx index 1923660..dccca00 100644 --- a/app/(dashboard)/calendar/page.tsx +++ b/app/(dashboard)/calendar/page.tsx @@ -1,16 +1,214 @@ +"use client"; + +import { ChevronLeft, ChevronRight, Plus, Search, Calendar as CalendarIcon, Clock, Filter, MoreHorizontal, Brain } from "lucide-react"; + +// 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"]; + +// Generates a mock calendar grid for a 30-day month starting on a Tuesday +const generateCalendarDays = () => { + const days = []; + // 1 empty slot for Monday before the 1st + 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 }); + } + // Fill the rest of the grid (35 total cells for a 5-week view) + 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 calendarDays = generateCalendarDays(); + return ( -
- Günlük, haftalık ve aylık programınızı yönetin. -
++ Based on your energy trends, I suggest moving the UI Review to Thursday afternoon. +
+ +