import { useEffect, useRef } from 'react' import MessageBubble from './MessageBubble.jsx' const FEATURE_CARDS = [ { icon: '📄', title: 'PDF সারসংক্ষেপ', desc: 'যেকোনো বাংলা PDF আপলোড করুন এবং AI-চালিত সারসংক্ষেপ পান।', prompt: 'একটি বাংলা PDF আপলোড করে সারসংক্ষেপ তৈরি করুন।', }, { icon: '🎙️', title: 'কণ্ঠস্বর ইনপুট', desc: 'বাংলায় কথা বলুন — Whisper AI আপনার কণ্ঠস্বর লেখায় রূপান্তরিত করবে।', prompt: 'মাইক্রোফোন বোতাম ব্যবহার করে বাংলায় কথা বলুন।', }, { icon: '❓', title: 'প্রশ্নোত্তর (QA)', desc: 'নথি আপলোডের পরে সারসংক্ষেপ থেকে যেকোনো প্রশ্ন করুন।', prompt: 'নথির মূল বিষয় কী?', }, ] export default function ChatWindow({ messages, isLoading, loadingStep, onCardClick }) { const bottomRef = useRef(null) useEffect(() => { bottomRef.current?.scrollIntoView({ behavior: 'smooth' }) }, [messages, isLoading]) const isEmpty = messages.length === 0 return (
{isEmpty ? ( /* ── Welcome Screen ─────────────────────────── */

স্বাগতম — BanglaSumQA

বাংলা নথি বিশ্লেষণ, সারসংক্ষেপ ও প্রশ্নোত্তরের AI সহকারী

Bangla AI Summarization & Question Answering

{FEATURE_CARDS.map((card, i) => (
onCardClick(card.prompt)} role="button" tabIndex={0} id={`welcome-card-${i}`} onKeyDown={e => e.key === 'Enter' && onCardClick(card.prompt)} > {card.icon}
{card.title}
{card.desc}
))}
📎 নিচের ক্লিপ বোতামে PDF যুক্ত করুন 🎙️ মাইক বোতামে কথা বলুন ⌨️ বাংলায় টাইপ করুন
) : ( /* ── Messages List ──────────────────────────── */
{messages.map(msg => ( ))} {/* Loading indicator when a new bot response is expected but there's no loading message yet */} {isLoading && loadingStep && messages[messages.length - 1]?.role !== 'assistant' && (
প্রক্রিয়া করা হচ্ছে
{loadingStep}
)}
)}
) }