Сделайте перерыв! Тема компонента

Что это?

После обсуждения с модераторами о том, что они проводят слишком много времени перед экраном, я решил, что лучше всего будет напомнить сотрудникам (и не только сотрудникам!) регулярно делать перерывы в работе на форуме после длительного просмотра. Новое обновление: теперь это работает и для не-сотрудников, а также можно включать и выключать через настройки темы.

Что оно делает?

Этот компонент темы показывает предупреждающее сообщение после того, как участник провёл на форуме x секунд. Например, 30 минут — это 1800 секунд, после чего появится сообщение. У этого компонента есть 4 основных параметра, которые позволяют настроить ваше сообщение и изменить время до его появления.

Зачем?

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

Предпросмотр

Вот короткое видео с предпросмотром (извините, веб-страница загружалась так долго)

Поскольку изменение настроек в конструкторе тем в настоящее время не работает, вы можете скачать этот компонент на свой экземпляр и попробовать изменить сообщение и время!

36 лайков

Стоит ли что-то изменить? Критические отзывы приветствуются!

2 лайка

Может быть, стоит добавить возможность показывать это и пользователям (а не только сотрудникам). Как обычный пользователь, я был бы восхищён, увидев, что администраторы форума заботятся о здоровье пользователей :slight_smile:

2 лайка

Привет @Chaboi_3000,

Отличная идея, мы недавно обсуждали что-то подобное с @sam.

Моя основная критика касается кода — его нужно значительно улучшить. Я могу дать рекомендации, если вы готовы его доработать.

Вот несколько способов улучшить код:

Дайте знать, если нужна дополнительная помощь — с радостью помогу с ревью.


Я немного обеспокоен тем, что нельзя отключить это на уровне отдельного пользователя, так как я бы этим никогда не пользовался. Но в компонентах тем на данный момент нет настроек для отдельных пользователей. Поэтому я не вижу хорошего или простого решения этой проблемы.

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

10 лайков

Добавлена опция для обычных пользователей. (По умолчанию для обычных пользователей она отключена)

Исправлено. Извините за это.

Я давно не проверял Discourse. Завтра займусь этим. Также проверю и остальные. Если возникнут трудности с чем-либо, напишу вам. Спасибо :slight_smile:

10 лайков

Разумно ли мигрировать этот компонент темы на новые JavaScript-файлы? Если да, есть ли руководство по выполнению этого?

2 лайка

Исправлено. У меня всё ещё возникают вопросы по различиям между файлами JavaScript и стандартными HTML, CSS и JS.

2 лайка

Спасибо. Как будет время, попробую добавить несколько функций для улучшения качества жизни :slight_smile:

3 лайка

Впечатляет! Я сам никогда не знал, что это можно менять для разных целей! Здорово слышать, что это помогает. Ответы на неподтверждённые темы — это то, что всегда приветствуется в любом месте, независимо от того, для чего используется форум. Спасибо за то, что поделились! :slight_smile:

3 лайка

Прерывает ли это работу пользователей при создании нового поста?
Возможно ли показывать рекламу через этот компонент?

Я не настраивал это, чтобы предотвратить появление при вводе текста пользователем :pensive: (хотя редактор при этом не закроется). Вы определенно можете использовать этот компонент для рекламы, но я рекомендую это решение, так как оно более оптимизировано для рекламных целей:

1 лайк

Извините за всплытие темы, но у меня есть несколько предложений. Возможно, стоит сделать это настраиваемым пользователем в настройках: изменить цвет, а вместо крестика добавить две кнопки — одну с иконкой социальной платформы (например, YouTube), которую пользователь может изменить, и вторую с текстом вроде «Я в порядке», который может менять администратор.

Но вообще возможно добавлять HTML в текст? Было бы очень здорово, если бы это было так. (И, возможно, в этом случае добавить отдельную опцию для частоты… например, показывать только каждый «n-ный» день).

Вы определенно можете редактировать исходный код и изменять HTML, чтобы он соответствовал вашим потребностям.

Я уже использую официальный плагин для рекламы. Я спрашиваю, возможно ли выводить рекламу всплывающими окнами при загрузке сайта, как в ссылке ниже. Выполняет ли он код Google AdSense?

https://www.edaboard.com

По умолчанию он предназначен только для отображения обычного текста. Если вы залезете в исходный код и измените его, вы сможете отображать рекламу.

1 лайк

@Pravi, если хочешь, можешь сделать форк репозитория и посмотреть на файл head-tag.html в компоненте (именно здесь реализованы всплывающие окна и прочее), а затем настроить его под свои нужды. Функция showModal вызывается здесь. Скорее всего, тебе захочется поэкспериментировать с кодом :slight_smile:

1 лайк


Компонент в настоящее время не работает.

4 лайка

Я сделал PR :+1:


Он был слит, спасибо Chaboi! :clap:

Обратите внимание, это простое обновление.

Я увидел интересные предложения/функции, которые стоит реализовать:

  • Отслеживание контекста, чтобы не показывать модальное окно в неподходящий момент (например, при написании текста)
  • Настройка частоты
  • Перенос текста из настроек в локализацию
6 лайков