See the readme file in the theme’s GitHub repository.
Ideas to improve this theme are very welcome
Update 24/12/2018:
You no longer need to overwrite any code in order to customize this theme. It’s now shipped with theme settings that allow customization for each of the 6 tabs with ability to disable any tab. See the readme file for details.
JS-код компонента во многих местах предполагает, что пользователь авторизован, поэтому одного CSS недостаточно, чтобы показать панель для анонимных пользователей. Моя рекомендация — сделать форк компонента и модифицировать его, чтобы он отображался для анонимных пользователей.
В ядре Discourse есть удобная маршрутная ссылка /new-topic, которая позволяет открывать редактор сообщений через URL. Всё, что вам нужно сделать, — использовать эту ссылку как URL для вкладки, которая должна открывать редактор.
Этот компонент очень полезен, и пользователи нашего форума его действительно ценят.
Одна из самых запрашиваемых функций — отображение значка непрочитанных уведомлений и значка непрочитанных личных сообщений на клавишах в нижней части экрана.
Позволяет ли JavaScript API Discourse реализовать это?
Я рад слышать, что ваше сообщество ценит этот компонент и находит его полезным, спасибо! Я поддерживаю добавление этой функции в компонент, но не могу реализовать её прямо сейчас (возможно, через несколько месяцев). Однако, если кто-то другой захочет поработать над этой функцией в это время, я буду очень рад принять pull-запрос с этой функцией.
Да, необходимые данные доступны в объекте currentUser, к которому легко получить доступ. Большая часть работы по этой функции будет заключаться в 1) определении, на каких вкладках отображать значки, и 2) правильном позиционировании значков с помощью CSS.
Да, это те самые свойства, которые нам нужно использовать. Однако, поскольку Discourse — это приложение на Ember, мы обычно не подписываемся на события DOM для обновления интерфейса. Вместо этого мы должны использовать то, что в Ember называют ‘вычисляемыми’ свойствами.
В компоненте уже определено вычисляемое свойство здесь, так что вы можете использовать его в качестве примера. Как только вы определите своё вычисляемое свойство, которое решает, нужно ли отображать значок уведомлений (на основе таких свойств, как currentUser.unread_high_priority_notifications и т. д.), вам нужно будет использовать это свойство в шаблоне Handlebars по той же ссылке в нижней части.
Примечание: реализация этой функции в отдельном компоненте — задача нетривиальная, поэтому всё, что я сказал выше, предполагает, что вы реализуете это в самом компоненте, а не в отдельном.
Панель вкладок отображается с белым фоном даже в тёмной теме. Я только что обновился с версии 2.7.0 beta 1 до 2.7.0 beta 3, и после этого начал появляться белый фон. До этого всё работало отлично. Я также попробовал удалить все остальные компоненты темы и все настройки кастомизации, чтобы проверить, не влияет ли что-то на панель вкладок. Но даже в минимальной установке Discourse панель вкладок имеет белый фон в тёмной теме. Не могли бы вы, пожалуйста, посмотреть на это?
Похоже, что в некоторых случаях эта вкладка приводит к перекрытию кнопки «Ответить» прогрессом темы (например, я могу воспроизвести это в Chrome при эмуляции iPhone SE).
Как видно, кнопка «Ответить» перекрыта полосой прогресса. Однако, если отключить эту полосу, всё работает. Думаю, это связано с тем, что позиция кнопки прогресса задана как относительная, но я не знаю, как это исправить.
У меня похожая проблема. Кнопка «Оглавление» не отображается, когда я включаю нижнюю панель вкладок для мобильных устройств. Было бы здорово, если бы нам не приходилось выбирать одну функцию в ущерб другой, ведь нам нравятся обе!
@haroldfy Я не могу воспроизвести эту проблему здесь, ни на Meta, ни в конструкторе тем. Возможно, у вас есть другие темы или кастомизации, которые мешают? Я могу посмотреть, если ваш сайт общедоступен.
@littleviolette Я стараюсь по возможности избегать добавления кода, который нацелен на элементы другого компонента. В данном случае вы можете создать отдельный компонент с этим CSS, чтобы переместить кнопку ToC выше панели:
А затем я разблокирую экран, переключаюсь в альбомный режим, затем возвращаюсь в портретный режим, немного прокручиваю страницу вверх — и происходит вот что:
Панель вкладок также конфликтует с основной функцией фильтрации постов, которая добавляет «липкий» нижний колонтитул (posts-filtered-notice) при фильтрации.