Discourse Calendar (and Event)

Согласен на все сто! Это важный функциональный аспект для многих сообществ, но, к сожалению, на мой взгляд, данная реализация — полный бардак. Мне не хочется так говорить, но Discourse в последнее время действительно делает большие шаги в области удобства использования, дизайна и т. д. Однако здесь ситуация явно отстает и требует огромной работы, если не полного пересмотра.

Поэтому… я решил попробовать создать свой собственный плагин, сфокусированный на мероприятиях. Вот видео, демонстрирующее некоторые его функции после трёх дней «вайб-кодинга».

Всё это работает, хотя я уверен, что багов ещё много (и, безусловно, предстоит ещё много работы над макетом, стилизацией и визуальным оформлением). Моя цель — дорабатывать его в течение недели или около того, причём значительная часть этого времени будет посвящена исправлению ошибок и полировке (заморозка функций запланирована на завтра). После этого я надеюсь развернуть его на своём собственном экземпляре для реального использования. Если всё пойдёт хорошо, возможно, я смогу поделиться им позже, с огромной оговоркой о том, что всё это сделано исключительно «по вайбу». :smile:

Вот короткий список того, что он делает:

  • Полностью автономные сущности мероприятий: с темами или чатами, без них или с обоими (работают оба варианта).
  • Управление площадками и залами (залы внутри площадок).
  • Бронирование залов с привязкой к локациям (несколько залов на одну локацию), обработка конфликтов бронирования, отдельные страницы для локаций и залов, часы работы залов, вместимость и т. д.
  • Просмотры: месяц, неделя, день, площадка (мероприятия по площадкам) и список с расширенными фильтрами во всех видах.
  • Продвинутый редактор описания мероприятия и настройки, повторение, мероприятия «весь день», поддержка часовых поясов, вместимость мероприятия, вместимость зала.
  • Страницы локаций с картами, списком залов в локации и списком мероприятий в локации.
  • Быстрый доступ к полной информации о мероприятии из календаря и других видов (всплывающие детали).
  • Перетаскивание в виде «день/неделя» для создания мероприятий и времени (автоматическое заполнение в новой форме мероприятия).
  • Автоматическое заполнение информации о создании мероприятия в зависимости от того, где и как оно создается; например, если создание инициировано из зала, этот зал автоматически подставляется.
  • Подписки на календарь (ICS) на разных уровнях (по календарю, по локации и т. д.).
  • Система прав для различных элементов управления (кто может создавать залы/локации, а кто — мероприятия и т. д.).
  • Черновики и состояния публикации/отмены публикации для мероприятий, локаций и залов (а также состояние отмены для мероприятий).
  • RSVP, вместимость мероприятия и т. д.
  • Виджет списка мероприятий для боковой панели, список мероприятий в категориях.
  • Почти всё это работает и на мобильных устройствах, хотя эта часть всё ещё находится в активной разработке, особенно в плане адаптации.
  • Возможно, я что-то ещё упустил.

Это слишком много? Возможно! Но я хочу увидеть, что окажется полезным, прежде чем начать отсекать лишнее. :smile:

Я также надеюсь реализовать широкий спектр настроек в бэкенде. Если я смогу воспроизвести некоторые функции существующего официального плагина «Мероприятия/Календарь», например, сортировку тем по дате мероприятия, я постараюсь это сделать.

5 лайков