webdev-exam-2025-1-devik/index.html

485 lines
No EOL
26 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>WorldLang - Языковая школа</title>
<link rel="icon" href="https://deev.space/media/favicon.ico" type="image/x-icon">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.0/font/bootstrap-icons.css">
<link rel="stylesheet" href="css/main.css">
<link rel="stylesheet" href="css/index.css">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
<div class="container">
<a class="navbar-brand" href="index.html">
<i class="bi bi-translate"></i> WorldLang
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav me-auto">
<li class="nav-item">
<a class="nav-link" href="#about">О нас</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#courses">Курсы</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#tutors">Репетиторы</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#map">Карта</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#contacts">Контакты</a>
</li>
</ul>
<a href="account.html" class="btn btn-outline-light">Личный кабинет</a>
</div>
</div>
</nav>
<div id="notificationArea"></div>
<section class="hero-section">
<div class="container text-center text-white">
<h1 class="display-3 fw-bold mb-4">Изучайте языки с WorldLang</h1>
<p class="lead mb-5">Профессиональные курсы и репетиторы для достижения ваших целей</p>
<div class="d-flex gap-3 justify-content-center">
<a href="#courses" class="btn btn-primary btn-lg">Выбрать курс</a>
<a href="#tutors" class="btn btn-outline-light btn-lg">Найти репетитора</a>
</div>
</div>
</section>
<section id="about" class="py-5">
<div class="container text-center">
<h2 class="mb-4">О нашей школе</h2>
<p class="lead text-muted">WorldLang — это современная языковая школа, предлагающая качественное образование для всех уровней подготовки. Мы помогаем достигать целей в изучении иностранных языков.</p>
</div>
</section>
<section class="advantages-section py-5 bg-light">
<div class="container">
<h2 class="text-center mb-5">Наши преимущества</h2>
<div class="row row-cols-1 row-cols-md-2 row-cols-lg-3 g-4">
<div class="col">
<div class="card h-100 text-center border-0 shadow-sm">
<div class="card-body">
<i class="bi bi-person-check fs-1 text-primary mb-3"></i>
<h5 class="card-title">Опытные преподаватели</h5>
<p class="card-text">Наши педагоги имеют международные сертификаты и многолетний опыт преподавания</p>
</div>
</div>
</div>
<div class="col">
<div class="card h-100 text-center border-0 shadow-sm">
<div class="card-body">
<i class="bi bi-chat-dots fs-1 text-primary mb-3"></i>
<h5 class="card-title">Практические навыки</h5>
<p class="card-text">Акцент на разговорной практике и реальных жизненных ситуациях</p>
</div>
</div>
</div>
<div class="col">
<div class="card h-100 text-center border-0 shadow-sm">
<div class="card-body">
<i class="bi bi-briefcase fs-1 text-primary mb-3"></i>
<h5 class="card-title">Карьерный рост</h5>
<p class="card-text">Знание языков открывает новые возможности в карьере и бизнесе</p>
</div>
</div>
</div>
<div class="col">
<div class="card h-100 text-center border-0 shadow-sm">
<div class="card-body">
<i class="bi bi-clock fs-1 text-primary mb-3"></i>
<h5 class="card-title">Гибкий график</h5>
<p class="card-text">Занятия в удобное для вас время, включая выходные дни</p>
</div>
</div>
</div>
<div class="col">
<div class="card h-100 text-center border-0 shadow-sm">
<div class="card-body">
<i class="bi bi-people fs-1 text-primary mb-3"></i>
<h5 class="card-title">Малые группы</h5>
<p class="card-text">Индивидуальный подход к каждому студенту в группах до 10 человек</p>
</div>
</div>
</div>
<div class="col">
<div class="card h-100 text-center border-0 shadow-sm">
<div class="card-body">
<i class="bi bi-award fs-1 text-primary mb-3"></i>
<h5 class="card-title">Сертификация</h5>
<p class="card-text">Получите международный сертификат по окончании курса</p>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="courses" class="py-5">
<div class="container">
<h2 class="text-center mb-5">Наши курсы</h2>
<div class="card mb-4">
<div class="card-body">
<div class="row g-3">
<div class="col-12 col-md-4">
<input type="text" id="courseSearch" class="form-control" placeholder="Поиск по названию">
</div>
<div class="col-12 col-md-3">
<select id="levelFilter" class="form-select">
<option value="">Все уровни</option>
<option value="Beginner">Начальный</option>
<option value="Intermediate">Средний</option>
<option value="Advanced">Продвинутый</option>
</select>
</div>
<div class="col-12 col-md-5">
<select id="sortCourses" class="form-select">
<option value="">Сортировка</option>
<option value="duration_asc">Длительность ↑</option>
<option value="duration_desc">Длительность ↓</option>
<option value="price_asc">Цена ↑</option>
<option value="price_desc">Цена ↓</option>
</select>
</div>
</div>
</div>
</div>
<div id="coursesList"></div>
<nav>
<ul id="coursesPagination" class="pagination justify-content-center"></ul>
</nav>
</div>
</section>
<section id="tutors" class="py-5 bg-light">
<div class="container">
<h2 class="text-center mb-5">Доступные репетиторы</h2>
<div class="card mb-4">
<div class="card-body">
<div class="row g-3">
<div class="col-md-3">
<select id="tutorLevelFilter" class="form-select">
<option value="">Все уровни</option>
<option value="Beginner">Начальный</option>
<option value="Intermediate">Средний</option>
<option value="Advanced">Продвинутый</option>
</select>
</div>
<div class="col-md-3">
<input type="number" id="minExperience" class="form-control" placeholder="Мин. опыт (лет)" min="0">
</div>
<div class="col-md-3">
<select id="languageFilter" class="form-select">
<option value="">Все языки</option>
</select>
</div>
<div class="col-md-3">
<select id="sortTutors" class="form-select">
<option value="">Сортировка</option>
<option value="price_asc">Цена ↑</option>
<option value="price_desc">Цена ↓</option>
</select>
</div>
</div>
</div>
</div>
<div class="table-responsive">
<table class="table table-hover">
<thead>
<tr>
<th>Имя</th>
<th>Уровень</th>
<th>Языки</th>
<th>Опыт</th>
<th>Ставка</th>
<th>Действие</th>
</tr>
</thead>
<tbody id="tutorsList"></tbody>
</table>
</div>
<nav>
<ul id="tutorsPagination" class="pagination justify-content-center"></ul>
</nav>
</div>
</section>
<section id="map" class="py-5">
<div class="container">
<h2 class="text-center mb-3">Карта учебных ресурсов</h2>
<p class="text-center text-muted mb-4">Найдите библиотеки, коворкинги и другие места для обучения</p>
<div class="mb-4">
<div class="d-flex flex-wrap justify-content-center gap-2" role="group">
<button type="button" class="btn btn-outline-primary map-filter-btn active" data-filter="all">
Все ресурсы
</button>
<button type="button" class="btn btn-outline-primary map-filter-btn" data-filter="education">
Образовательные учреждения
</button>
<button type="button" class="btn btn-outline-primary map-filter-btn" data-filter="library">
Библиотеки
</button>
<button type="button" class="btn btn-outline-primary map-filter-btn" data-filter="language_school">
Языковые школы
</button>
<button type="button" class="btn btn-outline-primary map-filter-btn" data-filter="coworking">
Коворкинги
</button>
<button type="button" class="btn btn-outline-primary map-filter-btn" data-filter="cultural_center">
Культурные центры
</button>
</div>
</div>
<div class="row">
<div class="col-lg-8 mb-4 mb-lg-0">
<div id="resourceMap" style="height: 500px; border-radius: 8px;"></div>
</div>
<div class="col-lg-4">
<div class="card">
<div class="card-header">
<h5 class="mb-0">Список ресурсов</h5>
</div>
<div id="resourcesList" class="card-body" style="max-height: 500px; overflow-y: auto;"></div>
</div>
</div>
</div>
</div>
</section>
<footer id="contacts" class="bg-dark text-white py-5">
<div class="container">
<div class="row g-4">
<div class="col-md-4">
<h5><i class="bi bi-translate me-2"></i>WorldLang</h5>
<p class="text-secondary">Качественное лингвистическое образование для всех уровней подготовки.</p>
</div>
<div class="col-md-4">
<h5>Контакты</h5>
<p class="mb-1"><i class="bi bi-envelope me-2"></i>egor@deev.space</p>
<p class="mb-1"><i class="bi bi-telephone me-2"></i>+7 (999) 373-77-37</p>
<p class="mb-0"><i class="bi bi-geo-alt me-2"></i>Москва, ул. Михалковская, д. 7, к. 3</p>
</div>
<div class="col-md-4">
<h5>Социальные сети</h5>
<div class="social-links">
<a href="https://t.me/Egor_Deev" target="_blank"><i class="bi bi-telegram"></i></a>
<a href="https://github.com/EDeev" target="_blank"><i class="bi bi-github"></i></a>
<a href="https://vk.com/this_egor" target="_blank"><i class="bi bi-vk"></i></a>
</div>
</div>
</div>
<hr class="my-4 border-secondary">
<p class="text-center text-secondary mb-0">© 2025 WorldLang. Все права защищены.</p>
</div>
</footer>
<div class="modal fade" id="courseModal" tabindex="-1">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Оформление заявки на курс</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<form id="courseOrderForm">
<input type="hidden" id="courseId">
<input type="hidden" id="orderMode" value="create">
<div class="mb-3">
<label class="form-label">Название курса</label>
<input type="text" id="courseName" class="form-control" readonly>
</div>
<div class="mb-3">
<label class="form-label">Преподаватель</label>
<input type="text" id="courseTeacher" class="form-control" readonly>
</div>
<div class="mb-3">
<label class="form-label">Дата начала <span class="text-danger">*</span></label>
<select id="courseStartDate" class="form-select" required>
<option value="">Выберите дату</option>
</select>
</div>
<div class="mb-3">
<label class="form-label">Время начала <span class="text-danger">*</span></label>
<select id="courseStartTime" class="form-select" required disabled>
<option value="">Сначала выберите дату</option>
</select>
</div>
<div class="mb-3">
<label class="form-label">Продолжительность курса</label>
<input type="text" id="courseDuration" class="form-control" readonly>
</div>
<div class="mb-3">
<label class="form-label">Дата окончания курса</label>
<input type="text" id="courseEndDate" class="form-control" readonly>
</div>
<div class="mb-3">
<label class="form-label">Количество студентов <span class="text-danger">*</span></label>
<input type="number" id="studentsNumber" class="form-control" min="1" max="20" value="1" required>
</div>
<div class="mb-3">
<label class="form-label">Автоматические опции</label>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="earlyRegistration" disabled>
<label class="form-check-label" for="earlyRegistration">
Ранняя регистрация (-10%)
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="groupEnrollment" disabled>
<label class="form-check-label" for="groupEnrollment">
Групповая скидка (-15%)
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="intensiveCourse" disabled>
<label class="form-check-label" for="intensiveCourse">
Интенсивный курс (+20%)
</label>
</div>
</div>
<div class="mb-3">
<label class="form-label">Дополнительные опции</label>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="supplementary">
<label class="form-check-label" for="supplementary">
Дополнительные учебные материалы (+2000₽/студ.)
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="personalized">
<label class="form-check-label" for="personalized">
Индивидуальные занятия (+1500₽/нед.)
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="excursions">
<label class="form-check-label" for="excursions">
Культурные экскурсии (+25%)
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="assessment">
<label class="form-check-label" for="assessment">
Оценка уровня владения языком (+300₽)
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="interactive">
<label class="form-check-label" for="interactive">
Доступ к интерактивной онлайн-платформе (+50%)
</label>
</div>
</div>
<div class="mb-3">
<label class="form-label">Ваше имя <span class="text-danger">*</span></label>
<input type="text" id="studentName" class="form-control" required>
</div>
<div class="mb-3">
<label class="form-label">Телефон <span class="text-danger">*</span></label>
<input type="tel" id="studentPhone" class="form-control" pattern="[+]?[0-9]{10,15}" required>
</div>
<div class="mb-3">
<label class="form-label">Email <span class="text-danger">*</span></label>
<input type="email" id="studentEmail" class="form-control" required>
</div>
<div class="mb-3">
<label class="form-label">Сообщение</label>
<textarea id="studentMessage" class="form-control" rows="3"></textarea>
</div>
<div class="alert alert-info">
<h5>Итоговая стоимость: <span id="totalPrice">0</span></h5>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Отмена</button>
<button type="button" id="submitCourseOrder" class="btn btn-primary">Отправить заявку</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="tutorModal" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Заявка на репетитора</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<form id="tutorOrderForm">
<input type="hidden" id="tutorId">
<div class="mb-3">
<label class="form-label">Репетитор</label>
<input type="text" id="tutorName" class="form-control" readonly>
</div>
<div class="mb-3">
<label class="form-label">Ваше имя <span class="text-danger">*</span></label>
<input type="text" id="tutorStudentName" class="form-control" required>
</div>
<div class="mb-3">
<label class="form-label">Телефон <span class="text-danger">*</span></label>
<input type="tel" id="tutorStudentPhone" class="form-control" pattern="[+]?[0-9]{10,15}" required>
</div>
<div class="mb-3">
<label class="form-label">Email <span class="text-danger">*</span></label>
<input type="email" id="tutorStudentEmail" class="form-control" required>
</div>
<div class="mb-3">
<label class="form-label">Сообщение</label>
<textarea id="tutorStudentMessage" class="form-control" rows="3"></textarea>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Отмена</button>
<button type="button" id="submitTutorOrder" class="btn btn-success">Отправить заявку</button>
</div>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<script src="https://api-maps.yandex.ru/2.1/?apikey=ff34c822-32b5-439f-ab28-f191c8ed28cd&lang=ru_RU" defer></script>
<script src="js/api.js"></script>
<script src="js/utils.js"></script>
<script src="js/app.js"></script>
<script src="js/map.js"></script>
</body>
</html>