How to customize the user dropdown menu?

I would like to add a direct link to the users activity page to the user dropdown menu, either as an icon:

Or as text.

How do I do it?

Create a new CSS/HTML customization, and put this in “</head>

<script type="text/discourse-plugin" version="0.4">
    api.addUserMenuGlyph({
        label: 'awesome.label',
        className: 'my-class',
        icon: 'your-icon',
        href: `/some/path`
});
</script>
8 Likes

How do I write the href path if it includes the username (as in /users/username/activity)?

Note to anyone wanting to use this: if you use an fontawesome icon, you give the icon name without the leading fa-

You can cheat and use “/my/activity:wink:

3 Likes

And how do I compose the label properly (so that I can draw on existing localizations)?

And what about the mobile version? There is no <\head> in the mobile version…

You can have a look at the client.en.yml file if you want to use existing localizations.

</head>” works for both.

2 Likes

Excellent! Based in what I saw in client.en.yml, I tried label: 'activity_stream' but it didn’t work. label: 'activity' works.

That’s because “activity_stream” is under “user” and should thus be referenced as “user.activity_stream:wink:

5 Likes

You are a great teacher. Thank you very much!

5 Likes

Same method for that?