Согласен на все сто! Это важный функциональный аспект для многих сообществ, но, к сожалению, на мой взгляд, данная реализация — полный бардак. Мне не хочется так говорить, но Discourse в последнее время действительно делает большие шаги в области удобства использования, дизайна и т. д. Однако здесь ситуация явно отстает и требует огромной работы, если не полного пересмотра.
Поэтому… я решил попробовать создать свой собственный плагин, сфокусированный на мероприятиях. Вот видео, демонстрирующее некоторые его функции после трёх дней «вайб-кодинга».
Всё это работает, хотя я уверен, что багов ещё много (и, безусловно, предстоит ещё много работы над макетом, стилизацией и визуальным оформлением). Моя цель — дорабатывать его в течение недели или около того, причём значительная часть этого времени будет посвящена исправлению ошибок и полировке (заморозка функций запланирована на завтра). После этого я надеюсь развернуть его на своём собственном экземпляре для реального использования. Если всё пойдёт хорошо, возможно, я смогу поделиться им позже, с огромной оговоркой о том, что всё это сделано исключительно «по вайбу». ![]()
Вот короткий список того, что он делает:
- Полностью автономные сущности мероприятий: с темами или чатами, без них или с обоими (работают оба варианта).
- Управление площадками и залами (залы внутри площадок).
- Бронирование залов с привязкой к локациям (несколько залов на одну локацию), обработка конфликтов бронирования, отдельные страницы для локаций и залов, часы работы залов, вместимость и т. д.
- Просмотры: месяц, неделя, день, площадка (мероприятия по площадкам) и список с расширенными фильтрами во всех видах.
- Продвинутый редактор описания мероприятия и настройки, повторение, мероприятия «весь день», поддержка часовых поясов, вместимость мероприятия, вместимость зала.
- Страницы локаций с картами, списком залов в локации и списком мероприятий в локации.
- Быстрый доступ к полной информации о мероприятии из календаря и других видов (всплывающие детали).
- Перетаскивание в виде «день/неделя» для создания мероприятий и времени (автоматическое заполнение в новой форме мероприятия).
- Автоматическое заполнение информации о создании мероприятия в зависимости от того, где и как оно создается; например, если создание инициировано из зала, этот зал автоматически подставляется.
- Подписки на календарь (ICS) на разных уровнях (по календарю, по локации и т. д.).
- Система прав для различных элементов управления (кто может создавать залы/локации, а кто — мероприятия и т. д.).
- Черновики и состояния публикации/отмены публикации для мероприятий, локаций и залов (а также состояние отмены для мероприятий).
- RSVP, вместимость мероприятия и т. д.
- Виджет списка мероприятий для боковой панели, список мероприятий в категориях.
- Почти всё это работает и на мобильных устройствах, хотя эта часть всё ещё находится в активной разработке, особенно в плане адаптации.
- Возможно, я что-то ещё упустил.
Это слишком много? Возможно! Но я хочу увидеть, что окажется полезным, прежде чем начать отсекать лишнее. ![]()
Я также надеюсь реализовать широкий спектр настроек в бэкенде. Если я смогу воспроизвести некоторые функции существующего официального плагина «Мероприятия/Календарь», например, сортировку тем по дате мероприятия, я постараюсь это сделать.