F NAV - Концепция компонента темы

Привет :waving_hand:

Я работаю над новым компонентом темы на основе Discourse Tab Bar for Mobile.

Этот компонент темы добавляет возможность использовать функции во вкладках. Теперь эти функции могут быть: меню-гамбургер, уведомления, поиск.

  • Гамбургер: вкладка открывает меню-гамбургер
  • Уведомления: добавляет уведомления на вкладку
  • Поиск: открывает контекстный поиск по адресу /search

Также он изменяет иконки в заголовке. Удаляет гамбургер, меню пользователя, поиск и добавляет новую аватарку DMenu, содержащую содержимое профиля меню пользователя. При прокрутке вниз он скрывается везде, кроме заголовка в теме, чтобы максимизировать обзор.


Он меняет иконку колокольчика на вкладке уведомлений на перечёркнутый колокольчик, если активирован режим «Не беспокоить», и добавляет время. Также он динамически меняет маршрут: если есть проверяемые элементы, перенаправляет на /review, иначе — на страницу /notifications.


Вот демо: https://discourse.theme-creator.io/theme/Don/f-nav

На данный момент всё…

Что вы думаете? Спасибо :slightly_smiling_face:

Мне это нравится. Снова отличная работа.

Где будет кнопка чата?

Выглядит очень здорово! :clap:

Разделение уведомлений имеет большой смысл. Центральная тема делает то же самое, делая меню пользователя более доступным и удобным (не кажется таким навязчивым). Всё прямо и по делу, при этом есть все необходимые ссылки. На мой взгляд, это огромное улучшение UX, мне нравится.

Что касается ссылок внутри меню:

  • Я бы заменил слово «Сводка» на «Профиль»; в этом контексте это понятнее.
  • «Активность» не очень полезна; я бы заменил её на «Сообщения». Прямой доступ к вашему почтовому ящику — это must-have.
  • Думаю, «Закладки» тоже были бы кстати.

Насчёт нижней панели я не уверен. :thinking:
Кажется, я просто не привык смотреть вниз.

  • Кнопка уведомлений должна открывать правую панель вместо перехода в профиль. Такой вид больше подходит для быстрого взгляда, и в нём нет лишнего контента, не связанного с уведомлением.

Меню-гамбургер открывается с эффектом краткого мигания.

Надеюсь, этот отзыв будет полезен. :+1:

Спасибо за обратную связь :hugs:

Хотел бы создать многовкладочный интерфейс в F NAV, содержащий сообщения и чат. Что-то вроде папок в мобильных приложениях. Так вы увидите, что внутри, и сможете открыть это, например, в DMenu. При открытии отдельно отображаются значки непрочитанных сообщений, иначе вы видите объединённый индикатор непрочитанного. Сообщения должны иметь приоритет, как упомянул Arkshine, поэтому они будут открываться в модальном окне для просмотра.


Отличные идеи! Я считаю, что сообщения должны быть в F NAV, как я упоминал выше, но при этом интерфейс будет настраиваемым. :thinking:


Изначальная идея заключалась в том, чтобы перенаправлять пользователей на страницу уведомлений с фильтром «Непрочитанные», если есть непрочитанные уведомления, а если их нет — на страницу «Все» без фильтра. Если есть уведомления, требующие проверки, — на страницу проверки. Но я забыл добавить это :sweat_smile: Мне кажется, на мобильных устройствах удобнее перенаправлять на страницу… Но, возможно, я ошибаюсь :thinking:

Редактирование: Я добавил это. Теперь при наличии непрочитанных уведомлений происходит перенаправление на /u/username/notifications?filter=unread.


Хм, да, похоже, анимация не добавляется корректно, если закрыть гамбургер-меню кликом вне его области. Закрытие свайпом работает нормально; думаю, поэтому я этого не заметил. :thinking:

Спасибо :slightly_smiling_face:

Отличная работа, спасибо за компонент, я его попробую.

Он приобрёл более простой вид, особенно в шапке на мобильных устройствах. Мне нравится такой вариант: там нет лишнего визуального шума, и дизайн стал проще. Сейчас большинство известных приложений используют именно такой подход, например: x.com. Вот функции, которые, на мой взгляд, можно добавить:

  • Кнопку «Новая тема» можно добавить в виджет.
  • При переходе в пост вместо кнопки «Домой» можно разместить иконку «Назад». При нажатии на неё пользователь сможет вернуться к тому месту, где остановился.
  • При открытии поста активная кнопка на главной странице может меняться, например становиться прозрачной.
  • На иконке главной страницы можно отображать количество непрочитанных сообщений. Не уверен насчёт этого, возможно, это сделает интерфейс более перегруженным, или альтернатива:

@Don

Возможно ли создать ярлыки для категорий?
Я бы очень хотел добавить иконки для специальных категорий внизу.
Они должны отображать индикаторы обновлённых или новых тем, как ярлыки категорий в боковой панели.

Спасибо за обратную связь, @ozkn :slight_smile:
Я добавил изменение иконки «Домой» на маршрутах тем и новый или обновлённый индикатор точки для тем. Наверное, будет хорошей идеей добавить компонент темы «Закреплённые новые или обновлённые темы»… Я также изменил положение и размер значка уведомлений (сделал его меньше, а цифры — жирнее).

Отличная работа, @Don. Действительно прекрасный компонент темы. Я обнаружил несколько проблем на Android, где свайп работает не очень хорошо, особенно в PWA. Это может быть связано с конкретными телефонами, а не с Discourse, но проблема всё же существует, поэтому это решение заполняет этот пробел, особенно для iOS. Похоже, что на панели навигации F есть место для ещё одного пункта меню.

Что означает буква F?

Наверное, Footer? :wink:

Вот идея для вкладок. Я думаю, что изменю иконку вкладки, но это пока только первая версия. Она содержит чат и сообщения. Чат работает так же, как иконка чата в заголовке, а сообщения открывают модальное окно. Скорее всего, если чат отключен, то DMenu тоже будет отключен, и в навигации останутся только сообщения.

Если чат включен:

Отлично. Не могу дождаться, когда начну его использовать.

Когда пользователь не вошел в систему, ничего не меняется, верно?

Привет :wave: Есть некоторые успехи… Я реализовал пузыри уведомлений, внес некоторые корректировки в счетчики уведомлений и другие изменения… :slightly_smiling_face:

Вкладка «Мульти» теперь автоматически переключается на вкладку «Сообщения», если чат не включен или пользователь отключил его в настройках профиля. Однако теперь администраторы могут добавлять вкладки «Сообщения» и «Чат» отдельно.

Пузырь уведомлений меняется в зависимости от срочности.

Срочные уведомления во вкладке «Мульти» зеленого цвета и выглядят так: :arrow_down_small:

Развернуто


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

Развернуто


Единичное уведомление

Привет :wave:

Ещё одно обновление… Я переделал состояние активной вкладки, теперь оно лучше работает и с динамическими целями вкладок.

Я это исправил… Спасибо :slightly_smiling_face:

Теперь это опция, и администраторы могут выбрать предпочтительный вариант.
notificationToRoute: перенаправляет на страницу уведомлений
notificationMenu: открывает меню уведомлений


Я добавил эти изменения в создатель тем, поэтому теперь всё работает так.

Хорошая работа, @Don. Я знаю, что это не компонент темы F NAV, но было бы здорово, если бы при открытии окна поиска в нём был крестик для закрытия. Если только я его не упускаю, что вполне возможно: после нажатия на значок поиска, если вы решите не искать, нет удобного способа закрыть окно.

Привет, Brian :wave: Не совсем понял, о чём речь. Когда вы нажимаете на иконку поиска, вас перенаправляет на страницу /search, откуда можно вернуться назад с помощью навигации браузера/мобильного устройства или жеста.


Ещё одно обновление… Я решил не удалять иконки заголовка, а просто скрыть их с помощью CSS. Вчера, когда я исправлял анимацию открытия гамбургер-меню, понял, что так будет проще, чище и безопаснее, потому что в этом случае мы можем сохранять возможность клика по стандартным иконкам заголовка. Теперь гамбургер-меню, меню уведомлений и поиск работают именно так. Стандартная иконка чата в заголовке также просто скрыта через CSS, поскольку на страницах /chat она отображается в заголовке.

Я стараюсь сделать настройки максимально простыми.
Они будут содержать 4 поля, описания к которым пока отсутствуют. Поле «Назначение» необязательное, так как при выборе функции всё необходимое уже включено, и это поле должно оставаться пустым.

Администраторы могут легко создавать, удалять и изменять вкладки, выбирая одну из функций или добавляя собственное назначение для вкладки.
Функции :arrow_down_small:

Например, добавление вкладки для создания темы будет выглядеть примерно так.


Screenshot 2024-12-12 at 18.55.50

Привет, @Don, моё высказывание довольно непонятное :confused: Мой комментарий не имеет отношения к вашему компоненту. Я думаю, было бы полезно добавить крестик для закрытия интерфейса поиска, если вы решили не искать после его открытия или нажали случайно. Часто я случайно возвращаюсь назад с страницы или из Discourse :exploding_head:

Выглядит отлично, не могу дождаться, чтобы попробовать!

Компонент темы готов :tada:
Спасибо всем :hugs:

Та же проблема, что и с предыдущей, немного похожей: использование с DiscourseHub действительно сложно. Теперь это доступно только для браузеров и PWA.

У меня всё работает отлично в DiscourseHub.