"use client"

import { useMemo } from "react"
import { useTimeline, useDateSummary } from "@/hooks/use-timeline"
import { groupByDate } from "@/lib/timeline"
import { PhotoGrid } from "@/components/photo-grid"
import { DateScrubber } from "@/components/date-scrubber"

export default function TimelinePage() {
  const { assets, isLoading, hasMore, loadMore, total } = useTimeline()
  const { data: dateSummary } = useDateSummary()
  const groups = useMemo(() => groupByDate(assets), [assets])

  return (
    <div className="flex flex-col gap-4">
      <div className="flex items-center justify-between">
        <h1 className="text-lg font-semibold">Timeline</h1>
        {total > 0 && (
          <span className="text-sm text-muted-foreground">
            {total} photos
          </span>
        )}
      </div>
      <div className="flex gap-1">
        <PhotoGrid
          groups={groups}
          isLoading={isLoading}
          hasMore={hasMore}
          onLoadMore={() => loadMore()}
        />
        <DateScrubber dates={dateSummary ?? []} />
      </div>
    </div>
  )
}
