-
Notifications
You must be signed in to change notification settings - Fork 113
feat: modular widget #521
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
base: main
Are you sure you want to change the base?
feat: modular widget #521
Conversation
Hey! This is your new endpoint: https://e5bc91ec.widget-featmodula.pages.dev |
Hey! This is your new endpoint: https://1cea12e1.widget-featmodula.pages.dev |
Hey! This is your new endpoint: https://d3f3226b.widget-featmodula.pages.dev |
Hey! This is your new endpoint: https://c8ac33ba.widget-featmodula.pages.dev |
Hey! This is your new endpoint: https://24a2e4aa.widget-featmodula.pages.dev |
Hey! This is your new endpoint: https://df7f1dad.widget-featmodula.pages.dev |
Hey! This is your new endpoint: https://5051dc9c.widget-featmodula.pages.dev |
Hey! This is your new endpoint: https://0fcc7c79.widget-featmodula.pages.dev |
Hey! This is your new endpoint: https://035e0435.widget-featmodula.pages.dev |
Hey! This is your new endpoint: https://fb02582c.widget-featmodula.pages.dev |
Hey! This is your new endpoint: https://3e3a5af6.widget-featmodula.pages.dev |
Which Jira task is linked to this PR?
LF-15704
Why was it implemented this way?
Separates ecosystem handlers into separate packages, for modular architecture, not to bundle them within the widget when users do not use them.
The idea is that widget context providers with their dependencies are packaged intp separate packages (e.g. @lifi/widget-provider-sui), and then, if they are installed and imported by users and passed as props to , the widget renders them. On render, all the handlers and info needed by wallet-management get set to the @lifi/widget-provider. And when wallet-management needs anything, it reads the info/handlers from the widget-provider (not imports them from external libs as before). So both widget and wallet-management become independent from external dependencies.
A separate package for the widget-provider is needed to avoid circular dependencies.
TODO: