<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Mobile Chat Demo</title>
    <style>
      body {
        margin: 0;
        padding: 0;
        height: 100vh;
        font-family:
          -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;
      }
    </style>
    <script type="module">
      import "../mobile-chat.js";

      const chatElement = document.querySelector("mobile-chat");

      // Simulate multiple messages to test scroll behavior
      const messages = [
        {
          id: "1",
          type: "user",
          content: "Hello, I need help with setting up a project.",
          timestamp: new Date().toISOString(),
        },
        {
          id: "2",
          type: "agent",
          content:
            "Hello! I'd be happy to help you set up a project. What kind of project are you working on?",
          timestamp: new Date().toISOString(),
        },
        {
          id: "3",
          type: "user",
          content:
            "I'm trying to build a web application using React and TypeScript.",
          timestamp: new Date().toISOString(),
        },
        {
          id: "4",
          type: "agent",
          content:
            "Great choice! React with TypeScript is a powerful combination. Let me help you get started. First, we'll need to set up the project structure. Here are the steps:\n\n1. Create a new React app with TypeScript template\n2. Install additional dependencies\n3. Set up the folder structure\n4. Configure the development environment\n\nWould you like me to walk you through each step?",
          timestamp: new Date().toISOString(),
        },
        {
          id: "5",
          type: "user",
          content:
            "Yes, please walk me through each step. I want to make sure I understand everything.",
          timestamp: new Date().toISOString(),
        },
        {
          id: "6",
          type: "agent",
          content:
            "Perfect! Let's start with step 1:\n\n**Step 1: Create a new React app with TypeScript template**\n\nOpen your terminal and run:\n```bash\nnpx create-react-app my-app --template typescript\ncd my-app\n```\n\nThis will create a new React application with TypeScript already configured. The `--template typescript` flag tells Create React App to set up TypeScript for you automatically.",
          timestamp: new Date().toISOString(),
        },
        {
          id: "7",
          type: "user",
          content:
            "Okay, I ran that command and it created the project. What's next?",
          timestamp: new Date().toISOString(),
        },
        {
          id: "8",
          type: "agent",
          content:
            "Excellent! Now let's move to step 2:\n\n**Step 2: Install additional dependencies**\n\nYou might want to install some commonly used packages. Here are some recommendations:\n\n```bash\n# For routing\nnpm install react-router-dom\nnpm install @types/react-router-dom\n\n# For styling (choose one)\nnpm install styled-components  # or\nnpm install @mui/material\n\n# For state management (if needed)\nnpm install redux @reduxjs/toolkit react-redux\n```\n\nWhich of these sound useful for your project?",
          timestamp: new Date().toISOString(),
        },
        {
          id: "9",
          type: "user",
          content:
            "I think I'll need routing and probably Material-UI for styling. Should I install both?",
          timestamp: new Date().toISOString(),
        },
        {
          id: "10",
          type: "agent",
          content:
            "Absolutely! React Router and Material-UI work great together. Run these commands:\n\n```bash\nnpm install react-router-dom @types/react-router-dom\nnpm install @mui/material @emotion/react @emotion/styled\nnpm install @mui/icons-material\n```\n\nMaterial-UI (now called MUI) requires @emotion packages for styling, and the icons package gives you access to thousands of Material Design icons.",
          timestamp: new Date().toISOString(),
        },
      ];

      setTimeout(() => {
        chatElement.messages = messages;
      }, 100);
    </script>
  </head>
  <body>
    <mobile-chat style="height: 100vh; display: block"></mobile-chat>
  </body>
</html>
