import { GenericPageData } from '../../pageInterface';
import { LuMessageSquare } from 'react-icons/lu';
import { IoMdSend } from 'react-icons/io';
import { MdStop } from 'react-icons/md';
import { createChatbotHook } from '../../../../hooks/useChatbot';

export const chatbotPageData: GenericPageData = {
    id: 'start-chatbot',
    path: 'start/chatbot',
    name: 'Chatbot',
    description: 'Simple chatbot interface for conversations',
    
    // Parent page
    parentPath: 'start',
    
    // Visual
    icon: LuMessageSquare,
    title: 'Chatbot',
    subtitle: 'Chat with AI assistant',
    
    // No header buttons (simpler than dashboard)
    headerButtons: [],
    
    // Content sections
    content: [
        {
            id: 'chatbot-history',
            type: 'chatHistory',
            chatHistoryConfig: {
                emptyMessage: 'No chat history yet. Start a conversation to see it here.'
            }
        },
        {
            id: 'chatbot-messages',
            type: 'messages',
            messagesConfig: {
                variant: 'chat',
                showDocuments: true,
                showMetadata: false,
                showProgress: false,
                emptyMessage: 'No messages yet. Start a conversation to see messages here.'
            }
        },
        {
            id: 'chatbot-input',
            type: 'inputForm',
            inputFormConfig: {
                hookFactory: createChatbotHook,
                placeholder: 'Type your message here...',
                buttonLabel: 'Send',
                stopButtonLabel: 'Stop',
                buttonIcon: IoMdSend,
                stopButtonIcon: MdStop,
                buttonVariant: 'primary',
                stopButtonVariant: 'danger',
                buttonSize: 'md',
                textFieldSize: 'md',
                showFileUpload: false
            }
        }
    ],
    
    // Page behavior
    persistent: true,
    preserveState: true,
    preload: true,
    moduleEnabled: true,
    
 
    
    // Lifecycle hooks
    onActivate: async () => {
        if (import.meta.env.DEV) console.log('Chatbot activated - state preserved');
    },
    onDeactivate: async () => {
        if (import.meta.env.DEV) console.log('Chatbot deactivated - keeping state');
    }
};

