Hinzufügen neuer Tabs am unteren Rand des Benutzermenüs ermöglichen

Im alten Benutzermenü habe ich eine Glyphe und ein umfunktioniertes Benachrichtigungsfeld hinzugefügt, von dem aus ein Benutzer das Thema (wir haben einige davon) einfach ändern konnte. Ich möchte dasselbe im neuen Menü tun, aber wenn ich über die API einen benutzerdefinierten Menüreiter hinzufüge, wird er in den oberen Reitern unter den Benachrichtigungen gruppiert. Da es sich um eine Benutzereinstellung handelt, möchte ich, dass es im unteren Bereich zusammen mit dem Benutzerprofilreiter angezeigt wird. Gibt es eine Möglichkeit, dafür eine API-Funktion hinzuzufügen?

2 „Gefällt mir“

Zur Klarstellung: Ich habe addUserMenyGlyph verwendet und ein neues Widget aus dem QuickAccessPanel-widget erstellt. Derzeit ist die beste Alternative, registerUserMenuTab zu verwenden und eine neue Klasse von UserMenuTab zu erstellen. Der neue Tab wird jedoch in der Mitte der Benachrichtigungen platziert (nicht ideal, wenn er Einstellungen und keine Benachrichtigungen enthält). Ich hätte gerne mehr Kontrolle darüber, wo der Tab im Menü platziert wird.

1 „Gefällt mir“

Ja, ich konnte aus deinem ursprünglichen Beitrag nicht erkennen, ob du das Benutzermenü oder die Tabs für Benutzereinstellungen meintest. Ich ging davon aus, dass du vom addUserMenuGlyph zur Klasse UserMenuTab create übergegangen bist (wenn du das Benutzermenü meintest), aber ich konnte nicht sehen, wo die API den Tab einfügt. Ich bin daran interessiert zu sehen, ob es eine Möglichkeit gibt, dies zu lösen und zu steuern, wo ein Tab platziert werden würde.

1 „Gefällt mir“

Danke! Ich könnte das wahrscheinlich durch Modifizieren der UserMenu-Klasse zum Laufen bringen, aber ich denke, es könnte nützlich sein, dies in die API aufzunehmen. Derzeit werden die benutzerdefinierten Tabs direkt über dem Tab „Andere Benachrichtigungen“ eingefügt. Während eine exakte Positionierung möglicherweise nicht machbar ist, könnte es einen anderen Einfügepunkt über dem Tab „Profil“ geben.

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

1 „Gefällt mir“