woocommerce/plugins/woocommerce-admin/client/marketplace
Manzur Ahammed a7ade5d2dc
Show notice for expired and expiring subscriptions in settings and in-app extensions page (#47004)
* show notice on WC core about subs expired

* add notice in wc core my subscription page

* dismiss subscription notice

* add rest api for dismiss subscription notioce

* dismiss notice permanently

* code refactor

* fix issue in expired subs

* not showing expiring subs notice if expired sub notice render

not showing expiring subs notice if expired sub notice render

* fix lint

* added changelog

* update comment

* fix js lint

* update response

* added new endpoint for notice

* update the endpoint URL

* update the endpoint URL

* show notice after one month

* add css class for refactor

* fix lint

* Add missing callback after the merge

* check plugin is installed on current site

* add comments, and fix missing price

* fix lint

* remove unnecessary duplicate asset load

* fix notice so that it only trigger dismiss API on notices close

* localize the renew product price

* track events in the wc settings page

* Use the correct field product_regular_price instead of product_price

* Add missing period in the notice message

* add nonce to the dismiss notice API

* extract dismiss notice API call to different code

* extract expired and expiring component to 1 component

* add track events for tsx components

* fix nonce checking

* fix lint

* fix lint

* enrich the button and hyperlink url to contains the product_id of expiring / expired subscription

* fix lint

* fix lint

---------

Co-authored-by: Akeda Bagus <akeda.bagus@automattic.com>
Co-authored-by: prahesa.setia <prahesa.kusuma.setia@automattic.com>
2024-05-31 08:34:36 +07:00
..
assets/images Marketplace: update no results screen for search 2023-11-22 13:37:37 +00:00
components Show notice for expired and expiring subscriptions in settings and in-app extensions page (#47004) 2024-05-31 08:34:36 +07:00
contexts Marketplace business services: Feature branch (#47303) 2024-05-15 14:43:06 +02:00
stylesheets Stylelint: Update config to double quotes (#45607) 2024-03-26 10:41:34 -03:00
utils Marketplace business services: Feature branch (#47303) 2024-05-15 14:43:06 +02:00
README.md Marketplace business services: Feature branch (#47303) 2024-05-15 14:43:06 +02:00
index.tsx Marketplace: hide search input when viewing subscriptions page on mobile 2023-10-06 12:34:58 +01:00
marketplace.scss Stylelint: Update config to double quotes (#45607) 2024-03-26 10:41:34 -03:00

README.md

Marketplace

This folder contains the components used in the Marketplace page found in WooCommerce > Extensions.

The page contains two parts, the WooCommerce.com marketplace and a list of products the user purchased.

Marketplace Tabs

  • Discover: A curated list of extensions and themes.
  • Browse: All extensions.
  • Themes: All themes.
  • Business Services: All business services.
  • Search: Search results.

Marketplace API

The data for the Discover section is fetched from the /wc/v3/marketplace/featured endpoint. This behaves as a proxy to fetch and cache the content from the woocommerce.com/wp-json/wccom-extensions endpoint.

Themes, extensions, business services and search results are fetched directly from WooCommerce.com.

My Subscriptions

This tab contains the list of all the extensions and themes the WooCommerce merchant has purchased from the WooCommerce.com Marketplace.

The merchant needs to connect the site to their WooCommerce.com account to view this list and install, update, and enable the products.

If a subscription is expired, the merchant will be prompted to renew it.

My Subscriptions API

My Subscriptions data uses /wc/v3/marketplace/subscriptions API endpoints to list, install, connect, and update products.

You can find a full list of endpoints in the subscriptions API source code.

Project Structure

The project is structured as follows:

  • components: The React components used in the Marketplace page.
  • contexts: React contexts.
  • utils: Functions used to interact with APIs.
  • stylesheets: Shared stylesheets.
  • assets: Images.

Development

This feature is part of WooCommerce Admin and uses the same development environment.