woocommerce/plugins/woocommerce-admin
Jason Conroy e5bd8f3184 Marketing Tab MVP (https://github.com/woocommerce/woocommerce-admin/pull/3953)
* Add Marketing feature flag

* Add marketing page and menu item

* Register marketing page with layout controller

* Add initial marketing cards

* Add max-width to marketing overview page

* Add initial marketing WelcomeCard component

* Make marketing welcome card permanently dismiss

* Add a readme for the marketing page components

* Record tracks event when marketing welcome dismissed

* Match design width

* Add welcome image and initial styles

* Use gridicon for close button

* Fix whitespace

* Add PluginsHelper::get_plugin_data()

* Add initial Marketing\InstalledExtensions class

* Preload installed marketing extensions data

* Tweak extension statuses

* Add InstalledExtensionRow component

* Add initial extension data to InstalledExtensions card

* Refactor PluginsHelper::get_plugin_data method

Using the new get_plugin_path_from_slug method

* Ensure get_plugins() function is available for PluginsHelper

* Simplify using PluginsHelper method

* Add MailChimp configured status logic

* Add links to InstalledExtensionRow component

* Add key prop to extensions list

* Setup styles for InstalledExtensions card

* Display nothing if no installed extensions

* Add InstalledExtensions::get_allowed_plugins()

* Setup Marketing Overview API controller

* Add /activate-plugin marketing endpoint

* Add more extensions URL props

* Add Facebook extension configured status logic

* Update Facebook extension URL props

* Fix extenion data logic

* Move component into it’s own directory

* Setup /marketing/overview/recommended endpoint

* Initial marketing page card header styles

* Add basic extension data to RecommendedExtensions

* Use color as variable

* Tweak card header padding for design

* Add basic styling to RecommendedExtensions card

* settingsUrl is not available if the plugin is not active

* Add /marketing/overview/installed-plugins REST endpoint

* Add basic activation functionality to InstalledExtensions component

* Don’t throw error on success

* Add MVP data store for installed extensions card

* Add core dark blue color variable

* Add styles for installed extensions card

* Move knowledge-base component to its own directory

* Pull recommended marketing plugins from remote test site

* Hide description when configured

As per design

* Tweak colors based on design

* Finish off styling for RecommendedExtensions

* Limit recommended extensions to 6 items

* Add error handling to RecommendedExtensions card

* Rename ‘copy’ extension prop

* Add marketing button component to match design

* Create ProductIcon component for marketing

* Add InstalledExtension icons

* Fix icon image paths

* Add ProductIcon to InstallExtensionRow

* Final styling to installed extensions card row

* Knowledge base card placeholders

* Fix missing icons when plugin not activated

* Remove logging

* Tweak array structure to ensure we have an array in JS

and not an object

* Refactor KnowledgeBase marketing component

- We don’t need loop through every post when rendering, just pick the posts we need
- Remove unused classes

* Move padding from each slide to the container

* Improve slider animations by absolute positioning the slides

* Reduce the slider animation timeout and add a note

* Add in-app purchase flow url params for recommended extensions

* Fix slider animation

* Reset slider height on window resize

* Short slider animation, fix double margin on smaller screens

* Add initial marketing/knowledge-base endpoint

* Pull knowledge base posts from API

* Rename welcome card dismiss tracks event

* Record event on recommended product click

* Recond onclick events for installed extensions card

* Record event when carousel navigation clicked

* img elements must have an alt prop

* Remove import that is never used

* use camelCase

* Decode HTML entities from API call

* Remove unused container div

* Add card loading state

* Add images to knowledge base card

* Link knowledge base posts

* Use the Pagination component rather than duplicate it’s functionality

* Clean up and rename knowledge base slider

* Clean knowledge base CSS and update responsive styles for single post slide

* Add a README for button component

* Add README for product icon component

* Add initial readme for Slider component

* Add correct image sizes to knowledge base slider, finalize styles

* Fix extension link urls

* Resolve some code formatting issue

* Bind class click methods to this

* Wrap nodes in Fragment

* Fix wccom-back path

* Add placeholder author and gravatar

Default avatar url size returned from the API is currently set to 96 so I’ve done a simple replace with 16

* Fix style-lint expected new line

* Add docblock for get_knowledge_base_posts()

* Setup data store for marketing to handle installedExtensions card

* Fix function names

“Activating” not “installing”

* Move welcome card component to its own dir

* IconButton component is going to be deprecated

ref: https://github.com/WordPress/gutenberg/pull/19299

* Support multiple activating plugins in the data store

* Rename extension to plugin for consistency

* Add propTypes to component

* Rename data-store/ to data/

* Fix import paths

* Extract isActivatingPlugin logic into datastore

* Move data store selectors into own file

* POST requests are not cached

* Export apiFetch action

* Don’t wrap API response in object

* Implement data store for recommended extensions

* Implement data store for marketing knowledge base

* Tidy getRecommendedPlugins resolver

* Try a cross browser cover/crop image effect to fit proposed design

And help fit longer titles in

* Add caught errors to handler

* Adjust positioning so watermater is displayed

* InstalledExtensions phpcs fixes

* Marketing phpcs fixes

* Alignment fix

* MarketingOverview phpcs fixes

* Missing full stop

* Update breadcrumbs to use new approach

* Fix style lint issues

* Record `marketing_knowledge_article` track event on knowledge base post click

* Import apiFetch and controls from @wordpress/data-controls

* Hex color to lowercase

* Remove duplicate method after rebase

* Use new showPageArrowsLabel rather than hide with CSS

* Fix blurry avatars on hidpi displays

* Hide avatar if URL is falsy

* Replace test author data with live data

* Combine conditionals into ternary

* Combine conditionals into ternary

* Simplify class column logic

* Only preload option and component settings in the admin

* Fix isActivatingPlugin not updating

Component was not re-rendeding.

* Use querySelector over getElementsByClassName

* Hide Marketing Welcome Card immediately on click

* Use create-a-ticket url for supportUrl and make that the default

* Add getInstalledPlugins resolver with preloaded data

* Revert "Add getInstalledPlugins resolver with preloaded data"

This reverts commit b8b127ec6411bef15616576b3bb189dc31777c13.

* Load plugin data in a separate request after activation

* Update welcome image

* Don’t return plugin data in the activation request.

* A space is required before closing bracket

* Update Jest config to gracefully handle static assets

Ref: https://jestjs.io/docs/en/webpack#handling-static-assets

* Remove unused onExit property

* Remove placeholder README

* Use prop directly

* yield createNotice

* Add note to indicate which Category

* Increase transient time to 3 days

* Use $gap-small

* Add proptype

* Add debounce to slider height resize listener

* Clean up isLoading logic

* Dont show image elements if image data is empty

* Open knowledge base posts in a new window

* Add “noreferrer”

* Turn the tab on in all env

Co-authored-by: Daniel Bitzer <danielbitzer@gmail.com>
2020-03-28 06:48:27 -07:00
..
.github Changelog: Use author's note, if supplied 2019-06-18 22:11:58 +12:00
bin WooCommerce Shipping order page prompt (https://github.com/woocommerce/woocommerce-admin/pull/3955) 2020-03-27 13:42:58 -07:00
client Marketing Tab MVP (https://github.com/woocommerce/woocommerce-admin/pull/3953) 2020-03-28 06:48:27 -07:00
config Marketing Tab MVP (https://github.com/woocommerce/woocommerce-admin/pull/3953) 2020-03-28 06:48:27 -07:00
docs Merge final `version/1.0` branch with `master` (https://github.com/woocommerce/woocommerce-admin/pull/3848) 2020-03-10 15:47:39 +13:00
images Marketing Tab MVP (https://github.com/woocommerce/woocommerce-admin/pull/3953) 2020-03-28 06:48:27 -07:00
includes Make WooCommerce breadcrumbs use WooCommerce branding if it is installed (https://github.com/woocommerce/woocommerce-admin/pull/3798) 2020-03-24 08:57:16 +10:00
languages update i18n scripts for making JSON files (https://github.com/woocommerce/woocommerce-admin/pull/3433) 2019-12-30 09:38:20 -04:00
packages Remove icon-button classes from Tag component (https://github.com/woocommerce/woocommerce-admin/pull/3993) 2020-03-27 20:08:35 +01:00
src Marketing Tab MVP (https://github.com/woocommerce/woocommerce-admin/pull/3953) 2020-03-28 06:48:27 -07:00
storybook Storybook: point to correct folder (https://github.com/woocommerce/woocommerce-admin/pull/4001) 2020-03-26 11:36:26 +13:00
tests Marketing Tab MVP (https://github.com/woocommerce/woocommerce-admin/pull/3953) 2020-03-28 06:48:27 -07:00
.browserslistrc Add CSS autoprefixer (https://github.com/woocommerce/woocommerce-admin/pull/244) 2018-07-30 10:05:22 -04:00
.distignore Add Feature Flags (https://github.com/woocommerce/woocommerce-admin/pull/1500) 2019-02-12 15:02:02 -05:00
.editorconfig Align WooCommerce javascript code standards/linting/styles with WordPress core. (https://github.com/woocommerce/woocommerce-admin/pull/3674) 2020-02-14 15:23:21 +13:00
.eslintignore Align WooCommerce javascript code standards/linting/styles with WordPress core. (https://github.com/woocommerce/woocommerce-admin/pull/3674) 2020-02-14 15:23:21 +13:00
.eslintrc.js Align WooCommerce javascript code standards/linting/styles with WordPress core. (https://github.com/woocommerce/woocommerce-admin/pull/3674) 2020-02-14 15:23:21 +13:00
.gitattributes Create GH tag release process (https://github.com/woocommerce/woocommerce-admin/pull/3190) 2019-11-18 11:39:27 +13:00
.gitignore Ignore *.swp files (https://github.com/woocommerce/woocommerce-admin/pull/4004) 2020-03-26 11:19:55 -04:00
.nvmrc Add nvmrc for newest lts release (https://github.com/woocommerce/woocommerce-admin/pull/1108) 2018-12-18 16:06:27 -06:00
.prettierrc Align WooCommerce javascript code standards/linting/styles with WordPress core. (https://github.com/woocommerce/woocommerce-admin/pull/3674) 2020-02-14 15:23:21 +13:00
.stylelintrc.json Align WooCommerce javascript code standards/linting/styles with WordPress core. (https://github.com/woocommerce/woocommerce-admin/pull/3674) 2020-02-14 15:23:21 +13:00
.travis.yml Version/1.0 master merge (https://github.com/woocommerce/woocommerce-admin/pull/3797) 2020-03-03 11:22:32 +13:00
CONTRIBUTING.md Reports sync refactor (https://github.com/woocommerce/woocommerce-admin/pull/3285) 2020-01-03 00:00:37 +08:00
Gruntfile.js Align WooCommerce javascript code standards/linting/styles with WordPress core. (https://github.com/woocommerce/woocommerce-admin/pull/3674) 2020-02-14 15:23:21 +13:00
LICENSE.md update to consistent license 2019-05-16 13:14:03 -03:00
README.md Prod ready. (https://github.com/woocommerce/woocommerce-admin/pull/3556) 2020-01-14 15:57:21 -08:00
babel.config.js Align WooCommerce javascript code standards/linting/styles with WordPress core. (https://github.com/woocommerce/woocommerce-admin/pull/3674) 2020-02-14 15:23:21 +13:00
composer.json Align WooCommerce javascript code standards/linting/styles with WordPress core. (https://github.com/woocommerce/woocommerce-admin/pull/3674) 2020-02-14 15:23:21 +13:00
composer.lock Match Woo Core JP Autoloader version (https://github.com/woocommerce/woocommerce-admin/pull/3667) 2020-02-04 15:38:37 -08:00
lerna.json Align WooCommerce javascript code standards/linting/styles with WordPress core. (https://github.com/woocommerce/woocommerce-admin/pull/3674) 2020-02-14 15:23:21 +13:00
license.txt include license.txt and update component package.json files 2019-05-18 01:19:20 -03:00
package-lock.json Update dependency qs to v6.9.2 (https://github.com/woocommerce/woocommerce-admin/pull/3991) 2020-03-25 16:49:11 +13:00
package.json Update dependency qs to v6.9.2 (https://github.com/woocommerce/woocommerce-admin/pull/3991) 2020-03-25 16:49:11 +13:00
phpcs.xml.dist Use same wp-components version in bundle (https://github.com/woocommerce/woocommerce-admin/pull/3253) 2019-11-21 09:36:44 +13:00
phpunit.xml.dist Update PHPUnit to version 7 (https://github.com/woocommerce/woocommerce-admin/pull/3571) 2020-01-16 10:03:44 -04:00
postcss.config.js Update to Color Studio v2.1.0 (https://github.com/woocommerce/woocommerce-admin/pull/2837) 2019-08-29 12:07:56 -04:00
readme.txt style and icon updates (https://github.com/woocommerce/woocommerce-admin/pull/3965) 2020-03-24 11:21:20 -07:00
renovate.json Align WooCommerce javascript code standards/linting/styles with WordPress core. (https://github.com/woocommerce/woocommerce-admin/pull/3674) 2020-02-14 15:23:21 +13:00
uninstall.php Revamp uninstallation when WooCommerce Admin is in core. (https://github.com/woocommerce/woocommerce-admin/pull/3546) 2020-01-16 17:08:29 -07:00
webpack.config.js WooCommerce Shipping order page prompt (https://github.com/woocommerce/woocommerce-admin/pull/3955) 2020-03-27 13:42:58 -07:00
woocommerce-admin.php Bump version and add changelog entries. (https://github.com/woocommerce/woocommerce-admin/pull/3945) 2020-03-19 13:05:58 -06:00

README.md

WooCommerce Admin

This is a feature plugin for a modern, javascript-driven WooCommerce Admin experience.

Prerequisites

WordPress 5.3 or greater and WooCommerce 3.6.0 or greater should be installed prior to activating the WooCommerce Admin feature plugin.

For better debugging, it's also recommended you add define( 'SCRIPT_DEBUG', true ); to your wp-config. This will load the unminified version of all libraries, and specifically the development build of React.

Development

After cloning the repo, install dependencies:

  • npm install to install JavaScript dependencies.
  • composer install to gather PHP dependencies.

Now you can build the files using one of these commands:

  • npm run build : Build a production version
  • npm run dev : Build a development version
  • npm start : Build a development version, watch files for changes
  • npm run build:release : Build a WordPress plugin ZIP file (woocommerce-admin.zip will be created in the repository root)

For more helper scripts see here

For some debugging tools/help see here

Privacy

If you have enabled WooCommerce usage tracking ( option woocommerce_allow_tracking ) then, in addition to the tracking described in https://woocommerce.com/usage-tracking/, this plugin also sends information about the actions that site administrators perform to Automattic - see https://automattic.com/privacy/#information-we-collect-automatically for more information.

Contributing

There are many ways to contribute reporting bugs, adding translations, feature suggestions and fixing bugs. For full details, please see CONTRIBUTING.md