'use client' import { useState, useEffect } from 'react' import Link from 'next/link' import { ArrowLeft, Share2 } from 'lucide-react' import PermissionBadge from './PermissionBadge' import ShareListModal from './ShareListModal' interface ListHeaderProps { listId: string listTitle: string listColor: string completedCount: number totalCount: number permission: 'owner' | 'editor' | 'viewer' canShare: boolean ownerId: string ownerName: string | null | undefined ownerEmail: string collaborators: Array<{ id: string permission: 'editor' | 'viewer' user: { id: string name: string | null email: string } }> } export default function ListHeader({ listId, listTitle, listColor, completedCount, totalCount, permission, canShare, ownerId, ownerName, ownerEmail, collaborators }: ListHeaderProps) { const [mounted, setMounted] = useState(false) const [isShareModalOpen, setIsShareModalOpen] = useState(false) useEffect(() => { setMounted(true) }, []) return ( <>
Back to Lists

{listTitle}

{mounted && (
{canShare && ( )}
)}

{completedCount} of {totalCount} tasks completed

{mounted && ( setIsShareModalOpen(false)} listId={listId} listTitle={listTitle} isOwner={permission === 'owner'} ownerId={ownerId} ownerName={ownerName} ownerEmail={ownerEmail} initialCollaborators={collaborators} /> )} ) }