Веб-программист. Интегрировать AI-чат в стиле OpenAI ChatGPT в существующий HTML-шаблон (Дистанционная работа)

Бюджет не указан

Задание: Веб-программист. Интегрировать AI-чат в стиле OpenAI ChatGPT в существующий HTML-шаблон (Дистанционная работа)

# Краткое описание задания: Интеграция AI-чата ## Суть задачи Необходимо создать полноценный чат-виджет в стиле OpenAI ChatGPT для сайта по продаже автозапчастей. Виджет должен заменить текущий простой input и обеспечить удобное общение пользователей с AI-консультантом. ## Что нужно сделать ### 1. Верстка компонента - Создать фиксированный виджет чата (правый нижний угол) - Реализовать кнопку открытия/закрытия - Сделать область с историей сообщений - Добавить поле ввода с кнопкой отправки - Стилизовать в стиле ChatGPT (зеленая тема) ### 2. Функционал - Отправка сообщений по Enter или кнопке - Разные стили для сообщений пользователя (справа, зеленые) и AI (слева, белые) - Анимированный индикатор загрузки - Автопрокрутка к последнему сообщению - Сохранение истории в localStorage ### 3. Интеграция с API - Использовать существующую библиотеку `behaviour-chat.min.js` - Подключить все необходимые data-атрибуты - Обработать потоковый вывод ответов (streaming) - Добавить обработку ошибок с понятными сообщениями ### 4. Адаптивность - **Десктоп**: Виджет 400x600px в углу - **Планшет**: Виджет 380x550px - **Мобильный**: Полноэкранный режим (100% экрана) ## Что нужно создать ### Файлы: 1. **chat.css** - все стили для чата (БЭМ-методология) 2. **chat-widget.js** - JavaScript логика (Vanilla JS, ES6+) 3. **README.md** - инструкция по подключению ### Модификация: - **index.html** - заменить текущий простой input на новый виджет ## ️ Технические требования - **Язык**: Чистый JavaScript (ES6+), без фреймворков - **Стили**: CSS3, БЭМ-именование классов - **Браузеры**: Chrome 90+, Firefox 88+, Safari 14+, Edge 90+ - **Производительность**: Загрузка < 1 сек, отклик < 100ms - **Доступность**: ARIA-атрибуты, навигация с клавиатуры ## Дизайн **Стиль**: OpenAI ChatGPT **Цвета**: Зеленая палитра (#10a37f основной) **Шрифт**: Системный (San Francisco, Segoe UI, Roboto) ### Состояния: - Закрыт (только кнопка) - Открыт с приветствием - Диалог с историей - Загрузка ответа - Ошибка ## Обязательно (Must Have) - Работающий чат с красивым UI - Отправка/получение сообщений - Индикатор загрузки - Адаптив для всех устройств - Интеграция с существующим API - Обработка ошибок ## Желательно (Should Have) - Сохранение истории между сессиями - Счетчик непрочитанных сообщений - Плавные анимации - Восстановление истории при перезагрузке ## Опционально (Nice to Have) - Кнопка очистки истории - Копирование текста сообщений - Темная/светлая тема - Экспорт истории в файл ## Сроки **Общий срок**: 6 рабочих дней - День 1-2: Верстка компонента - День 3-4: JavaScript + интеграция API - День 5: Тестирование и адаптив - День 6: Правки и документация ## Результат После выполнения задания вы предоставите: 1. **3 файла с кодом** (chat.css, chat-widget.js, модифицированный index.html) 2. **README.md** с инструкцией по установке и использованию 3. **Рабочий демонстрационный пример** на вашем хостинге или CodePen ## Что прилагается К этому заданию приложено **полное техническое задание** с: - Детальной спецификацией всех компонентов - Примерами кода и структуры - Описанием API и форматов данных - Полными CSS-стилями - Требованиями к accessibility - Сценариями использования - Критериями приемки **Пожалуйста, внимательно изучите полное ТЗ перед началом работы!** ## Вопросы? Если что-то непонятно или нужны уточнения - спрашивайте до начала работы. Лучше уточнить детали сразу, чем переделывать потом. --- Полное описание тз во вложении, доступ к репозиторию предоставлю