Очередь викторины

Загружаю расписание…

Нажми на имя — подсветятся все игры этого человека. Ещё раз — снимется.

У каждого своя дата прихода и, если ушёл, дата ухода. По умолчанию подставляется сегодняшняя — поправь, если нужно другое число. Всё, что было до текущей недели, остаётся как сыграно.
Расписание пересоберётся начиная с текущей недели.

Кто есть на каждой неделе

Строка — неделя, столбец — человек. Клик по клетке снимает участника с этой недели: подменяется только он один, двое напарников остаются, а его тройка уезжает на ближайшую подходящую неделю. Shift+клик означает, что человек уходит из состава с этой недели совсем — то же, что дата ухода в правке состава; повторный Shift+клик возвращает. Прочерк вместо клетки значит, что на эту дату человека ещё или уже нет в составе. Если замену подобрать не из кого, неделю ведут вдвоём или даже в одиночку — это нормально, а несыгранный состав возвращается в очередь.

  • недель расписано
  • игр у каждого
  • все пары собраны
В этот раз ведут

Если кто-то отказался. Сняли человека с недели — на его место встаёт тот, кто дольше не играл и даёт новую пару с оставшимися двумя, а прежняя тройка целиком переезжает на ближайшую неделю, где она собирается. Так подменяется ровно один человек, а не вся очередь. Если же обмен невозможен — например, человека нет до конца расписания, — хвост пересобирается заново.

Где всё это хранится. Расписание лежит на сервере, а не в браузере: открыл ссылку — увидел то же, что и все остальные. Любая правка сохраняется сразу и попадает к тем, у кого страница уже открыта, в течение пятнадцати секунд. Прошлые версии остаются в журнале, так что случайно испорченное можно вернуть.