Добавление новых вкладок в нижней части меню пользователя

В старом меню пользователя я добавил иконку и переделанную панель уведомлений, откуда пользователь мог легко сменить тему (у нас их несколько). Я хотел бы сделать то же самое в новом меню, но если я добавлю вкладку меню через API, она будет сгруппирована среди уведомлений во вкладках вверху. Поскольку это настройка пользователя, я хотел бы разместить её в нижней секции вместе с вкладкой профиля. Есть ли возможность добавить для этого функцию API?

2 лайка

Для уточнения: я использовал addUserMenyGlyph и создавал новый виджет из QuickAccessPanel-widget. Лучшей текущей заменой является использование registerUserMenuTab и создание нового класса на основе UserMenuTab, однако новая вкладка оказывается в середине уведомлений (что не идеально, если она содержит настройки, а не уведомления). Я хотел бы иметь больший контроль над тем, где именно в меню будет размещена эта вкладка.

1 лайк

Да, по твоему первоначальному посту было непонятно, имеешь ли ты в виду меню пользователя или вкладки настроек пользователя. Я предположил, что ты перешёл от addUserMenuGlyph к использованию класса UserMenuTab (если речь о меню пользователя), но не увидел, где API вставляет вкладку. Мне интересно узнать, есть ли способ решить эту задачу и контролировать, где будет располагаться вкладка.

1 лайк

Спасибо! Я, вероятно, мог бы заставить это работать, модифицировав класс UserMenu, но, думаю, было бы полезно включить это в API. В настоящее время вкладки с пользовательским контентом вставляются сразу над вкладкой с уведомлениями. Хотя точное позиционирование может быть невозможным, можно было бы предусмотреть другую точку вставки над вкладкой профиля.

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/components/user-menu/menu.js#L207

1 лайк