You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We will need to do some follow-up work to complete the Coach's Bookmarks work done in #8272
In summary, the following will need to be decided upon and then implemented.
Routing During Quiz/Lesson Creation
Will need to discuss with @jtamiace for decisions around how best to approach this.
An illustration of the flow:
Quiz / lesson creation
[Full-screen modal] -> Select resources for quiz / lesson. (User clicks a card linking to their bookmarks).
[?? Another full-screen sub-modal?] -> Lists the user's bookmarked resources. (User clicks to navigate a bookmarked topic).
[?? The same full-screen modal as before?]
At that 4th step it is unclear how the navigation should work - however it seems like it would be best to use smart Breadcrumbs which shows the user where they have been in order to get where they are, provides a way to click back to a previous page, where the root is always going to be the item 2 above - the "Manage resources" page.
So breadcrumbs can go like:
Manage resources for <quiz> > Bookmarks > Topic A > Subtopic
or
Manage resources for <lesson> > Topic B > Subtopic
The browser back will go back one step in the breadcrumbs.
I think this covers a fairly reasonable navigation UX but may be missing something. Any additional thoughts are much appreciated.
There are two contexts on the front-end where we want bookmarks.
A user viewing their own bookmarks.
In this case, we really only care about the associated content nodes. A Bookmark is just a record connecting a user to content and we cannot display anything useful from it so it may be worthwhile to update the Bookmarks API such that it has endpoints or an optional flag that will let the backend create an optimized query for the required content nodes. This may also simplify pagination - so the frontend can just ask /api/bookmarks?contentNodes=true or whatever and not have to process a list of Bookmarks in order to make a second /api/contentnode request for the data we actually need to display to the user.
A user viewing any number of content nodes and needing to see if it is currently bookmarked (and then being able to toggle the bookmarked status).
In this context, we only need to know which of the currently viewed resources are or aren't bookmarked by this user.
Personally, I think that storing a user's bookmarks in the core Vuex store in their own little namespaced module might be a good path forward but definitely open to any other approach.
In any case, the handlers and code that handle content node display will need to be adjusted to also allow toggling bookmarked status. I think, again, a vuex module is a good candidate for this.
Noting that this is all a sort of subtask to #8209 and that task depends on this.
The text was updated successfully, but these errors were encountered:
@jtamiace has some new designs relevant to this in Figma - I will keep this issue open to avoid letting it fall through the cracks but may end up closing it if "revising the coach reports" becomes a separate project as I'm sure it will.
We will need to do some follow-up work to complete the Coach's Bookmarks work done in #8272
In summary, the following will need to be decided upon and then implemented.
Routing During Quiz/Lesson Creation
Will need to discuss with @jtamiace for decisions around how best to approach this.
An illustration of the flow:
At that 4th step it is unclear how the navigation should work - however it seems like it would be best to use smart Breadcrumbs which shows the user where they have been in order to get where they are, provides a way to click back to a previous page, where the root is always going to be the item 2 above - the "Manage resources" page.
So breadcrumbs can go like:
Manage resources for <quiz> > Bookmarks > Topic A > Subtopic
or
Manage resources for <lesson> > Topic B > Subtopic
The browser back will go back one step in the breadcrumbs.
I think this covers a fairly reasonable navigation UX but may be missing something. Any additional thoughts are much appreciated.
Paginating bookmarks
We need to paginate the list of bookmarks. Note Jessica's comment here with the show more design.
API Refactor?
There are two contexts on the front-end where we want bookmarks.
In this case, we really only care about the associated content nodes. A Bookmark is just a record connecting a user to content and we cannot display anything useful from it so it may be worthwhile to update the Bookmarks API such that it has endpoints or an optional flag that will let the backend create an optimized query for the required content nodes. This may also simplify pagination - so the frontend can just ask
/api/bookmarks?contentNodes=true
or whatever and not have to process a list of Bookmarks in order to make a second/api/contentnode
request for the data we actually need to display to the user.In this context, we only need to know which of the currently viewed resources are or aren't bookmarked by this user.
Personally, I think that storing a user's bookmarks in the core Vuex store in their own little namespaced module might be a good path forward but definitely open to any other approach.
In any case, the handlers and code that handle content node display will need to be adjusted to also allow toggling bookmarked status. I think, again, a vuex module is a good candidate for this.
Noting that this is all a sort of subtask to #8209 and that task depends on this.
The text was updated successfully, but these errors were encountered: