import { Link } from "react-router-dom"; import { Clock, Calendar, Briefcase, TrendingUp } from "lucide-react"; import { useTimeEntries } from "@/hooks/useTimeEntries"; import { ProjectColorDot } from "@/components/ProjectColorDot"; import { StatCard } from "@/components/StatCard"; import { formatDate, formatTime, formatDurationFromDatesHoursMinutes, formatDurationHoursMinutes, calculateDuration, } from "@/utils/dateUtils"; import { startOfDay, endOfDay } from "date-fns"; export function DashboardPage() { const today = new Date(); const { data: todayEntries } = useTimeEntries({ startDate: startOfDay(today).toISOString(), endDate: endOfDay(today).toISOString(), limit: 5, }); const { data: recentEntries } = useTimeEntries({ limit: 10, }); const totalTodaySeconds = todayEntries?.entries.reduce((total, entry) => { return total + calculateDuration(entry.startTime, entry.endTime); }, 0) || 0; return (
Overview of your time tracking activity
No time entries yet. Start tracking time using the timer below.
) : (| Project | Date | Duration |
|---|---|---|
|
{entry.project.name}
{entry.project.client.name}
|
{formatDate(entry.startTime)}
{formatTime(entry.startTime)} – {formatTime(entry.endTime)}
|
{formatDurationFromDatesHoursMinutes(entry.startTime, entry.endTime)} |