К содержимому
adil.workspace/projects / signalPORTFOLIO · 2026

04 / Событие / PORTFOLIO CONCEPT

SIGNALОдна ночь. Свой маршрут.

Открыть живое демо

Собрать программу двух сцен, личный маршрут и фестивальный режим на единой временной оси, продолжающейся после полуночи.

signal.interaction

ЗАПИСЬ СЦЕНАРИЯ / БЕЗ ЗВУКА

Запись работающего интерфейса. Видео загружается только после нажатия кнопки; сценарий описан ниже текстом.

РОЛЬ И КОНТЕКСТ

От структуры
до взаимодействия.

Учебный проект, созданный совместно с AI-ассистентом. Работа включала визуальное направление, адаптивную вёрстку, клиентскую логику, автоматические проверки и публикацию. Это не коммерческий заказ; клиенты и бизнес-результаты не заявляются.

Архитектура

Next.js App Router и статические страницы, React для интерактивных сценариев, SCSS Modules и Framer Motion. Контент и чистые расчёты отделены от компонентов.

  1. 01Расписание и ID
  2. 02Непрерывное время
  3. 03Личные закладки
  4. 04Список, таймлайн и ICS

Решения и компромиссы

01

Полночь без разрыва

Ночные часы переводятся в минуты следующего дня. Полуоткрытые интервалы не считают конфликтом общую границу двух сетов.

02

Один личный маршрут

Список, таймлайн и режим «Я на фестивале» используют выбранные ID. Сохранение в браузере очищает устаревшие и повторяющиеся значения; при недоступном хранилище выбор остаётся в сеансе.

03

Честные демо-часы

Время задаёт посетитель. Интерфейс показывает текущие и следующие выбранные сеты, ожидание и одновременные выступления. Он не притворяется трансляцией или GPS-навигацией.

ПРОВЕРЬ САМ

Один конкретный сценарий

Добавь VELVET STATIC и SOFT ERROR, открой «Я на фестивале» и переведи время на 00:00. Оба сета окажутся текущими, а интерфейс покажет пересечение.

Повторить в демо

Ключевые части кода

  • content/schedule.js
  • hooks/usePersonalSchedule.js
  • lib/festival-state.js
  • lib/calendar.js

Репозиторий закрыт. Публичный инженерный разбор доступен по ссылке ниже.

Полный разбор в демо

Границы реализации

Фестиваль, исполнители и площадка вымышлены. Нет билетов, оплаты и реального трекинга. В ICS используется плавающее местное время: при импорте нужно проверить часовой пояс.

Браузерные проверки выполняются в CI. Реальные устройства и скринридеры требуют отдельного ручного прохода.