-
Notifications
You must be signed in to change notification settings - Fork 14
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
Add onVisibilityChanged function as a property argument #75
Conversation
Hi! I'm VTEX IO CI/CD Bot and I'll be helping you to publish your app! 🤖 Please select which version do you want to release:
And then you just need to merge your PR when you are ready! There is no need to create a release commit/tag.
|
Beep boop 🤖 I noticed you didn't make any changes at the
In order to keep track, I'll create an issue if you decide now is not a good time
|
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.
LGTM
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.
LGTM
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.
LGTM!
Your PR has been merged! App is being published. 🚀 After the publishing process has been completed (check #vtex-io-releases) and doing A/B tests with the new version, you can deploy your release by running:
After that your app will be updated on all accounts. For more information on the deployment process check the docs. 📖 |
#### What problem is this solving? The app has problems with pushing view_cart pixel event when variant="drawer". This problem happens because of the wrong logic of handling open/close state of the Drawer component. It switches isOpen from true to false and back when user presses on the Cart Button in the store front header: 1. User presses on the Cart button --> isOpen changes to true --> view_cart event is pushed; 2. User presses on the close Drawer button --> nothing changed; 3. User presses on the Cart button --> isOpen changed to false --> view_cart event is not pushed because isOpen state == false. To solve this wrong behavior I added onVisibilityChanged callback function as a property argument to the Drawer component in the drawer app and made these changes in the minicart app to handle open/close events properly. #### How to test it? In the browser inspector console tab type dataLayer to see events that have been pushed. It should add view_cart event on every Drawer opening and when user adds a new product to the cart (at the moment when Drawer is opening) https://devalex--dunnesstorespreprod.myvtex.com/ #### Screenshots or example usage: https://github.com/user-attachments/assets/aff7f680-d649-452a-8837-30242f287454 https://github.com/user-attachments/assets/adeb1c36-71e8-45ca-8778-e6e9e3a419d6 ![Снимок экрана 2024-08-02 в 15 13 17](https://github.com/user-attachments/assets/c702ae07-fa85-41ee-9db5-9be349b9cb26) #### Related PR vtex-apps/drawer#75
What problem is this solving?
There is no way to handle the Drawer open/close state in a parent component
How to test it?
Define onVisibilityChanged prop in a parent component:
This feature is used in the minicart linked app to handle closing of the Drawer:
https://devalex--dunnesstorespreprod.myvtex.com/
Related PR:
vtex-apps/minicart#335