79 lines
4.0 KiB
HTML
79 lines
4.0 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="ru">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>Расписание преподавателя</title>
|
||
<link rel="stylesheet" href="style.css">
|
||
</head>
|
||
<body>
|
||
<main class="shell">
|
||
<header class="topbar">
|
||
<div class="title">
|
||
<h1>Расписание преподавателя</h1>
|
||
<span id="week-label">Загрузка периода...</span>
|
||
</div>
|
||
<div class="actions">
|
||
<button class="btn btn-icon-md btn-secondary" id="theme-toggle-local" type="button" aria-label="Переключить тему">
|
||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
|
||
<path d="M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z"></path>
|
||
</svg>
|
||
</button>
|
||
<a class="btn btn-danger-subtle" href="/" id="logout-link">Выйти</a>
|
||
</div>
|
||
</header>
|
||
|
||
<section class="toolbar">
|
||
<div class="week-nav">
|
||
<button class="btn btn-icon-md btn-secondary" id="prev-week" type="button" aria-label="Предыдущая неделя">
|
||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
|
||
<polyline points="15 18 9 12 15 6"></polyline>
|
||
</svg>
|
||
</button>
|
||
<button class="btn btn-md btn-primary" id="today-week" type="button">Сегодня</button>
|
||
<button class="btn btn-icon-md btn-secondary" id="next-week" type="button" aria-label="Следующая неделя">
|
||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
|
||
<polyline points="9 18 15 12 9 6"></polyline>
|
||
</svg>
|
||
</button>
|
||
</div>
|
||
<input class="date-input" id="date-picker" type="date" aria-label="Дата недели">
|
||
</section>
|
||
|
||
<div class="status" id="status-line"></div>
|
||
<section class="teacher-absence-panel">
|
||
<div class="teacher-absence-heading">
|
||
<div>
|
||
<span>Изменение планов</span>
|
||
<h2>Сообщить об отсутствии</h2>
|
||
<p>Заявка поступит кафедре на подтверждение. После согласования учебный отдел сможет подобрать замены.</p>
|
||
</div>
|
||
<button class="btn btn-md btn-secondary" id="absence-form-toggle" type="button" aria-expanded="false">
|
||
Новая заявка
|
||
</button>
|
||
</div>
|
||
<form class="teacher-absence-form" id="teacher-absence-form" hidden>
|
||
<label>
|
||
<span>Начало</span>
|
||
<input class="date-input" id="teacher-absence-start" type="date" required>
|
||
</label>
|
||
<label>
|
||
<span>Окончание</span>
|
||
<input class="date-input" id="teacher-absence-end" type="date" required>
|
||
</label>
|
||
<label class="teacher-absence-reason">
|
||
<span>Причина</span>
|
||
<input id="teacher-absence-reason" type="text" maxlength="2000" placeholder="Например, командировка" required>
|
||
</label>
|
||
<button class="btn btn-md btn-primary" type="submit">Отправить кафедре</button>
|
||
</form>
|
||
<div class="teacher-absence-status" id="teacher-absence-status"></div>
|
||
<div class="teacher-absence-list" id="teacher-absence-list" aria-live="polite"></div>
|
||
</section>
|
||
<section class="schedule" id="schedule-grid" aria-live="polite"></section>
|
||
</main>
|
||
|
||
<script type="module" src="app.js"></script>
|
||
</body>
|
||
</html>
|