Commit Graph

178 Commits

Author SHA1 Message Date
Cem Ünalan f2b77b1ada
Marketplace: Fix the bug hiding connection warning (#44207)
* 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>
2024-01-31 12:50:47 +03:00
Cem Ünalan 48ebe7b84c
Marketplace: Add "Add to Store" button for free and WordPress.org products #43616 (#43983)
* 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>
2024-01-24 23:02:20 +03: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
Kyle Nel 4428d81b12
Display ratings on marketplace product cards (#43240)
* 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>
2024-01-04 10:07:00 +02:00
Simran Vijwani 8e351f2f15
Add UTM group to product URL on the Discover page (#41967)
* 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>
2023-12-21 02:13:52 +04:00
berislav grgičak 8d6621ece1
Remove install support for Woo.com hosted products (#42952)
* Installer url API

* Redirect if installer not available

* Remove paid product autoinstall support

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-20 12:52:51 +01:00
Cem Ünalan 23ec020ed9
Marketplace: refresh subscriptions if "install" parameter exists (#42704)
* Marketplace: refresh subscriptions in if "install" parameter exists

* Marketplace: handle loadSubscriptions or refreshSubscriptions failing

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-18 12:53:36 +00: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
And Finally 6e39f5494a Merge branch 'trunk' into feature/marketplace-subscriptions 2023-11-22 15:10:12 +00:00
And Finally 3b6d53efe5 Removed refresh button spin animation – was going backwards, and isn't consistent with general design approach. 2023-11-22 14:27:22 +00:00
And Finally 5c88fd0490
Marketplace: fix sideways scrolling of the my subscriptions table on Chromium based browsers (#41630) 2023-11-22 13:59:56 +00:00
And Finally 51321ee586
Merge branch 'feature/marketplace-subscriptions' into fix/my-subscriptions-scrolling-chromium 2023-11-22 13:39:23 +00:00
And Finally 3012a41f4e Reduced font weight in "no results" headers, to match the headers elsewhere in the Marketplace. 2023-11-22 13:37:37 +00:00
raicem 4e1ea5184e Marketplace: fix the number of cards in the number of results page
Co-authored-by: andfinally <andfinally@users.noreply.github.com>
2023-11-22 13:37:37 +00:00
raicem e3e3870cd7 Marketplace: fix some issues with the new no-results page
Co-authored-by: andfinally <andfinally@users.noreply.github.com>
2023-11-22 13:37:37 +00:00
raicem 36a4e5fc3c Marketplace: update no results screen for search 2023-11-22 13:37:37 +00:00
And Finally 3f6fd2c273
My Subscriptions: link product icon and product name to Woo.com product page (#41634) 2023-11-22 13:32:13 +00:00
berislav grgičak bfaceac842
Add Woo button to plugins list (#41633)
* Add Woo tab to the plugins screen

* Remove comment

* Update plugins/woocommerce/src/Internal/Admin/Marketplace.php

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

* Update name

---------

Co-authored-by: And Finally <andfinally@users.noreply.github.com>
2023-11-22 14:21:22 +01:00
And Finally 7ec9d60d8a Makes product icon and product name in My Subscriptions list link to Woo.com product page. 2023-11-22 13:05:10 +00:00
And Finally 6e124264be Addressing linter errors. 2023-11-22 13:00:20 +00:00
And Finally c336475d8e Addressing linter errors. 2023-11-22 12:43:49 +00:00
raicem 05d8169ec3 Marketplace: fix issue with sideways scrolling on my subscriptions table 2023-11-22 12:42:31 +03:00
Cem Ünalan 9a7a7e7f9c
Marketplace: Add Tracks events to My Subscriptions page (#41455)
* 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
2023-11-22 09:40:18 +03:00
berislav grgičak 4c19b12c68
Add Marketplace readme (#41600)
* Marketplace readme

* Add structure and development

* Linter fix

* linter

* Tweaks to the In-App Marketplace README.

---------

Co-authored-by: And Finally <andfinally@users.noreply.github.com>
2023-11-22 07:03:37 +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
Kyle Nel 5fe2e401f0
Marketplace - tracking enhancements (#41365)
* 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>
2023-11-21 09:48:59 +03:00
rjchow 5d99b267bf fix: fixed all instances of no-use-before-define lint rule violations 2023-11-16 19:21:30 +08: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
Kyle Nel f22f2fe3cf
Marketplace - Update empty state for installed subscriptions table (#41267)
* Add empty state for installed subscriptions table

---------

Co-authored-by: And Finally <andfinally@users.noreply.github.com>
Co-authored-by: raicem <unalancem@gmail.com>
Co-authored-by: mlaetitia <30905719+mlaetitia@users.noreply.github.com>
2023-11-15 09:06:54 +02:00
Leif Singer ab94bf8550 fix linter findings in woocommerce-admin 2023-11-10 15:49:08 +01:00
Leif Singer 808a0fc54f update references to woocommerce.com to now reference woo.com 2023-11-10 15:49:08 +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
berislav grgičak f30426e261
Merge branch 'trunk' into feature/marketplace-subscriptions 2023-11-08 13:19:32 +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
berislav grgičak 19df04921e
Update/my subscriptions wp installer (#40990)
* 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

* Remove unnecessary is_null check

---------

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-06 09:35:43 +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
And Finally fe8e132cc4 Styling tweaks.
- Changed illustrations for extensions and themes no results.
- Added bottom border to theme images in product cards, as many themes have white backgrounds.
- Reduced font size and font weight of suggested products titles in no results.
2023-10-25 14:26:36 +01:00
And Finally ab34974470 Added top margin to `.woocommerce-store-alerts` to address https://github.com/Automattic/woocommerce.com/issues/18448. 2023-10-25 12:46:54 +01:00
And Finally cc83ffd387
Removed `recordMarketplaceView` from `showSection` in `Products` component. We already record the view in the `useEffect` hook in the `Content` component, so we were getting a duplicate view.
Only setting default category `_all` for `search` view if `product_type` (i.e. `query.section`) is also set. The previous arrangement was setting the `_all` category on the initial search results, where category doesn't figure.

Removed `! props.view` from condition in `recordLegacyTabView`. It meant that the initial default marketplace view wasn't being recorded.

Solve issue with some default prop values

We were no longer sending through a property to determine the "view" or "section" (depending on which event version you're referring to) when loading the discover page.

This change ensures that there is always a fallback that resolves this.

Also fixed some linting issues and cleaned up redundant code.

Removed unused import.
2023-10-25 12:59:39 +02:00
Kyle Nel e76a88aa07
Fix some logic errors and tidy up empty properties
Removed default values from `marketplaceViewProps` – we are now handling this in the tracking function.

Changed `selectedTab` dependency of `useEffect` hook in content.tsx to `query?.tab`. The `selectedTab` state was being reset after (or at least not at the same time as) the change of the tab param in the query string. For this reason, we were recording two page views when you changed from Extensions tab and Shipping category to Themes tab. This doesn't seem to break anything! We are still setting the `selectedTab` based on the query string in the `Tabs` component, so they should still be in sync.

Removed the condition skipping marketplace page view when there was no `prop.view`. This meant that when you switched to the Discovery tab from another tab, we weren't recording the page view.

Also setting default category prop `_all` when no category is specified on extensions, themes and search tabs. This allows us to bundle the default views of those tabs with the views got by clicking on the "All" category link.

Addressing linter errors.
2023-10-25 12:56:54 +02:00
Kyle Nel 7b0a72307b
Add tracks events for to ensure legacy funnels work 2023-10-24 12:05:25 +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
Bero 679df40f5b Linter fixes 2023-10-18 17:43:36 +02:00
Bero 3a1249b9c4 Linter fixes 2023-10-18 14:03:17 +02:00
berislav grgičak 83517af699
Merge branch 'trunk' into feature/marketplace-subscriptions 2023-10-18 12:11:16 +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