* Add 'shared with you' badge
* Improve spacing where multiple badges span multiple lines
* Decrease font size of badges per new designs
* Include 'Manage on Woo.com' only for non-shared subscriptions
* Made TypeScript happier
* Add 'shared with you' badge
* Improve spacing where multiple badges span multiple lines
* Decrease font size of badges per new designs
* Include 'Manage on Woo.com' only for non-shared subscriptions
* Made TypeScript happier
* Add changefile(s) from automation for the following project(s): woocommerce
* Addressing linter errors.
* Allow unusually-long email addresses of sharers to wrap
* Switch wordWrap for overflowWrap
Modern browesers interpret the former as an alias of the latter, including allowing the use of 'anywhere'. But the current version of https://www.npmjs.com/package/csstype only recognises 'anywhere' as valid for overflowWrap. Switching it prevents compilation errors, still exhibits the correct behavior.
* Prettier linting
* Update plugins/woocommerce/changelog/46229-add-wccom19063-in-app-shared-by-badge
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Add changefile(s) from automation for the following project(s): woocommerce
* Use pointer as cursor for status popovers
* Don't focus-within the status badge popover on load (prevents ugly link focus issue)
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Support for Business Services in in-app marketplace ()
Contains the changes from:
#46530#46725#47048#47135#47183#47227#47352#47452
* Update plugins/woocommerce-admin/client/marketplace/README.md
Fix documentation punctuation
---------
Co-authored-by: Raja Sekar Manimaran <raja.sekar.manimaran@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Michal Iwanow <4765119+mcliwanow@users.noreply.github.com>
Co-authored-by: Dan Q <dan@danq.me>
* Update to pnpm 9.1 and fix a mini css bug
* Add changefile(s) from automation for the following project(s): @woocommerce/tracks, @woocommerce/product-editor, @woocommerce/onboarding, @woocommerce/number, @woocommerce/notices, @woocommerce/navigation, @woocommerce/internal-js-tests, @woocommerce/extend-cart-checkout-block, @woocommerce/expression-evaluation, @woocommerce/explat, @woocommerce/experimental, @woocommerce/eslint-plugin, @woocommerce/dependency-extraction-webpack-plugin, @woocommerce/date, @woocommerce/data, @woocommerce/customer-effort-score, @woocommerce/currency, @woocommerce/csv-export, @woocommerce/create-woo-extension, @woocommerce/create-product-editor-block, @woocommerce/components, @woocommerce/api, @woocommerce/ai, @woocommerce/admin-e2e-tests, woocommerce-blocks, woocommerce-beta-tester, woocommerce, woo-ai
* temporarily disable swallowing build output to diagnose issue with perf workflow
* Ignore some type issues that commonly resurface when deps slightly change
* Fix persistent type issues that have recurred many times
* Add more ignores
* Fix lint issue
* Revert change to swallow build error
* Improve access of the config that needs updated build dir.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Freemium: update marketplace product card label
* Add changefile(s) from automation for the following project(s): woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Allow having two different in-app connect messages based on WooCommerce.com Update Manager installation status.
* Revert to older message.
* Update connect message icon.
* Prevent showing the red badge when site is not connected.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* add a woo.com connect notice in the plugin list for unconnected store
* add an extra notice string for store that runs outdated woo plugins
* add connect page hyoerlink to the plugin notice
* add changelog
* add comment for maybe_show_connect_notice_in_plugin_list()
* fix linter error
* use installed local woo plugin as the counter of extra notices
* only show woo connect notice in the woocommerce settings page
* add woocom connect notice component
* add woocom connect notice component to the content component
* add extra notice in the woocom connect notice component based on the local woo plugins count
* persist dismissal of woo connect notice in the wc admin settings page
* update changelog
* use update-check-public for unconnected stores
* use information from update-check-public API to determine notice show logic
* re-show dismissed connect woocom notice after 1 month
* add re-show notice logic for react admin page of woo connect notice
* fix identation
* differentiate local storage key for notice dismissal
* move woo connect notice script to different file
* rename to connectnotice
* fix linter issue
* fix linter issue
* update woo.com to woocommerce.com
* update woo.com to woocommerce.com in comment
* capitalize the WooCommerce.com
Co-authored-by: Leif Singer <leif@automattic.com>
* capitalize WooCommerce.com
---------
Co-authored-by: Leif Singer <leif@automattic.com>
* Extract update count function.
* Pass wooUpdateCount to be used by admin components.
* Show update count bubble on in-app my subscriptions tab.
* Add changefile(s) from automation for the following project(s): woocommerce
* Refactor how update count HTML is generated and move logic into appropriate classes.
* Show red badge when the site is disconnected, regardless of the installation status of WUM.
* Always display as 1 update is available when site is disconnected.
* Skip using dangerouslySetInnerHTML.
* Remove unused dependency.
* Move updateCount to a tab property.
* Prevent calling get_update_count if the site is not connected.
* Raw url encode the product key before signing the URL
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Muhammad Anas <muhammad.anas@automattic.com>
* Remove the hook for updating update_plugins transient with data fetched from Woo.com
This prevents the WP core from updating Woo.com plugins.
* Remove the hook for updating update_themes transient with data fetched from Woo.com
This prevents the WP core from updating Woo.com themes.
* Remove the class hand hooks used for updating the API response of WP.org with update URI's from Woo.com.
* Add change log file.
* Add update_plugins and themes transient update hooks back while removing the package from Woo.com extensions.
When a Woo hosted plugin has an update, this will allow showing the update message but block the ability to update.
* Adding a hook to modify the plugin update notification on plugins.php.
When a Woo.com hosted plugin has an update available it will show a message to install Woo Marketplace plugin, if it's not installed.
* Utility class for Woo Marketplace plugin.
* Check wether the Woo marketplace plugin is already installed before modifying update notice.
* Update docblocks.
* Add status end point for wccom-site API.
* Check the existence of marketplace plugin only after the plugins are loaded.
* Add WP.org plugin api response updater back to core.
* Function to identify if the market-place plugin is installed.
* Update status API response with installation status.
* Update the status variable push to store admin frontend with information about market-place plugin.
* Styles for woo-connect-plugin component.
* Component for displaying the message to install Woo Connect plugin based on the installation status.
* Add Woo Connect plugin notice to my-subscriptions page.
* Add Woo connect plugin message to discover page.
* Add Woo Connect install/download urls to constants file.
* Add a modal for asking the user to install Woo Connect plugin.
* Update strings with constants.
* Show the Woo Connect modal when user updating plugins without Woo Connect installed.
* Show Woo Connect install notifications only when the site is connected.
* Update plugin management page messaging.
* Update notification on connect screen.
* Update notifications on plugin management page.
* Remove additional spacing in Plugin Install Notice and spacing in the discover page results and the notice.
* Use notice component instead of Card.
* Minor improvements to readability.
* Add translation support for messages displayed on plugins.php.
* Update woo connect plugin installation URL (#45127)
* Ad functions for generating WooConnect plugin install URLs.
* Make WooConnect install url to available to marketplace components.
* Make WooConnect install url to available to marketplace components.
* Link install buttons to install URL with access_token and secret.
* Update Woo Update Manager download url.
* Show admin notice to install Woo Update Manager on plugins.php.
* Adding the view for admin notice for installing woo_update_manager.
* Show woo update manager installation notice on WC admin pages and make the notice dissmisable.
* Update the install url for Woo Update Manager by adding the product ID and introduce a filter to override the product ID.
* Change the plugin name to Woo Update Manager.
* Change the download url for woo update manager
* Fix the margin below the Woo Update plugin install notice.
* Rename Woo Connect to Woo Update Manager.
* Rename wccom-site status endpoint response variables based on plugin name changes.
* Update the plugin main file name for Woo Update Manager.
* Updating the download URL.
* Updating css class names and file names from `woo-connect-plugin` to `woo-update-manager`.
* Change wooConnect variables to wooUpdateManager.
* Rename WC_Helper_Plugin to WC_Woo_Update_Manager_Plugin and remove references to market place plugin.
* Extract and reuse the logic for creating the signature.
* Use WC built-in method to check if the current page is a WC page.
* Add source parameter for installer.
* Update text copies based on flows for in-app Woo Update Manager install message.
* Update admin notice based on the flows.
* Update connect store message.
* Update the text based on the latest flow and show a different message when WUM is installed but not activated.
* Use html text for install notice message.
* Implement the bubble showing number of updates available on WooCommerce -> Extensions menu. Add one to available Woo.com updates if WUM is not installed or activated.
* Update install url to new structure.
* Update download url for WUM.
* Add a method to get the id of the WUM.
* Remove WUM from available to install list of extensions on my-subscriptions tab.
* Remove the hard coded ID of the Woo Update Manager and use the slug to get the ID of the plugin based on update-check response.
* Fixing the notice generated due to empty body.
* Update CTA and image for the not connected screen.
* Increasing the left margin of the install notice to match admin notices.
* Add close button to modal with message to activate WUM.
* Add install/activate notice to Browse and Themes tabs.
* Add the view for showing admin notice for activating the plugin.
* Update plugin name on install admin notice.
* Show install or activate admin notice based on the context.
* Update comment
* Make the linked text shorter in plugin update message.
* Generate a signed auto-install URL for woo hosted plugins without helper API (#45313)
* Generate a signed auto-install URL for woo hosted plugins without helper API
* Use product slug in auto-install URL instead of product id.
* Update activate Woo Update Manager modal buttons.
* Change install url from Woo Update Manager ID to slug.
* Allow defining the menu title and page title separately for when adding menus and sub menus in WooCommerce Admin.
* Set the page title separately for WooCommerce Extensions menu.
* Fix the update count issue.
* Update the download URL for Woo Update Manager.
* Update the download link for WUM in admin notices.
* Show WUM admin notices on WC Admin pages only when the site is connected.
* Remove additional slash in plugin admin url.
* Add wum-installed parameter to the connect URL (#45702)
* Add wum-installed parameter to the connect URL
* Send status of Woo Update Manager installation on connection init.
* Revert "Add wum-installed parameter to the connect URL"
This reverts commit 4c55038b03.
---------
Co-authored-by: Denis Dvali <denis.dvali@automattic.com>
* Fix lint errors.
* Fix lint error.
* Fix lint errors.
* Fix js lint issues.
* Update Woo Update manager admin notice.
---------
Co-authored-by: Muhammad Anas <anastts.pk@gmail.com>
Co-authored-by: Denis Dvali <denis.dvali@automattic.com>
* Show modal when the task is completed
* Go to the assembler when the theme was already customized
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Pass 'Sponsored' detail down to product cards from API
* Style a "Sponsored" label
* Stripe on top of sponsored products
* Add 'blob' next to sponsored listings
* Fix indentation bug
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce-admin/client/marketplace/components/product-card/product-card.tsx
Co-authored-by: Remi Corson <remicorson@gmail.com>
* Update plugins/woocommerce-admin/client/marketplace/components/product-card/product-card.tsx
Co-authored-by: Remi Corson <remicorson@gmail.com>
* Update plugins/woocommerce-admin/client/marketplace/components/product-card/product-card.tsx
Co-authored-by: Remi Corson <remicorson@gmail.com>
* Apply suggestions from code review
Co-authored-by: Remi Corson <remicorson@gmail.com>
* Add missing close parenthesis following linter changes
* Make linter happier about hex colors (still needs variablising)
* Fix margins around vendor name
* Fixed height of product stripe
* Linting
* Moved color to variable and calculated alpha using Sass functions
* Update plugins/woocommerce-admin/client/marketplace/components/product-card/product-card.scss
* Update plugins/woocommerce-admin/client/marketplace/stylesheets/_variables.scss
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Remi Corson <remicorson@gmail.com>
* Ensure the 'Didn’t find a theme you like' text is displayed exclusively at the bottom of the themes card
* Limit the display of the CYS design banner to the Themes screen.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS - Core: fix wp-admin page visible when click on start designing
* Add changefile(s) from automation for the following project(s): woocommerce
* not show wp-admin after the click on the dialog button
---------
Co-authored-by: github-actions <github-actions@github.com>
* Introduce the new 'Design your own' button in the themes screen.
* unify the SCSS margins
* Add double quotes for woocommerce-marketplace__sub-header
* Add the CYS banner to the marketplace.
* Ensure each child in a list should have a unique 'key' prop
* Update the NoAIBanner component to direct users to the CYS flow.
* Add the customizeStoreDesignUrl const
* Ditch navigateOrParent
* Add the 'Browse the WordPress.org theme directory to discover more' link.
* Ensure the warning Modal is displayed whenever the user clicks on the 'Design your own' button and their current active theme is not TT4
* Remove the unnecessary fragment
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fixing filtering by tabs in `Promotions` component.
Using reference to WC_Admin_Marketplace_Promotions::TRANSIENT_NAME when outputting JS data for promotions, instead of transient string.
Better initialisation of wc global object in the inline script.
* Changelog.
* Using global var for marketplace.
* More tentative reference to global object.
* icon TS error
* Moves calls to `recordMarketplaceView` and `recordLegacyView` to the `finally` of the `useEffect` in the Content component. Calling these functions at the top of the hook is recording a view for the default screen and then a view for the My Subscriptions screen when you go directly to My Subscriptions.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Introduce Notice component
* minor alignment fix
* Fix MD title increment
* Fix readme lint
* add changelog entry
* fix CSS lints
* Small tweaks.
Regularising the spelling of isDismissible.
Using sanitizeHTML to sanitize the notice description.
Making the variant classes like &-success to make them a bit shorter.
Adjusting wording of README to convey that this component is designed for the marketplace, though it can be used elsewhere.
Tweaking whitespace in one place in the TSX to please the linter.
* Update plugins/woocommerce-admin/client/marketplace/components/notice/notice.tsx
Co-authored-by: Michal Iwanow <4765119+mcliwanow@users.noreply.github.com>
* address feedback
* Changed notice classnames to use `__{$variant}` pattern as well. Restored 40px bottom margin to notices on viewports 600px and above. Added height 24px on icons to ensure they're nicely vertically centred.
---------
Co-authored-by: Remi Corson <1649788+corsonr@users.noreply.github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
Co-authored-by: Michal Iwanow <4765119+mcliwanow@users.noreply.github.com>
* Marketplace: Fix the bug hiding connection hiding
Actually, this bug causes all modal state to be lost. But since we
check the connection only when the page loads, on a subsequent tries, we can 't show the connection warning.
* Marketplace: update documentation and typos
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Marketplace: Add "Add to Store" button for free and WordPress.org products (#43616)
* Marketplace: Install free .org plugins with Add to Store button
* Marketplace: addressed feedback for the the new install free products flow
- Moved notices to the top of the modal
- Updated notice styles slightly
- Updated the CreateOrderSuccessResponse to reflect API changes
* Marketplace: Require the Helper orders API file
* Marketplace: fix linter errors
* Marketplace: form encode when submitting the request
The body is encoded anyways by the WordPress core. However, if I don't
do it here, I can't create a valid signature to be verified by
Woo.com.
I could have just submitted a JSON too, but this seamed easier since
the body is parsed on Woo.com automatically when it's in this form.
* Add changefile(s) from automation for the following project(s): woocommerce
* Marketplace: remove "~" character in imports and use relative paths
* Marketplace: fix margins in the product with the Add to Store button
* Marketplace: Add conditions to hide the button
We hide it if:
- the product is already installed
- user doesn't have the right capability
- if the product is just installed using our flow and there is
no page refresh
* Marketplace: don't show Add to Store button on Themes and on Discover
* Marketplace: fix linting
* Marketplace: hide ratings from the product if "is-small" class exists
* Marketplace: fix linting errors
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add rating and change product card layout
* Fix some minor CSS bugs in existing code
* Implement skeleton loader
* Update theme card styling to match design
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add utm_category to discover page
* Fix product category URL params
* Add changefile(s) from automation for the following project(s): woocommerce
* Update productCategory to productGroup in Discover and NoResults components
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: Simran <simran.kaur@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
* Installer url API
* Redirect if installer not available
* Remove paid product autoinstall support
---------
Co-authored-by: github-actions <github-actions@github.com>
* Marketplace: add Tracks events for the subscription page
Added events for:
- marketplace_product_installed
- marketplace_product_install_failed
- marketplace_renew_button_clicked
- marketplace_subscribe_button_clicked
- marketplace_product_updated
- marketplace_product_update_failed
* Marketplace: update Tracks properties
We used to reference product slug only. But may change and if the store
is rate limited, that information is missing. This commit switches
using "product_zip_slug" and "product_id".
* Marketplace: add product version info to update and install Tracks events
* Don't show a My Subscriptions group if it's empty
* Hide expiry if installed but has no subscription
* Show subscription status labels in a column
* Add changefile(s) from automation for the following project(s): woocommerce
* Show only one badge
* Show installed header if no installed items
* Remove test code
* Show entire installed section
---------
Co-authored-by: github-actions <github-actions@github.com>
* Not connected screen fixes
* Table improvements
* Success notice icon
* Use the same layout of columns for both tables
* Popover
* Add changefile(s) from automation for the following project(s): woocommerce
* CSS lint fixes
* Styling tweaks. Changed font-weight of `.woocommerce-marketplace__product-list-title` to 400, to correspond with the correct weight of the titles like "Installed on this store" in the My Subscriptions section.
* Undo refresh move
* Fix subgrid max widths
* Fic status height
* Update collaborate link
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Add discover products to page view event
* Initial implementation of beacon REST API (WIP)
* Discover page - products viewed
* Product card clicked event (WIP)
This takes data from various sources and sends it based on the different places that product cards could appear.
Data included:
- position
- vendor
- product type
- label - indicates if "promoted" if applicable
- group - the discover page group if applicable
- search_term - the search term if applicable
- category - the product category clicked from
The data is essentially complete. The beacon API needs finalising still though. Also, the vendor name click event will need to be updated with the same data.
* See more button & Category dropdown "more" events
* Marketplace: remove custom Beacon and use "queueRecordEvent"
* Marketplace: reenable product card links
This was disabled temporarily while we tested tracks on click
* Marketplace: Add position to tracks event
Co-authored-by: Kyle Nel <22053773+kdevnel@users.noreply.github.com>
* Marketplace: move Tracks data to a different prop and type
* Marketplace: refactor Tracks calls in product card
---------
Co-authored-by: raicem <unalancem@gmail.com>
Co-authored-by: Cem Ünalan <raicem@users.noreply.github.com>