-
Notifications
You must be signed in to change notification settings - Fork 709
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The hybrid learning home page #8504
Conversation
for the class assignments page. Its subcomponents are already using the composable instead of store. This removes some confusion and fragility around fetching and storing data which was previously done by both composable and Vuex.
To be able to use loading and API error states properly when initalliy loading a page, it needs to respect the standard way pages are initialized in Kolibri - through a route handler.
no matter of their classess memberships, access to unasigned resources settings, or whether they're signed-in or anonymous. From now on, everyone wil lbe taken to the home page which content will adjust correspondingly.
when no channels are available
after navigation in 'Learn'
'Continue learning on your own' and 'Explore channels' should be displayed only after learner finished all their classes resources and quizzes rather than when not having any classes resources or quizzes in progress
I am not sure why the linting check doesn't pass, will investigate later |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Intriguing use of composable as a vuex replacement - I hadn't seen this before. Do you like it better than vuex?
@jtamiace's feedback:
Will update |
@rtibbles As for API requests that the new home page is responsible for triggering, they're defined in this handler and for example, for a signed-in user (who needs more data than a guest) it's four calls to these API endpoints:
|
Hi @MisRob, I spent some time yesterday and today testing the buildkite builds on Win10 and Ubuntu, went through all of the neatly written Notion scenarios and I'm happy to report that I didn't uncover any issues with the Home Page or the sections which are displayed depending on various variables such as whether the user is signed in or not and whether the user is enrolled in classes or not. Let me know when you fix the issue with the missing topic title in "Continue learning on your own" and I'll check for regression issues. |
Missing topic title in "Continue learning on your own" has been fixed cc @pcenov |
Yes, I'd say it has brought lots of clarity into the home page logic and writing tests even for more complex views that need to use composables feels much simpler than for those utilizing the whole Vuex machinery. Feels like a step towards functional programming with reactivity advantages. I am not sure how it compares to things that need to be handled accross plugins and would like to get a bit more experience - this was the first time I used it in production code since originally I was building it on top of JB's work who started using composables for the home page. If there's anything specific you're curious about, happy to chat more. |
While testing something else in IE11, I've noticed two new problems:
|
Tech debt issues related to this PR as well: |
when ellipsis should be hidden in IE
Fixed |
As far as I can remember, these should be two last tech debt or improvement issues related to the home page: |
@pcenov Thank you for testing. I finished all updates so if you'd like to check it out, I'll appreciate it. I haven't changed any logic related to what sections are displayed, it was rather some smaller UI tweaks that you can read more about in the comments above, so I think it'd be helpful to focus on cards in different resolutions across browsers, especially in IE. |
Hi @MisRob all looks very well, I tested in several browsers (including IE11) and different resolutions and was not able to identify any new issues. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code looks brilliant. Excellent work with thorough tests, JSDoc comments <3, excellent clarifying comments and good separation of concerns. I enjoyed getting a deeper dive into a and non-trivial real-world composition API implementation!
Do we need these breadcrumbs? Are they in scope here or will they be fixed in follow up?
I'm also seeing things that are off with the card styling where the thing under the ActivityType is centered, which looks odd - see "reference" is unaligned with anything else.
I think the errant breadcrumbs are fixed in #8548, so we can ignore for now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Follow up issues filed, and manual testing checks out.
Code read through by @nucleogenesis and a quick skim from me raised no red flags.
Summary
Add a new home page. It doesn't follow the full spec in Figma but is rather an MVP based on #8137. See test scenarios below for details. This PR is meant to be reviewed together with #8430, both code and testing, which contains the majority of work and was merged prematurely due to the string freeze. You're welcome to add review comments to already merged #8430.
References
Reviewer guidance
See the following test scenarios in Notion
Testing checklist
PR process
Reviewer checklist
yarn
andpip
)