Commit Graph

16 Commits

Author SHA1 Message Date
Michal Iwanow a15235d230
Update My Subscriptions screen labels and columns (#49985)
* Remove Marketplace feedback modal which is no longer used

The goal of the modal was not to be shown after 2023 (see https://github.com/woocommerce/woocommerce/pull/39609),
so we can remove it from the codebase now. Especially that it's a bit buggy - snackbar prompting for feedback
is displayed but the modal is not there because of the check for FEEDBACK_DIALOG_CAN_APPEAR.

* Marketplace Subscriptions - rename columns

* Marketplace subscriptions - show status badge in the Subscription column

Additionally, we remove the info icon from the status popover

* Marketplace subscriptions - add button helping to turn renewals on

* changelog

* Add focus handlers for accessibility

* Remove unused variable

* Fix sharing path url - My Subscriptions

* Change the status badge priority for expired

We should show the expired badge first, as it makes more sense with the
primary action.

---------

Co-authored-by: raicem <cem.unalan@automattic.com>
Co-authored-by: Cem Ünalan <raicem@users.noreply.github.com>
2024-08-01 14:12:32 +02:00
Dan Q edc22bca24
Add "Shared with you" badge to Extensions > My Subscriptions list as applicable (#46229)
* 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>
2024-05-17 13:22:50 +01: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 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 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
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 53c4fe6afb
My subscription product updates (#40752)
* 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

* 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>

---------

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-10-27 06:08:27 +02:00
berislav grgičak 7cd33b5e95
Marketplace search improvements (#40667)
* Show themes first if no extensions

* Empty search load discover page

* Show three items per row if not dividable by four

* Update search per page to 8 for large screens

* Show 8 items on large screens

* Prevent same tab click

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

* Fix function name

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-10-17 18:32:23 +02:00
Kyle Nel d8adecf783
Marketplace Themes: Feature Branch (#40159)
* Support for themes in in-app marketplace.

Contains the changes from:

https://github.com/woocommerce/woocommerce/pull/40247
https://github.com/woocommerce/woocommerce/pull/40272
https://github.com/woocommerce/woocommerce/pull/40302
https://github.com/woocommerce/woocommerce/pull/40303
https://github.com/woocommerce/woocommerce/pull/40333
https://github.com/woocommerce/woocommerce/pull/40368
https://github.com/woocommerce/woocommerce/pull/40375
https://github.com/woocommerce/woocommerce/pull/40375
https://github.com/woocommerce/woocommerce/pull/40389

* `.woocommerce-marketplace__discover`: changed `align-items` `flex-start` to `stretch` to properly display products on large and very large viewports.

* Delete plugins/woocommerce/changelog/add-18026-marketplace-theme-cards

Removing from feature branch before final review

* Delete plugins/woocommerce/changelog/add-18027-themes-to-in-app-search

Removing from feature branch before final review

* Delete plugins/woocommerce/changelog/add-marketplace-theme-discover-section

Removing from feature branch before final review

* Delete plugins/woocommerce/changelog/update-in-app-multiple-category-filters

Removing from feature branch before final review

* Delete plugins/woocommerce/changelog/update-theme-no-result-style

Removing from feature branch before final review

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

---------

Co-authored-by: And Finally <andfinally@users.noreply.github.com>
Co-authored-by: Dan Q <dan@danq.me>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Dan Q <danq@automattic.com>
2023-10-04 18:59:34 +02:00
And Finally 6d65d54ed5 [wccom-17942] Making sure snackbar doesn't appear before content has loaded.
- Fixing `prettier` linter errors.
2023-09-04 15:45:24 +01:00
And Finally 6ae83b08ec [wccom-17942] Making sure snackbar doesn't appear before content has loaded.
- Addressing feedback. Renamed `MARKETPLACE_API_HOST` TO `MARKETPLACE_HOST` to make it less confusing – we don't only use it for API URLs.
2023-08-31 16:14:06 +01:00
And Finally 3c8f4861e4 [wccom-17942] Only showing feedback snackbar when content of in-app marketplace has finished loading. Making sure snackbar is fixed position, so it's visible wherever you are on the page.
- `ProductListContextProvider` provides `setIsLoading` function as well as `isLoading`.
- `Discover` uses these values from context, instead of keeping a loading state in itself.
- `FeedbackModal` calls `maybSetTimeout` when `isLoading` changes. If `isLoading` isn't truthy, and snackbar hasn't already rendered, it sets a timeout of 5 seconds to show it.

- Removed wrapping <WooFooterItem> from around Footer component, so it's no longer a child of the WooCommerce Admin `.woocommerce-layout__footer` footer.
- Removed the `position: relative` from `.woocommerce-layout__footer`. It needs to be `position: fixed`.
- Added FooterContent component to Footer, to allow the layout we want.

- Changed use of context. This now only has states for the selected tab and loading state.
- We use this context in `Tabs` and `Content` to keep track of which tab is selected, and set the selected tab.
- We also use it in `Discover` and `Extensions`, which both report loading state to the context. This allows us to use it to only render the snackbar when loading is complete.
- Extensions: moved `productList` and `setProductList` and logic for getting product list from the context provider to a state in this component. We don't need to share the list of products in the context.
- Renamed `ProductListContext`, `ProductListContextProvider` and `productListContextValue` to more generic `MarketplaceContext`, `MarketplaceContextProvider` and `marketplaceContextValue`.
- Renamed a constant and created constants for API paths.
- Only shows snackbar after content has loaded, and after a timeout. We set a date `marketplace_redesign_2023_last_shown_date` in local storage to ensure we only show one snackbar.
2023-08-26 12:47:23 +01:00
raicem bb84e90ef4 Marketplace: Add category selector 2023-08-08 09:56:02 +03:00
And Finally 05a608399a Changed `Tabs` to use `useQuery` instead of `getQuery`, so the browser back button will work.
Changed submenu item name back to `Extensions`, and keeping it in the current order within the WooCommerce menu.
Changed `path` value to `extensions`.
2023-08-07 12:34:05 +01:00
And Finally b3723f7a7d First commit. This contains the changes from `update/react-marketplace`, reviewed in https://github.com/woocommerce/woocommerce/pull/38885. 2023-08-07 12:34:05 +01:00