Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
Hbergam/signin callout UI #38953
Hbergam/signin callout UI #38953
Changes from 11 commits
798240e
d703a7a
6f7c793
465006b
32b1892
a8f6130
41e3224
776689a
de2f53a
5e77dcd
113487d
2a7eb99
3a25711
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
I'm curious about why we need to put this value in session storage?
Also, is it possible to set the cookie for something like 20 hours? I'm thinking of the scenario where a student always does the activity at around the same time each day and wondering if the behavior might be weird if they do a level without seeing the popup and then see it on the next level. (Ideally I think we would want to reset this in the middle of the night each day.)
Finally, did we decide if we wanted to cap the number of times we show the callout (or just continue to show it once a day)?
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 spec stated that we wanted both, so if a student opens the same window the next day (example: student works on it at 2, and opens it again at 2:30 the next day), they don't see the message again in the same session. In fact, I think the use case for both is exactly what your example is actually covered by.
Even if the cookies flag expires, the student's session flag would still prevent it from being shown again unless they started a new lesson in a new window.
There was nothing stated in the spec about limiting the number of overall times it is shown, so I haven't included that.
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.
I see. I think the common case might be that students close their browser and open a new one the next day (e.g. this is what they teach my kids to do when using school laptops) but we can start with this and refine it if we get feedback.
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.
Hmm I definitely see what you mean re: students are closing down entirely and starting fresh the next day. And I guess in that case, I'm not sure what the most desirable behavior is (to your point earlier: the solution is potentially a midnight refresh time, which isn't currently set up with either of these tools). I'll keep as-is for now, and be ready to strip out session storage/refine cookies if needed!
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.
Could you add a header comment describing what this class does? (It's not immediately obvious from the name and I can't think of a better name.)
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.
So today I came across all of these Dialog components, which is kind of similar to what we're building here. There's a BaseDialog which handles whether the dialog is displayed, we could name this component
SignInCalloutDialog
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.
I agree that there's some similarities, especially around the modal interactions, but the placement differences (anchored to an item vs. centered on the page) seems significant to me. My feeling is that we will eventually want a Callout component that's a peer of BaseDialog?
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.
I've added a comment that hopefully can make it more clear! In regards to the comments about labeling this 'dialog'- it would seem more intuitive to me if the actual render/text component were labeled "dialog", as it's including what will be displayed (instead of the logic determining when it shows up). I'm definitely open to more discussion though.