Skip to content
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: render tooltip in root #2210

Merged
merged 7 commits into from
May 6, 2024
Merged

refactor: render tooltip in root #2210

merged 7 commits into from
May 6, 2024

Conversation

enesozturk
Copy link
Contributor

Breaking Changes

Refactor the tooltip component to render it in the root of the w3m instead of in the component of it's used. This is an approach that allow us to have more capabilities when rendering tooltips. In some situations, we might need to render a tooltip with variety children's.

wui-tooltip-select

The existing wui-tooltip-select component, originally styled as a wallet feature button, will now support a broader range of components based on the specific use case.

Why render on the root?

  1. Overflow Handling: There are instances where the tooltip content is lengthy, causing it to overflow beyond the boundaries of the w3m component. With the previous implementation, the overflow was hidden by the w3m. Rendering at the root level resolves this issue.

  2. Positioning and Control: Certain tooltips necessitate rendering outside the w3m component for proper positioning and control. This change allows for precise placement and management of such tooltips.

Changes

  • Refactor wui-tooltip-select to wui-wallet-feature-button, since it's styling for only for wallet feature buttons on the account page.
  • Add TooltipController to manage tooltip state
  • Add w3m-tooltip-trigger to handle a variety children as a tooltip wrapper
  • Add w3m-tooltip component to render this on the root.

Copy link

vercel bot commented May 6, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
web3modal-demo ✅ Ready (Inspect) Visit Preview 💬 Add feedback May 6, 2024 10:23am
web3modal-gallery ✅ Ready (Inspect) Visit Preview May 6, 2024 10:23am
web3modal-laboratory ✅ Ready (Inspect) Visit Preview May 6, 2024 10:23am

Copy link
Contributor

@svenvoskamp svenvoskamp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good refactor! ⚡️

I'm not to keen on the name wui-wallet-feature-button. I think we need a more general name, so we could reuse it in the future for other things. Also please fix danger issues.

@enesozturk
Copy link
Contributor Author

@svenvoskamp Totally - I wasn't quite sure about its naming but at the same time, I'm not sure if it's a reusable component in different places since we don't have any similar components. Any suggestion for a name?

Taking a look danger issues right now!

@enesozturk
Copy link
Contributor Author

@svenvoskamp made a few changes danger.js checks for false errors.

@svenvoskamp
Copy link
Contributor

@svenvoskamp Totally - I wasn't quite sure about its naming but at the same time, I'm not sure if it's a reusable component in different places since we don't have any similar components. Any suggestion for a name?

Taking a look danger issues right now!

Yes we don't use it anywhere else, but I like to keep the component naming a bit more general. Maybe something like wui-icon-button

@enesozturk enesozturk merged commit feebb69 into V4 May 6, 2024
11 checks passed
@enesozturk enesozturk deleted the refactor/tooltip-in-root branch May 6, 2024 10:28
luu-alex added a commit to ChainSafe/web3modal that referenced this pull request May 13, 2024
* chore(lab): dogfooding button (reown-com#2206)

* chore: fix typos (reown-com#2188)

Signed-off-by: snoppy <[email protected]>
Co-authored-by: tomiir <[email protected]>

* refactor: render tooltip in root (reown-com#2210)

* feat: add react-ethers 6 example (reown-com#1920)

Co-authored-by: Sven <[email protected]>

* refactor: swap business logic improvements (reown-com#2199)

* chore: detailed canary timings (reown-com#2214)

* chore: add apple app site association (reown-com#2216)

* :feat add send logic  (reown-com#2173)

Co-authored-by: Cali93 <[email protected]>
Co-authored-by: Enes <[email protected]>

* fix: apple-app-site-association content type header (reown-com#2217)

* feat: Sign 2.5 (reown-com#2033)

Co-authored-by: Gancho Radkov <[email protected]>
Co-authored-by: Glitch <[email protected]>
Co-authored-by: Glitch <[email protected]>
Co-authored-by: Sven <[email protected]>
Co-authored-by: tomiir <[email protected]>
Co-authored-by: Enes <[email protected]>

* feat: Smart Account 6492 Signature Tests (reown-com#2196)

* fix: sign modal not appearing when going through siwe flow (reown-com#2213)

* Add signAndSendTransaction to Solflare, Backpack and Trust Wallet Ada… (reown-com#2190)

Co-authored-by: Valentyn <[email protected]>

* fix: missing call to SIWE `onSignOut` (reown-com#2054)

Co-authored-by: Glitch <[email protected]>
Co-authored-by: tomiir <[email protected]>

* fix: dayjs locale format seconds is not working and is polluting the global dayjs locale (reown-com#1689)

Co-authored-by: tomiir <[email protected]>
Co-authored-by: Gancho Radkov <[email protected]>
Co-authored-by: Gancho Radkov <[email protected]>
Co-authored-by: Ilja <[email protected]>
Co-authored-by: enesozturk <[email protected]>

* :deprecate - injected connector (reown-com#2223)

* chore: more canary timings (reown-com#2215)

* chore: updates ethereum-provider to latest (reown-com#2226)

* fix: add assertion for the erc20 abi json import (reown-com#2225)

* update packages

---------

Signed-off-by: snoppy <[email protected]>
Co-authored-by: Chris Smith <[email protected]>
Co-authored-by: Snoppy <[email protected]>
Co-authored-by: tomiir <[email protected]>
Co-authored-by: Enes <[email protected]>
Co-authored-by: Sven <[email protected]>
Co-authored-by: Luka Isailovic <[email protected]>
Co-authored-by: Cali93 <[email protected]>
Co-authored-by: Gancho Radkov <[email protected]>
Co-authored-by: Gancho Radkov <[email protected]>
Co-authored-by: Glitch <[email protected]>
Co-authored-by: Glitch <[email protected]>
Co-authored-by: Sven <[email protected]>
Co-authored-by: GooxPF <[email protected]>
Co-authored-by: Valentyn <[email protected]>
Co-authored-by: Tiến Nguyễn Khắc <[email protected]>
Co-authored-by: Nikos Rossolatos <[email protected]>
Co-authored-by: Ilja <[email protected]>
luu-alex added a commit to ChainSafe/web3modal that referenced this pull request May 16, 2024
* chore(lab): dogfooding button (reown-com#2206)

* chore: fix typos (reown-com#2188)

Signed-off-by: snoppy <[email protected]>
Co-authored-by: tomiir <[email protected]>

* refactor: render tooltip in root (reown-com#2210)

* feat: add react-ethers 6 example (reown-com#1920)

Co-authored-by: Sven <[email protected]>

* refactor: swap business logic improvements (reown-com#2199)

* chore: detailed canary timings (reown-com#2214)

* chore: add apple app site association (reown-com#2216)

* :feat add send logic  (reown-com#2173)

Co-authored-by: Cali93 <[email protected]>
Co-authored-by: Enes <[email protected]>

* fix: apple-app-site-association content type header (reown-com#2217)

* feat: Sign 2.5 (reown-com#2033)

Co-authored-by: Gancho Radkov <[email protected]>
Co-authored-by: Glitch <[email protected]>
Co-authored-by: Glitch <[email protected]>
Co-authored-by: Sven <[email protected]>
Co-authored-by: tomiir <[email protected]>
Co-authored-by: Enes <[email protected]>

* feat: Smart Account 6492 Signature Tests (reown-com#2196)

* fix: sign modal not appearing when going through siwe flow (reown-com#2213)

* Add signAndSendTransaction to Solflare, Backpack and Trust Wallet Ada… (reown-com#2190)

Co-authored-by: Valentyn <[email protected]>

* fix: missing call to SIWE `onSignOut` (reown-com#2054)

Co-authored-by: Glitch <[email protected]>
Co-authored-by: tomiir <[email protected]>

* fix: dayjs locale format seconds is not working and is polluting the global dayjs locale (reown-com#1689)

Co-authored-by: tomiir <[email protected]>
Co-authored-by: Gancho Radkov <[email protected]>
Co-authored-by: Gancho Radkov <[email protected]>
Co-authored-by: Ilja <[email protected]>
Co-authored-by: enesozturk <[email protected]>

* :deprecate - injected connector (reown-com#2223)

* chore: more canary timings (reown-com#2215)

* chore: updates ethereum-provider to latest (reown-com#2226)

* fix: add assertion for the erc20 abi json import (reown-com#2225)

* fix: encodes all `personal_sign` messages to hex (reown-com#2237)

Co-authored-by: Gancho Radkov <[email protected]>

* fix: siwe tests for 1 click auth (reown-com#2267)

* feat: phantom deeplink for mobile app browsers (reown-com#2250)

Co-authored-by: tomiir <[email protected]>

* fix: 4.2.0 bug fixes (reown-com#2234)

Co-authored-by: Enes <[email protected]>
Co-authored-by: Sven <[email protected]>
Co-authored-by: Sven <[email protected]>

* chore: UI canary 10 minute timeout (reown-com#2269)

* chore: bump to main 4.2.0 version (reown-com#2270)

* :feat social login - 1 - UI  (reown-com#2266)

Co-authored-by: enesozturk <[email protected]>

* :feat social login - 2 - Wallet (reown-com#2272)

* :feat social login - 3 - AuthConnector  (reown-com#2274)

* refactor: update profile name rendering logic (reown-com#2276)

* :hotfix in app support for injected and announced wallets  (reown-com#2279)

* refactor/theme variables and v4 ui updates (reown-com#2277)

---------

Signed-off-by: snoppy <[email protected]>
Co-authored-by: Chris Smith <[email protected]>
Co-authored-by: Snoppy <[email protected]>
Co-authored-by: tomiir <[email protected]>
Co-authored-by: Enes <[email protected]>
Co-authored-by: Sven <[email protected]>
Co-authored-by: Luka Isailovic <[email protected]>
Co-authored-by: Cali93 <[email protected]>
Co-authored-by: Gancho Radkov <[email protected]>
Co-authored-by: Gancho Radkov <[email protected]>
Co-authored-by: Glitch <[email protected]>
Co-authored-by: Glitch <[email protected]>
Co-authored-by: Sven <[email protected]>
Co-authored-by: GooxPF <[email protected]>
Co-authored-by: Valentyn <[email protected]>
Co-authored-by: Tiến Nguyễn Khắc <[email protected]>
Co-authored-by: Nikos Rossolatos <[email protected]>
Co-authored-by: Ilja <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants