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
Progress stage extras #16565
Progress stage extras #16565
Conversation
title: "Stage Extras", | ||
url: script_stage_stage_extras_url(script.name, stage_position: absolute_position), | ||
}, | ||
stage_extras_level_url: script_stage_stage_extras_url(script.name, stage_position: absolute_position), |
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.
By sending down a fake level object for stage extras, I was worried it would be easy at a future point to change the shape of Level.summarize, and not realize we needed to update this too. Given that the rest of this info is hardcoded, I decide to instead just pass the client a url, and let it own figuring out what to with it.
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.
👍 much cleaner
5fdbb91
to
45c3934
Compare
+cc @ryansloan |
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.
this looks great! Thanks again for picking this up
title: "Stage Extras", | ||
url: script_stage_stage_extras_url(script.name, stage_position: absolute_position), | ||
}, | ||
stage_extras_level_url: script_stage_stage_extras_url(script.name, stage_position: absolute_position), |
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.
👍 much cleaner
This is built on top of the work in https://github.com/code-dot-org/code-dot-org/pull/16270/files, but is compatible with our new progress bubbles. To enable, you need two experiments on:
progressBubbles
andstageExtras
It takes a slightly different design in that the the server is entirely responsible for determining whether or not stageExtras are enabled for this user/section. The client can then assume that if it has been given stageExtras info, it can/should show it.
Stage extras when we're not on stage extras level
Stage extras when we are on stage extras level
TODO: tests!