File size: 1,514 Bytes
7e2d771
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
document.addEventListener('DOMContentLoaded', () => {
    const chatForm = document.getElementById('chat-form');
    const chatMessages = document.getElementById('chat-messages');
    const messageInput = document.getElementById('message-input');
    const comicButton = document.getElementById('comic-button');
    const comicStrip = document.getElementById('comic-strip');

    chatForm.addEventListener('submit', async (e) => {
        e.preventDefault();
        const message = messageInput.value;
        chatMessages.innerHTML += `<p><strong>You:</strong> ${message}</p>`;
        messageInput.value = '';

        const response = await fetch('/chat', {
            method: 'POST',
            headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
            body: `message=${encodeURIComponent(message)}`
        });
        const data = await response.json();
        chatMessages.innerHTML += `<p><strong>Krishna:</strong> ${data.reply}</p>`;
        chatMessages.scrollTop = chatMessages.scrollHeight;

        if (message.toLowerCase().includes('story')) {
            fetchComicStrip();
        }
    });

    comicButton.addEventListener('click', fetchComicStrip);

    async function fetchComicStrip() {
        const response = await fetch('/comic');
        const data = await response.json();
        comicStrip.innerHTML = data.comic_images.map(url => 
            `<img src="${url}" alt="Krishna Comic Panel" style="max-width: 200px; margin: 10px;">`
        ).join('');
    }
});