@arc002
I don't really know, if this will help you, but:
[image: 1618838034095-bildschirmfoto-2021-04-19-um-15.13.41.png]
If you change e.g sorting inside recent-Page from All Topics to New Topics the page refreshes and the URL turns from
https://nodebb.development.fail/recent
to
https://nodebb.development.fail/recent?filter=new
Once the page reloads, your hook filter:topics.get should be fired again. But in this case, with the filtering changed via dropdown. You have the get parameter ?filter=new to work with serverside.
Maybe this is an option for you. You can use your template in combination with javascript to trigger an .change() or .click() -Event on your custom dropdown menu.
Here is a little snippet.
$(window).on('action:ajaxify.end', function(data) {
let currentUrl = $(location).attr('href');
$('div#content').prepend('<a href="#" id="reloadTrigger">This is a example</a>');
$('a#reloadTrigger').click(function(){
window.location.href = currentUrl + "?filter=true";
})
});
This prepends a a-Element before content-Div:
[image: 1618838869721-bildschirmfoto-2021-04-19-um-15.27.38.png]
Once you click on This is a example the url turns from
https://nodebb.development.fail/ to https://nodebb.development.fail/?filter=true
And your hook filter:topics.get should be fired again. Now you could work with the GET-Parameter filter=true.
Hope this helps and inspired you.
Cheers