Commit Graph

85 Commits

Author SHA1 Message Date
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 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 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
And Finally 03ba981eea This branch replaces all "skeleton" loading indicators on the Marketplace with more-standard ones. It also:
- Aims to make those skeleton loaders more accurately represent this size and shape of the content that will replace them.
- Refactors the code so that components are responsible for hosting their own skeleton code, attached to an `isLoading` variable, making it easier to stay consistent as changes are made in future.
2023-10-16 16:08:33 +01:00
berislav grgičak f712c23b66
Fix Marketplace theme labels and links (#40661)
* Update search title

* Update no result title

* Open products in the same tab
2023-10-13 05:56:38 +02:00
Dan Q 952e4bd7fe Appease linter 2023-10-12 10:56:46 +01:00
Dan Q a23fbbbd63 Manually resolve linting issues created by trunk rebase 2023-10-12 10:35:51 +01:00
Dan Q 53d3f95b3d Add AbortSignal (from trunk) into merged branch 2023-10-12 10:29:43 +01:00
Dan Q 744d07cbee Merge branch 'trunk' into add/wccom-18292-cache-marketplace-results 2023-10-12 10:06:33 +01:00
And Finally a60f0ab23f Changes from https://github.com/woocommerce/woocommerce/pull/40375. Adding "View all" button to in-app marketplace search results. 2023-10-06 09:17:56 +01:00
Bero 806e554a14 Abort content requests before new request 2023-10-04 19:57:11 +02:00
Bero a8cf772aaf Reset url state on tab click 2023-10-04 19:57:04 +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
raicem 228084cb7c Marketplace: Change the way we space out heading and content area
Previous method caused issues when you go from WooCommerce > Home to
WooCommerce > Marketplace. The header was going missing on the
Marketplace page.
2023-10-03 17:11:21 +01:00
Dan Q b0b2afd26d Linter appeasement 2023-09-29 11:02:19 +01:00
Dan Q f90dde0b06 Add fetchCache pruning 2023-09-28 17:05:51 +01:00
Dan Q d4f54bfeb8 Remove unused type 2023-09-28 16:11:13 +01:00
Dan Q 1252324ee2 Better indentation 2023-09-28 16:09:18 +01:00
Dan Q 96532b8fcf Move extensions search into functions, and add fetchJsonWithCache wrapper 2023-09-28 16:06:30 +01:00
Dan Q 8685fd211e
Rather than adding border, add color to border of search box (#40242) 2023-09-25 10:35:38 +01:00
raicem 15257f8761 Markatplace: Reset search input when tab changes
When tab is changed, `@woocommerce/navigation` package resets
the `term` query parameter. So `query.term` becomes undefined.

Adding the else block allows us to catch that case and then
we can reset the search input.
2023-09-22 16:16:04 +01:00
Dan Q f12fb99d9d Merge branch 'trunk' into fix/wccom-17944-reposition-notifications 2023-09-19 18:28:29 +01:00
And Finally 6aa55f6334
In-App Marketplace: Update "no results" design for Extensions search (#40268) 2023-09-19 16:32:17 +01:00
Dan Q 59cb9fad48 Appease linter 2023-09-19 14:46:59 +01:00
Dan Q 9849ade9fa Correct quote style 2023-09-19 14:41:55 +01:00
Dan Q 98ac373b1b Correct CSS for image size! 2023-09-19 14:40:17 +01:00
Dan Q 96cbb30a76 Appease linter 2023-09-19 11:52:13 +01:00
Dan Q dcd08ac1b6 Apply empty string to URL in event that vendorUrl is absent 2023-09-19 11:39:01 +01:00
Dan Q 8ee8ff750b Suppress category selector only on no-results, not all search pages 2023-09-19 11:27:37 +01:00
Dan Q 078e178997 Suppress category selector when showing search results 2023-09-19 10:58:18 +01:00
Kyle Nel 5e88b001fa
Update wording on Marketplace footer (#40251)
* Update wording on Marketplace footer
* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-09-19 11:39:09 +02:00
Dan Q d23ac3ed10 Appease linter 2023-09-19 09:54:01 +01:00
Dan Q 3848b43052 Add width and height to image to reduce CLS 2023-09-19 09:34:05 +01:00
Dan Q 39caeb1c51 Ensure text wraps at an appropriate point 2023-09-19 09:33:49 +01:00
Dan Q e599390b9c Ensure new image centered 2023-09-19 09:33:40 +01:00
Dan Q d339e9ff5b Rather than adding border, add color to border of search box
This prevents the "jiggle" issue.
2023-09-18 10:47:12 +01:00
Kyle Nel e1d72bde0a
Marketplace: Add the query parameters to product page URLs (#39901)
* Marketplace: Add the right URL parameters to product URLs

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

---------

Co-authored-by: raicem <unalancem@gmail.com>
Co-authored-by: github-actions <github-actions@github.com>
2023-09-18 11:10:56 +03:00
Kyle Nel d1f935cca4
Add country to in-app marketplace search (#40091)
* Marketplace: remove orphaned components

* Marketplace: add country to search query

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

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

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Cem Ünalan <raicem@users.noreply.github.com>
2023-09-13 11:32:05 +02:00
Kyle Nel 6e20ecb3bc
Marketplace: update discover page card counts (#40020)
* Marketplace: update discover page card counts

* Marketplace: Apply PR review feedback

* Addressing linter error. Whitespace.

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

---------

Co-authored-by: And Finally <andfinally@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
2023-09-11 15:33:43 +02:00
Dan Q e76fe48a89 Move top padding of Marketplace Extensions content to instead be top margin of Marketplace Extensions page
This mitigates the issue whereby notifications push page content down a LONG way, and is a more-correct way to lay out the content.
2023-09-05 13:14:48 +01:00
And Finally 21d1bab26e [wccom-17942] Making sure snackbar doesn't appear before content has loaded.
- Fixing `prettier` linter errors.
2023-09-04 16:00:30 +01: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 60c07013d4 Marketplace: Cache Discover page content
We were hitting the WCCOM API directly from the front end. However,
that limits of in terms of caching and reducing the load on WCCOM.

To prevent that, we added a REST API endpoint. This endpoint
fetches discover page content from WCCOM and puts in a transient.
This is actually how the page works in the previous version. So
we were able to reuse a lot of the code.
2023-08-18 18:59:36 +03:00
And Finally 87706c5e5a [wccom-17713] Addressing design feedback.
- Removed duplicate `Search` styles from `header.scss`.
- Removed 10px top padding from `Header`. Applied it to title, meta and search containers instead.
- Deleted duplicate search button style from `header.scss`.
- Swapped round order of search component and header meta div so tab navigation order is correct.
- Added focus style to search component.
- Reduced footer side padding on mobile.
- Changed `.woocommerce-marketplace__header-title` page title to an h1 for accessibility.
- Removed top margin from product cards – the css grid handles the gap.
- Removed margin from `.woocommerce-marketplace__product-card__description`.
- Reduced font weight of price in product cards.
- Set margin below product list header.
- Removed right margin from tab buttons – css grid handles the gap.
- Increased top padding of `.woocommerce-marketplace__content`.

Addressing linter error.
2023-08-18 15:20:00 +01:00
And Finally 9fbb8a505b
In-App Marketplace: Improve Product Card Clickability (#39766) 2023-08-17 09:04:27 +01:00
And Finally 436ce4bd4d
Update copy on In-App Marketplace (#39767) 2023-08-17 09:02:25 +01:00