Commit Graph

30 Commits

Author SHA1 Message Date
Cem Ünalan 58434b8769
Marketplace: hide subscriptions with maxed connections and fix "not connected" badge (#51610)
* In-App Marketplace: hide subscriptions for maxed out connections

If we don't add this check, subscriptions with no connection allowances,
still show up in the "Available to Use" table. This can be misleading.

* In-App Marketplace: Fix My Subscriptions table row statuses

When there are multiple subscriptions for a product, we can't manage the
state between "installed" and "available to use". This commit separates
some of the functionality between the tables in the My Subscriptions
page.

1) Don't show "not connected" badge on the "available to use" table
2) Don't show the "update" button on the "available to use" table

We can't test the number two, because I noticed we no longer send the
verison number in the WCCOM endpoint

* Add changefile(s) from automation for the following project(s): woocommerce

* Marketplace: remove unused useEffect

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-09-26 11:37:44 +00:00
Herman e65481aa27
Marketplace business services: Feature branch (#47303)
* 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>
2024-05-15 14:43:06 +02:00
Thilina Pituwala dae1c963da
Remove red badge on extensions menu when the site is not connected (#46807)
* 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>
2024-04-23 15:38:11 +00:00
Leif Singer 8ee74ede0e
Update Woo.com references to WooCommerce.com (#46259)
* replace capitalized Woo.com with WooCommerce.com

* replace http URLs

* replace https URLs

* replace developer.woo.com

* add missing version in `@since` tag

* unslash the HTTP_REFERER

* WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

* add changelog file

* add more changelog files

* address linter errors

* address more linter errors

* fix test

* more linter errors
2024-04-09 09:50:15 +01:00
Thilina Pituwala d065b786f5
Remove the ability to update Woo.com extensions not available in WP.org plugin directory (#44279)
* 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>
2024-03-20 15:02:23 +01:00
berislav grgičak c018d7751b
Redirect Woo.com connect request to selected page (#43315)
* Working redirect

* Dynamic connect urls

* Clean up

* Changelog
2024-01-10 07:20:15 +01:00
berislav grgičak 2964800f27
Add subscription install modal (#42009)
* Install modal

* Add connect button

* Small product card

* Add install functionality

* Add no subscription error

* Fix error notice loading

* Connect style

* Add success state

* Fix admin urls

* Add error message to failed install events

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-14 12:45:40 +01:00
berislav grgičak 6f58b003a5
Marketplace subscriptions mobile fixes (#41597)
* Gradient fixes

* Responsive header
2023-11-21 12:43:06 +01:00
berislav grgičak ab400a4128
Unconnected subscription improvements (#41468)
* 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>
2023-11-21 08:33:06 +01:00
berislav grgičak 48d7490c2a
Marketplace design improvements (#41505)
* 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>
2023-11-21 08:08:26 +01:00
berislav grgičak b3d24ef7d1
Update refresh button to use API (#41397)
* Add refresh to subscription context

* Add refresh button

* Prevent multiple clicks

* Add changefile(s) from automation for the following project(s): woocommerce

* Fix notices

* Refresh notices

* Trigger Build

* Add spacing and fix class name

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-11-16 11:51:30 +01:00
berislav grgičak 785b630dca
Fix subscription grouping (#41288)
* Hide install if not installable

* Refactor local data generation

* Add subscription installed flag

* Add connect support to not in use items

* Remove debug code

* Add changefile(s) from automation for the following project(s): woocommerce

* Linter fixes

* Add changefile(s) from automation for the following project(s): woocommerce

* Update plugins/woocommerce/includes/admin/helper/class-wc-helper.php

Co-authored-by: And Finally <andfinally@users.noreply.github.com>

* Update plugins/woocommerce/includes/admin/helper/class-wc-helper.php

Co-authored-by: And Finally <andfinally@users.noreply.github.com>

* Update plugins/woocommerce/includes/admin/helper/class-wc-helper.php

Co-authored-by: And Finally <andfinally@users.noreply.github.com>

* Update plugins/woocommerce/includes/admin/helper/class-wc-helper.php

Co-authored-by: And Finally <andfinally@users.noreply.github.com>

* Remove duplicate changelog

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
2023-11-10 06:11:40 +01:00
Cem Ünalan 4b97e3e9c9
Marketplace: table design updates (#41066)
* Marketplace: table design updates

* Marketplace: address PR feedback

- Added enum for status levels
- Fixed color for the table rows
- Used ADMIN_URL for referencing plugins page
-

* Marketplace: Update WooCommerce.com references to Woo.com

Co-authored-by: And Finally <andfinally@users.noreply.github.com>

* Marketplace: fix how status badges look on narrower screens

---------

Co-authored-by: And Finally <andfinally@users.noreply.github.com>
2023-11-08 13:26:44 +03:00
berislav grgičak 154c69c2d5
My subscriptions error notices (#41124)
* Marketplace: Populate the table rows with components

* Marketplace: add links to dropdown menu and fix fallback product icons

* Marketplace: fix popover width

* Add My subscriptions install (#40630)

* Marketplace: add plugin install from the subscriptions page

Co-authored-by: berislav grgičak <berislav.grgicak@gmail.com>

* Marketplace: Use the activation function to show install button

---------

Co-authored-by: raicem <unalancem@gmail.com>

* Add WP updates script to the extensions page

* Add update button

* Add update data to subscriptions

* Update plugins

* Prevent update if license unavailable

* Add changefile(s) from automation for the following project(s): woocommerce

* Remove all data from API

* Linter fixes

* Linter fixes

* Remove merge string

* Update link style

* Add comment for updates.js

* Prevent updates if required data is missing

* Return removed slug code

* Add renew modal

* Update install to run until new data loaded

* Add activate modal

* Add connect modal

* Add renew button

* Renewal button

* Rename activate to connect

* Add subscribe button

* Add action buttons

* Remove unused const

* Add changefile(s) from automation for the following project(s): woocommerce

* Switch to WP installer

* Use WP installer

* Remove install endpoint

* Fix php warning

* Add download_link if subscription exists

* My subscriptions action modals (#40934)

* Add renew modal

* Update install to run until new data loaded

* Add activate modal

* Add connect modal

* Add renew button

* Renewal button

* Rename activate to connect

* Add subscribe button

* Add action buttons

* Remove unused const

* Add changefile(s) from automation for the following project(s): woocommerce

* Update plugins/woocommerce-admin/client/marketplace/components/my-subscriptions/my-subscriptions.scss

Co-authored-by: And Finally <andfinally@users.noreply.github.com>

* Update import path

---------

Co-authored-by: And Finally <andfinally@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>

* Use product slugs for installing

* Add store for installing state

* Add theme install support

* Product activate endpoint

* Activate after install

* PHP warning

* Update context

* Debugging

* Install context

* Linter

* Simplify context

* Use Redux instead of context

* Add changefile(s) from automation for the following project(s): woocommerce

* Replace ~ with relative paths

* Add error notices

* Move update to functions

* Add notice store

* Fix linter errors

* Remove temp file

* Add changefile(s) from automation for the following project(s): woocommerce

* Don't autoremove notices

* Add status to notices

* Send just required path field

* Subvscribe hover color

* Css linter fix

* Fix error notice style

* Update manage button text

* Linter fixes

---------

Co-authored-by: raicem <unalancem@gmail.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
2023-11-07 09:21:12 +01:00
Kyle Nel b62fc16aa3
Change woocommerce.com URLs to woo.com in marketplace (#41127)
Change woocommerce.com to woo.com
2023-11-06 10:15:34 +02:00
berislav grgičak 83b7b95850
Add subscriptions empty state (#40862)
* Add disconnected state

* Add changefile(s) from automation for the following project(s): woocommerce

* Added top margin to `.woocommerce-store-alerts` to address https://github.com/Automattic/woocommerce.com/issues/18448.

* Rename description class

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
2023-10-23 07:55:23 +02:00
berislav grgičak e30a99dc55
Return to new subscriptions page after action (#40727)
* Add redirect override method

* Redirect to wc-admin when needed

* Update refresh url

* Add changefile(s) from automation for the following project(s): woocommerce

* Deleted unused import of `Themes` component. Was breaking local build.

* Linter fixes

* Linter

* Update plugins/woocommerce/includes/admin/helper/class-wc-helper-admin.php

Co-authored-by: Cem Ünalan <raicem@users.noreply.github.com>

* Small fixes

* PHPCS fixes

* Linter fixes

* Linter

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
Co-authored-by: Cem Ünalan <raicem@users.noreply.github.com>
2023-10-18 12:07:18 +02:00
Cem Ünalan 25dccd4968
Marketplace: Implement the subscriptions table row (#40626)
* Marketplace: Populate the table rows with components

* Marketplace: add links to dropdown menu and fix fallback product icons

* Marketplace: fix popover width

* Add My subscriptions install (#40630)

* Marketplace: add plugin install from the subscriptions page

Co-authored-by: berislav grgičak <berislav.grgicak@gmail.com>

* Marketplace: Use the activation function to show install button

---------

Co-authored-by: raicem <unalancem@gmail.com>

* Marketplace: Fix issues with copy on the My Subscriptions page

Co-authored-by: And Finally <andfinally@users.noreply.github.com>
Co-authored-by: berislav grgičak <berislav.grgicak@gmail.com>

* Marketplace: Use $grid-unit variables in SCSS

* Marketplace: fix the build error a missing module

* Linter fixes

---------

Co-authored-by: berislav grgičak <berislav.grgicak@gmail.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
2023-10-18 12:14:14 +03:00
Bero 60ef6dbbaf FIx installed list filter 2023-09-28 20:58:07 +02:00
Bero 3de2a2bf3d Fix linter error 2023-09-28 20:49:22 +02:00
berislav grgičak 8100917f2f
Update plugins/woocommerce-admin/client/marketplace/components/my-subscriptions/my-subscriptions.tsx
Co-authored-by: Cem Ünalan <raicem@users.noreply.github.com>
2023-09-28 10:02:46 +02:00
berislav grgičak a6dcfb08bb
Update plugins/woocommerce-admin/client/marketplace/components/my-subscriptions/my-subscriptions.tsx
Co-authored-by: Cem Ünalan <raicem@users.noreply.github.com>
2023-09-28 08:53:06 +02:00
Bero 93c650e2f5 Add expired to the installed list 2023-09-27 13:03:56 +02:00
Bero a0c30a298a Fix version number logic 2023-09-27 12:26:13 +02:00
Bero 17979635b6 Load correct data in components 2023-09-27 12:21:50 +02:00
Bero a4cceab468 List subscriptions from API 2023-09-26 14:12:14 +02:00
Dan Q 1e929314e0 Fix style of tooltip 2023-09-22 11:05:42 +01:00
Dan Q 648dbcd75c Linter appeasement 2023-09-21 15:17:53 +01:00
Dan Q b05a5abc10 Fix typo and lint 2023-09-21 15:11:19 +01:00
Dan Q 5e7263b77d Create My Subscriptions skeleton (with refresh link) 2023-09-21 15:00:04 +01:00