"use client";

import { ConversationItem } from "./ConversationItem";
import type { SessionSummary } from "@/lib/sessions";

interface ConversationGroupProps {
  label: string;
  sessions: SessionSummary[];
  activeSessionId: string | null;
  onSelect: (id: string) => void;
  onDelete: (id: string) => void;
  isFirst?: boolean;
}

export function ConversationGroup({
  label,
  sessions,
  activeSessionId,
  onSelect,
  onDelete,
  isFirst,
}: ConversationGroupProps) {
  if (sessions.length === 0) return null;

  return (
    <div className="mb-1">
      {!isFirst && (
        <hr className="border-rp-border/10 my-2 mx-3" />
      )}
      <div className="px-3 py-1 text-r-2xs font-medium uppercase tracking-wider text-rp-faint">
        {label}
      </div>
      <div className="space-y-px">
        {sessions.map((s) => (
          <ConversationItem
            key={s.id}
            id={s.id}
            title={s.title}
            isActive={s.id === activeSessionId}
            onClick={() => onSelect(s.id)}
            onDelete={() => onDelete(s.id)}
          />
        ))}
      </div>
    </div>
  );
}
