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
Final touches for Quickstarts #2962
Final touches for Quickstarts #2962
Conversation
* This is a collection of wrappers around localStorage to ease getting information about Quickstarts state | ||
*/ | ||
|
||
function getActiveQuickstart (): null | string { |
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 think you can do something like:
function getActiveQuickstart(): null | string {
const quickstartId = localStorage.getItem('quickstartId')
return quickstartId || null
}
From MDN (https://developer.mozilla.org/en-US/docs/Web/API/Storage/getItem), it returns: A string containing the value of the key. If the key does not exist, null is returned.
I don't think there's a need to JSON.parse
as it looks like it's an ID you are saving and then retrieving.
And no need to check for length as the getItem
call will already return either the string or null if the key does not exist. The reason for the short circuit logic in the return
is to catch the edge case of quickstartId
being an empty string.
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.
Here's the catch: the Patternfly component stores this value as a stringyfied JSON, so the possible values are
undefined
"\"\""
"\"creating-a-method-quick-start\""
So we first need to check if it's a valid JSON and if so, if it's an empty string 😂
I forgot to add some tests, I hope it'll be clearer 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.
Ah I see. Then maybe we can make the variable named better? Anything named 'id' is usually a number (or sometimes a string for something like a guid); but in the case of an object, maybe a better name here? Just an idea.
d8a0b5b
to
567cf3e
Compare
What this PR does / why we need it:
Once this PR is merged, we should be able to deploy to master and ship this new feature.
Changes:
Which issue(s) this PR fixes
THREESCALE-8283: Integrate Quick Starts into 3scale