-
Notifications
You must be signed in to change notification settings - Fork 328
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
Refactor LocalStorage
and associated hooks
#11625
base: develop
Are you sure you want to change the base?
Conversation
@MrFlashAccount for CR |
} = defineLocalStorageKey('localRootDirectories', { | ||
schema: (z) => z.string().array().readonly(), | ||
}) | ||
export const { use: useLocalRootDirectories, useState: useLocalRootDirectoriesState } = |
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.
Why is it still use
? Is it a hook?
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.
yup. it uses localStorage
from the context, not sure if it's necessary tbh but i think removing the LocalStorageProvider
is out of scope for this PR?
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.
Nowadays LocalStorage is a Singleton class, we can avoid using it from the context to make it possible to manipulate the storage state outside of the components, I think
…k when registering
…t to skip re-render
7cce37e
to
82e79fe
Compare
@MrFlashAccount might you have time to review this one soonish? |
modified: gui/.storybook/preview.tsx
Pull Request Description
localStorage
to use functionality returned by a single function, rather than registering keys plugin-style when modules are loaded.Important Notes
None
Testing Instructions
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:
The documentation has been updated, if necessary.Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.Scala,
Java,
TypeScript,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
Unit tests have been written where possible.If meaningful changes were made to logic or tests affecting Enso Cloud integration in the libraries,or the Snowflake database integration, a run of the Extra Tests has been scheduled.
If applicable, it is suggested to paste a link to a successful run of the Extra Tests.