Commit Graph

252 Commits

Author SHA1 Message Date
Joshua T Flowers bc552e14eb Fix the activity panel toggle not closing on click (https://github.com/woocommerce/woocommerce-admin/pull/6679)
* Fix activity panel toggle across browsers

* Fix activity panel not full viewport height
2021-03-25 19:42:01 -04:00
Joshua T Flowers 3e90b8642a Update undefined task name properties for help panel tracks (https://github.com/woocommerce/woocommerce-admin/pull/6565)
* Update undefined task name properties for help panel tracks

* Add changelog entry and testing instructions
2021-03-15 19:44:53 -04:00
Elizabeth Pizzuti 4d1f1cdcb4 Change "Store Setup" link in top bar to "Finish setup" (https://github.com/woocommerce/woocommerce-admin/pull/6526) 2021-03-09 17:50:37 -05:00
Joshua T Flowers 0e1b81b3c9 Remove mobile activity panel toggle (https://github.com/woocommerce/woocommerce-admin/pull/6539)
* Remove activity panel mobile sub nav

* Allow toggling of tab in focus outside

* Add changelog and testing instructions
2021-03-09 08:11:49 -05:00
Joshua T Flowers 198e3fb7ce Add navigation container tests (https://github.com/woocommerce/woocommerce-admin/pull/6464)
* Add changelog and testing instructions

* Set active level when matching a new item

* Add navigation container tests

* Add testing instructions and changelog

* Update testing instructions

* Fix up missing changelog entries after rebase

* Add in missing menu items from useSelect in tests
2021-03-05 09:35:53 -05:00
Moon 5dfe505f94 add preview site btn in personalize store task (https://github.com/woocommerce/woocommerce-admin/pull/6513)
* Add preview site btn on appearance task

* Add testing instructions and changelog

* Change letter case
2021-03-04 18:37:18 -08:00
Sam Seay bb821a76e9 Add a back button to the Header when the task list is displayed. (https://github.com/woocommerce/woocommerce-admin/pull/6397) 2021-03-03 13:05:08 +13:00
Adrian Duffell 151f6d127f Update broken links in help panel (https://github.com/woocommerce/woocommerce-admin/pull/6455)
* Update broken link anchors to online support

* Add changelog entry

* Move changelog entry to Unreleased
2021-02-26 14:12:47 +08:00
louwie17 41585794eb Fix the onTransitionEnd callback (https://github.com/woocommerce/woocommerce-admin/pull/6432)
* Fix the onTransitionEnd callback

* Add refocus logic if container opened closed quickly and added tests
2021-02-25 08:56:00 -04:00
Hsing-Yu Flowers de61194cc0 Apply responsive header style to all pages (https://github.com/woocommerce/woocommerce-admin/pull/6292) 2021-02-22 13:08:43 +08:00
Joshua T Flowers 9c5aa6d318 Move capability checks to client (https://github.com/woocommerce/woocommerce-admin/pull/6365)
* Move user data store folder

* Add user capability check hook

* Don't limit script loading by user capability

* Convert ActivityPanel to functional component

* Update ActivityPanel to use useSelect

* Check that a user can manage woocommerce for the store setup tab

* Add capabilities to pages

* Add testing instructions
2021-02-19 08:57:17 -05:00
Joshua T Flowers 851dac281c Add filter to allow the wp toolbar in navigation (https://github.com/woocommerce/woocommerce-admin/pull/6371)
* Add class to determine styling for disabled wp toolbar

* Use disabled toolbar class in onboarding setup wizard

* Add changelog and readme notes for filter
2021-02-19 08:20:32 -05:00
Sam Seay 5354e4e856 Remove googlefonts/material icons. Migrate to @wordpress/icons and gridicons (https://github.com/woocommerce/woocommerce-admin/pull/6343) 2021-02-18 11:54:02 +13:00
Hsing-Yu Flowers 1fc78d93c9 Refactor panel with withFocusOutside (https://github.com/woocommerce/woocommerce-admin/pull/6233)
* Refactor panel with withFocusOutside

* Remove react-click-outside dependency

* Handle PR feedback

* Handle PR feedback-2
2021-02-16 15:01:11 -05:00
Joshua T Flowers 80f5532543 Fix navigation priority settings conflict (https://github.com/woocommerce/woocommerce-admin/pull/6336)
* Remove the late addition of the core items for the navigation

* Add fallbacks in case the nav is not detected server-side

* Check if ref is set before resizing
2021-02-12 16:42:04 -05:00
Joshua T Flowers baaaf39bf0 Try: Refactor head and body heights (https://github.com/woocommerce/woocommerce-admin/pull/6247)
* Move navigation to WC header

* Remove wp toolbar class

* Set body margin on header change

* Fix up layout margins

* Remove excess padding on mobile

* Fix navigation preload styles and embed

* Fix preloading space due to adminbar missing

* Remove embed padding on wrap

* Fix body display for wpadmin menu

* Fix up wpadminbar reset padding

* Remove body padding on full screen layouts

* Fix mobile admin bar height on full screen

* Clean up body margin on unmount

* Center the activity panel (https://github.com/woocommerce/woocommerce-admin/pull/6289)

* Center the activity panel

* Handle PR feedback

* Fix up secondary nav group style changes

* Remove screen reader style changes

* Debounce resize event

* Make responsive button selector more specific

Co-authored-by: Hsing-Yu Flowers <hsingyuc.7@gmail.com>
2021-02-12 11:32:26 -05:00
louwie17 ea0c6d704e Update highlight tooltip to make use of anchor logic (https://github.com/woocommerce/woocommerce-admin/pull/6309)
* Update highlight tooltip to make use of anchor logic

* Add changelog

* Make sure the extra parent is removed as well

* Small refactor to update anchor rect later on, incase items are still rendering
2021-02-10 16:28:33 -04:00
louwie17 3d330bcee3 Fix the react state update error on homescreen (https://github.com/woocommerce/woocommerce-admin/pull/6286)
* Fix the react state update error on homescreen

* Fix note store dependency

* Update package lock file

* Add tests, and revert package-lock

* Add transient notices tests, and address PR feedback
2021-02-09 11:19:43 -04:00
louwie17 e7c0d0b8b1 Add paypal commerce obw integration (https://github.com/woocommerce/woocommerce-admin/pull/6261)
* Initial paypal plugin name replacement

* Add necessary fields for the Paypal plugin

* Updated payment methods info to use new options key

* Add most of the OBW paypal integration

* Some old code cleanup

* Get ready for the dynamic onboarding addition.

* Update paypal onboarding, adding script after plugin enabled

* Revert some old changes

* Check if plugin is enabled correctly

* Allow for manual input as a fallback

* Fix unit tests and alter the config updates

* Update plugin to use latest rest endpoint instead :)

* Add comment

* Fix some naming from PR feedback

* Made use of the payment gateway info from tasks/status, and show 500 error message

* Add support for the status and set credential endpoints

* Set the enabled value in ppcp-settings as well

* Added fall back for the 'get-status' method

* Fix issue where I was overwriting the options :/

* Small fix for when updating items manually

* Add changelog

* Remove old tests

* Add testing instructions
2021-02-06 09:41:26 +10:00
Fernando 2ab28c977f Extended task list refactor (https://github.com/woocommerce/woocommerce-admin/pull/6081)
* Fixed hiding core task list

This commit fixes the hiding of the core task list

* Added tests

* Added fix to readme.txt

* Fixed readme.txt

* Added new test

* Hooks were fixed

* Refactored task lists handling

This commit refactors a few things related to the task lists handling

* Added tests

* Fixed task lists handling

* Fixed tests

* Renamed 'taskListHidden' to 'taskListsHidden'

* Added taskListsHidden util

* Fix completed tasks tracking infinite loop

This commit fixes the completed tasks tracking infinite loop (for multiple extended tasks)

* Refactored update check

* Hide task list if there aren't any visible tasks

* Fixed comment

* Fixed typo

* Renamed example method

* Fixed example extension

* Added tab to the extension example

* Fixed extended task list enabling option

* Added more tests

* Added PHP tests

* Fixed some comments

* Removed utils.js file

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2021-01-27 15:40:02 -03:00
Joel Thiessen ecf3e61cbd Fix fatal error on homescreen when clicking add products task (https://github.com/woocommerce/woocommerce-admin/pull/6117) 2021-01-20 16:31:34 -08:00
Joshua T Flowers bc998444a3 Future proof experimental components (https://github.com/woocommerce/woocommerce-admin/pull/5961)
* Possibly use safe Text component

* Possibly use safe navigation components

* Add experimental package

* Update components to import from woocommerce/experimental

* Make experimental package private

* Reference experimental package relatively

* Update packages/experimental/README.md

Co-authored-by: Paul Sealock <psealock@gmail.com>

* Update packages/experimental/CHANGELOG.md

Co-authored-by: Paul Sealock <psealock@gmail.com>

* Update history state instead of mocking getQuery in tests

* Handle PR feedback

* Create excluded externals array and return early

Co-authored-by: Paul Sealock <psealock@gmail.com>
2021-01-07 18:57:09 -05:00
louwie17 cad707f57c Highlight help panel with tooltip (https://github.com/woocommerce/woocommerce-admin/pull/5826)
* Show highlight help panel popup after user enters uncompleted task more then once

* Updated styling of highlight tooltip

* Removed empty array from the useSelect to prevent unnecessary re-renders

* Updated styling of the highlight tooltip to match wireframe and wrote tests

* Fix close button location

* Add event tracking

* Add changelog

* Make use of user preferences meta data for task visit tracking

* Add support for toggling the show boolean

* Make sure the delay works correctly for highlight tooltip

* Continue tracking tasks visit count, and added onShow callback for tooltip
2020-12-18 09:17:07 -04:00
Timmy Crawford 5a07b44f5c Home Screen: Do not show store setup activity panel. (https://github.com/woocommerce/woocommerce-admin/pull/5801)
Co-authored-by: Timmy Crawford <timmyc@churro.lan>
2020-12-02 17:13:36 -08:00
louwie17 98a55aaeb9 Migrate reviews panel to home screen (https://github.com/woocommerce/woocommerce-admin/pull/5706)
* Create initial reviews panel and displaying it on the home screen

* Update reviews package to support updating and deleting reviews

* Allow custom icons to be defined for rating component

* Add approve, spam, and delete actions to home screen review panel

* Show entire list as updating when items are still in the store

* Update rating to only import the required icons, and allow icons to be passed in instead of strings

* Prune out reviews header panel, as we are not using it anymore

* Showing just a header if collapsible is false for activity panel

* Add tests for reviews panel and accordion changes

* Fix undoing a deleted item by using status - untrash

* Several styling changes to match wireframe as mentioned in PR review

* Moved review rating into the subtitle in relation to new design

* Update clear cache logic for last item

* Remove activity panel unused css

* Use invalideResolution instead of invalidateResolutionForStoreSelector
2020-12-02 09:30:39 -04:00
Jeff Stieler 2a302603c6 Migrate Stock Panel to Homescreen (https://github.com/woocommerce/woocommerce-admin/pull/5729)
* Refactor low stock variable to be the count instead of a boolean.

* Add initial render of the Stock panel on the homescreen.

* Move existing Stock panel to homescreen accordion.

* Ensure int value for low stock product count.

* Update ProductImage styling.

* Update stock activity car styles.

* Only show 5 low stock products.

* Add "undo" action to the stock updated snackbar.

* Fix check for explicit notice dismissal when taking actions.

* Hide now-in-stock products after updating.

By cllearing "edited" flag on successful update.

* Fetch more products after updating stock.

* Fix the number of product placeholders shown.

* Only show products placeholders on the initial fetch.

* Fix placeholder style.

* Fetch low stock count dynamically.

* Let initialOpen prop toggle Accordion panels if they haven't been toggled by the user.

* Refactor item total count state.

Allows for auto-updating item totals whenever identical queries (from a totals perspective) are issued.

* Add last order date to low stock products API response.

* Allow non-date strings in ActivityCard date prop.

* Add last order date to stock panel cards.

* Remove empty stock panel view.

* Add test file for StockPanel.

* Only request necessary fields from products endpoint.

* Add test for products fetch after stock update.

* Fix field name.

* Add test for last order date in low stock products API response.

* Stock panel should be initially closed.

* Skip updating a product if the quantity is unchanged.
2020-11-25 13:51:15 -05:00
Sam Seay be47d9d795 Only import the Gridicons we need, to reduce package size. (https://github.com/woocommerce/woocommerce-admin/pull/5668) 2020-11-19 09:52:24 +13:00
louwie17 7a2a361cb8 Update panel icon order - moving help tab far right (https://github.com/woocommerce/woocommerce-admin/pull/5624)
* Allows tabs component to render custom tab components, removing the need for showDisplayOptions

* Add display options logic to getTabs function

* Update const name from PR review suggestion
2020-11-16 09:48:50 -04:00
Jeff Stieler c794428710 Fix column scroll collision after layout change. (https://github.com/woocommerce/woocommerce-admin/pull/5586)
* Reset homescreen column stickiness when layout changes.

* Close display options menu when making a selection.
2020-11-11 12:19:24 -05:00
louwie17 89b88bd620 Add help tab to the home screen (https://github.com/woocommerce/woocommerce-admin/pull/5538)
* Show help tab always on homescreen, update help icon, and fix tests

* Add items to help menu for homescreen, when taskName is blank

* Add test for homescreen items when taskName is blank

* Add or case for showing help for performingSetupTask, incase setup happens on annother route

* Removed tabindex logic to allow for keyboard navigation when multiples tabs are available

* Update activity panel height and top when new navigation experience is enabled

* Moved style back into scss wrapper and used parent selector - &
2020-11-10 09:36:04 -04:00
Jeff Stieler 041aec8ff9 Homescreen layout changes (https://github.com/woocommerce/woocommerce-admin/pull/5465)
* Migrate homescreen specific backend code to its own class.

* Default to single column homescreen.

Create an option to handle the default homescreen layout value.

* Potentially reset sticky column when layout is changed.

* Move homescreen components to their new locations.

* Clean up defunct CSS.

* Default to the two-column layout on existing stores.

* Remove header from inbox notes.

* Add "your store today" header on two column homescreens.

* Set default homescreen layout to two columns when task list is complete or hidden.

* Remove unused variables.

* Add sticky scrolling behavior to both homepage columns.
2020-11-06 12:53:03 -05:00
Fernando 6ae4c5fbfd Home Screen - migrated orders panel (https://github.com/woocommerce/woocommerce-admin/pull/5455)
Fixes woocommerce/woocommerce-admin#5238
2020-11-06 14:21:05 +13:00
Joel Thiessen 15b45c9db4 Navigation: Applying styles & behavior for folded menu, including mobile (https://github.com/woocommerce/woocommerce-admin/pull/5497)
* Adding base styles for collapsed nav menu.

* Handling varying behaviour on mobile-sized screens, with the menu overlaying content instead of shrinking the content area.

* Folding the menu by default on screen sizes less than 960px, and if that condition is met after an orientation change

* Refactoring logic from Header/index.js to flag if user has scrolled to apply shadow to folded navigation as well.

* Refactoring styles in navigation feature to allow them to be loaded properly with webpack (with imports/etc).
2020-11-02 16:57:49 -08:00
Jeff Stieler eefe2e8acc Add Homescreen layout control (https://github.com/woocommerce/woocommerce-admin/pull/5429)
* Remove inbox-specific class, widen single column.

* Create user preference for homescreen column layout.

* Add display options "tab" to homescreen.

* Style display options.

* Tweak homepage layout option values.

* Add tracks events for homepage layout.

* Add test coverage for homescreen display options.

* No need to use Fragment component.

* Use named exports.

* Fix display options styling on mobile/narrow viewports.

Don't show the options at all if we're forcing single column.

* Fix linting error.
2020-10-22 18:13:14 -04:00
Fernando 59f836d55f Show orders, stock and reviews activity panels (https://github.com/woocommerce/woocommerce-admin/pull/5400)
This commit fixes the check to show orders, stock and reviews activity panels

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2020-10-15 12:49:46 -07:00
Jeff Stieler 7ca9e691d4 Migrate Enzyme tests to React Testing Library (https://github.com/woocommerce/woocommerce-admin/pull/5299)
* Migrate leaderboard tests to RTL.

* Remove test of default prop value.

* Migrate ReportSummary tests to RTL.

* Migrate ActivityCard tests to RTL.

* Migrate ActivityCardPlaceholder tests to RTL.

* Migrate remaining ProductType tests to RTL.

* Migrate Card tests to RTL.

* Update RTL and user event packages.

* Migrate Date tests to RTL.

* Migrate D3Legend tests to RTL.

* Migrate D3Base tests to RTL.

* Migrate Gravatar tests to RTL.

* Migrate ImageUpload tests to RTL.

* Migrate ProductImage tests to RTL.

* Migrate Rating tests to RTL.

* Migrate Search tests to RTL.

* Migrate Plugins tests to RTL.

* Migrate SelectControl tests to RTL.

* Migrate Timeline tests to RTL.

Remove tests that inspect DOM since there are snapshots.

* Migrate DismissModal tests to RTL.

* Migrate SetupNotice tests to RTL.

* Migrate WelcomeCard tests to RTL.

* Fix setup error reason retrieval in ShippingBanner.

* Migrate ShippingBanner tests to RTL.

* Migrate RecommendedExtensions tests to RTL.

* Migrate KnowledgeBase tests to RTL.

* Rename enzyme setup file, modify to setup RTL.

* No need to import jest-dom in test files.

* Remove enzyme dependency.

* Use snapshot for testing Leaderboard markup.

* Switch from "not to be empty" to "be in the document".

* No need to waitFor() recordEvent mock.

* Be specific about clicking the "hide" button.

* Use toBeVisible() instead of checking style property.
2020-10-15 08:41:39 -04:00
Fernando 4dd0232c44 Added a check to show the "Store Setup" button (https://github.com/woocommerce/woocommerce-admin/pull/5360)
This commit adds a check to show the "Store Setup" button

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2020-10-13 12:51:54 -07:00
Joel Thiessen 23c19ee1b2 Removing breadcrumbs from wc-admin header, replacing with simple titl… (https://github.com/woocommerce/woocommerce-admin/pull/5232)
Removing breadcrumbs from wc-admin header, replacing with simple title (https://github.com/woocommerce/woocommerce-admin/pull/3963)

This is an interim step towards the integration of wc-navigation, where a back button will be provided to restore the critical functionality of the breadcrumbs. Note that the `breadcrumbs` data was preserved since it's still being utilized do construct the document title (in semi-breadcrumb-fashion) on both the backend and front-end.
2020-10-06 13:42:46 -07:00
Fernando 1da4eedbf0 Moved Inbox Panel component (https://github.com/woocommerce/woocommerce-admin/pull/5252)
This commit moves the Inbox Panel component

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2020-10-06 10:13:32 -03:00
Joshua T Flowers 6e8b4bad5f Fix header height and positioning for wc nav (https://github.com/woocommerce/woocommerce-admin/pull/5173)
* Fix header height and positioning for wc nav

* Remove body margin via CSS
2020-09-29 15:57:50 +03:00
Sam Seay e6d5786d1b Adjust the logic of display of the store setup link. (https://github.com/woocommerce/woocommerce-admin/pull/5180) 2020-09-25 09:23:27 +12:00
Francesco 36f61c89f1 chore: rename WCS to WC Shipping & Tax (https://github.com/woocommerce/woocommerce-admin/pull/5139) 2020-09-16 16:45:16 -05:00
Bec Scott 90567853de Enable the home screen for everybody (https://github.com/woocommerce/woocommerce-admin/pull/5108)
* One-shot to enable the homescreen for everybody

* Make the home page the default (only) experience

* remove option check in activity panel tabs, get tests working, fix lint issues

* Remove is-homescreen CSS class

* Remove extra home page route registration

Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-09-15 09:44:46 +10:00
Paul Sealock 3c6483e842 Remove wc api 🎉 (https://github.com/woocommerce/woocommerce-admin/pull/5075)
* remove wc-api selects and constansts

* remove extendedItems dependence on wc-api

* remove wc-api

* PR feedback
2020-09-04 09:45:40 +12:00
Sam Seay c884f96bf9 Add WooCommerce Mobile App Banner Ad for Android and iOS (https://github.com/woocommerce/woocommerce-admin/pull/5037)
Fixes woocommerce/woocommerce-admin#4654 

The feature calls for a mobile app ad banner to be displayed to users on mobile devices.

Based on the discussion in woocommerce/woocommerce-admin#4654 this implements the following:

1. [an iOS Smart App Banner](https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/PromotingAppswithAppBanners/PromotingAppswithAppBanners.html). This banner is a meta tag that is generated in PHP. It will only display on iOS devices. One note about this: **This tag is not directly trackable like the implemented Android banner. If we would like to track its success then I believe [these instructions are relevant](https://stackoverflow.com/questions/12906502/is-it-possible-to-track-click-throughs-from-iphone-smart-banner/20422334woocommerce/woocommerce-admin#20422334)**. 

2. A mobile app banner ad that **only displays on Android** and only displays at the `738px` breakpoint specified in the issue. To only display this banner ad on Android, we use basic checking of the user agent string. I weighed this up against other approaches and for this kind of niche use case a simple UA string check is (imho) still the best way to do this.

3. The banner ad makes use of user preferences to retain a per user setting that determines if that user has dismissed the Android banner. We don't/can't do anything like this for the iOS Smart App Banner (but in theory we shouldn't need to).
2020-08-27 13:46:53 +12:00
Joshua T Flowers d4dd74e44a Remove onboarding feature flag and a/b testing (https://github.com/woocommerce/woocommerce-admin/pull/4999)
* Remove store page creation during new onboarding experience

* Remove onboarding feature flag

* Add back in onboarding feature flag to enable feature loading
2020-08-25 00:51:41 +03:00
Jeff Stieler eea63f602f Refactor task list status to onboarding data store. (https://github.com/woocommerce/woocommerce-admin/pull/4998)
* Add onboarding task status API endpoint.

* Add task status to onboarding data store.

* Update appearance task to use onboarding store for status info.

* Update main task list component to use onboarding data store for status info.

* Clear onboarding status info "cache" when setting shipping rates in the task list.

* Clear onboarding status info "cache" when enabling payment methods from the task list.

* Fix onboarding data store reducer tests.

* Clean up redundant code, nest task status settings under new key for hydration.

* Include tasks status in onboarding data hydration.

* Update tax task to use onboarding data store for status info.

* Avoid continually rehydrating onboarding data.

* Refactor payment task method retrieval to use onboarding data store.

* Fix bug with disappearing appearance tax steps.

* Update appearance completion faster by using hydrated onboarding value.

* Avoid PHP warnings when onboarding isn't enabled.

* Remove unused imports.
2020-08-24 09:20:57 -04:00
Sam Seay e61548d2c5 Refactor the Header component from class to function. (https://github.com/woocommerce/woocommerce-admin/pull/5023)
Working towards woocommerce/woocommerce-admin#4654 this refactors the `<Header>` component to be functional so that it can use hooks. The plan is to use the `useUserPreferences` hook there to determine if the mobile banner should be rendered or not.
2020-08-24 10:46:18 +12:00
Paul Sealock 74e8d7622e Items dataStore: Migrate from wc-api (https://github.com/woocommerce/woocommerce-admin/pull/5009)
* Create wp.data folder

* order panel

* fix isUnboundedRequest with Categories

* products report

* products table

* indicators and leaderboards

* orders and stock panels

* utils

* tests

* save

* updateStock

* remove wc-api items

* updateItems -> setItems
2020-08-21 11:37:41 +12:00
Daniel Bitzer d8098d6fd7 Adds `@woocommerce/tracks` package (https://github.com/woocommerce/woocommerce-admin/pull/5017)
* Add @woocommerce/tracks package.json

* Add @woocommerce/tracks .npmrc

* Move lib/tracks.js in to tracks package

* Add tracks package debug dependency

* Add readme for tracks package

* Add changelog for tracks package

* Add info about debugging and opt-ins to tracks package readme

* Load tracks package script

* Add tracks package to packages readme

* Add tracks package to webpack config

* Add tracks package external to starter-pack

* Replace lib/tracks uses with @woocommerce/tracks

* Update package-lock.json
2020-08-20 14:29:52 +09:30