-
Notifications
You must be signed in to change notification settings - Fork 214
Description
In the project we're working on with Thredded we need a personalized set of topic-list pages as an alternative to a listing of messageboards.
So for example a homepage with a top-level nav menu consisting of:
- Unread: a list of unread topics (ordered by last post) across all messageboards
- Following: a list of followed topics (ordered by last post) across all messageboards
- Posted: a list of topics you've posted to (ordered by your last post) across all messageboards
- All messageboards: a list of messageboards (as present)
- All topics: a list of all topics (ordered by last post) across all messageboards
The first item in the list would be the home page.
I think this could be configurable, so to get the current presentation you'd just do:
Thredded.top_level_navs = [:all_messageboards]
But to get the full set you'd do:
Thredded.top_level_navs = [:unread, :following, :posted, :all_topics, :all_messageboards]
Which is the default configuration we can work out, depending on the answer to the next:
We are thinking that we could implement this as either a separate repo/plugin to Thredded (er, not sure what this might look like exactly, but am assuming something a new engine + sub namespace which you need to add as well as thredded. Maybe therefore the config above might be Thredded::PersonalizedNavigation.navs = [:all_messageboards]
Alternatively we could adopt within Thredded itself (given that the default configuration could be to have no change), but gut feel is that this is enough of a side-track from the main core of Thredded that it would be better separate.
Any thoughts @glebm @jayroh? Any pre-existing separate plugin repos which might indicate some testing / mounting / configuration options (would https://github.com/thredded/thredded-read_tracking indicate some "best practice"? even though I think that is destined for merger into thredded itself)