99834fca3b
* Add Customer Effort Score modal * Add style for selected emoji * Update modal layout to match design * Update colors to use color studio variables * Refactor SCSS to reduce nesting * Refactor render logic to reduce nesting * Add translation to strings * Add keyboard support to emoji buttons * Fix button misalignment * Fix missing white space around button text * Refactor emoji button layout with flexbox Flexbox makes more sense to use than a grid since the buttons need only a single row or column layout. * Refactor merge conflict resolution Tidies up the diff by - Using naming convention of “visible” instead of “open”. - Restoring previous import order. * Add comments field * Update initial score value to undefined * Refactor SASS selectors * Update sendScore with comments data * Fix comments field to display on low scores only * Refactor by extracting modal to own component * Add input validation * Add tests * Fix variable name * Update Feedback component documentation * Fix uneven button height * Restore previous prop names This ensures naming consistency with the CustomerEffortScore component. * Update variable name for consistency * Don't close modal if click outside it * Rename Feedback component to CustomerFeedbackModal * Update error message text * Fix import name * Fix formatting * Update test to use mockRecordScoreCallback prop name * Convert score to int before recording * Clear error message when score has been selected * Add transitions when comments field is shown/hidden * Wrapped comments field UI text for localization * Increase contrast ratio for focused effort score labels Co-authored-by: Matt Sherman <matt@jam123.com> Co-authored-by: Rebecca Scott <me@becdetat.com> |
||
---|---|---|
.. | ||
.github | ||
bin | ||
client | ||
config | ||
docs | ||
images | ||
includes | ||
languages | ||
packages | ||
src | ||
storybook | ||
tests | ||
.browserslistrc | ||
.distignore | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.js | ||
.gitattributes | ||
.gitignore | ||
.nvmrc | ||
.prettierrc.json | ||
.stylelintrc.json | ||
.travis.yml | ||
CONTRIBUTING.md | ||
Gruntfile.js | ||
LICENSE.md | ||
README.md | ||
babel.config.js | ||
chunk-src-version-param.js | ||
composer.json | ||
composer.lock | ||
docker-compose.yaml | ||
lerna.json | ||
license.txt | ||
lint-staged.config.js | ||
package-lock.json | ||
package.json | ||
phpcs.xml.dist | ||
phpunit.xml.dist | ||
readme.txt | ||
renovate.json | ||
tsconfig.json | ||
uninstall.php | ||
unminify.js | ||
webpack.config.js | ||
woocommerce-admin.php |
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 versionnpm run dev
: Build a development versionnpm start
: Build a development version, watch files for changesnpm 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
Testing
End-to-end tests
Tests live in ./tests/e2e
. E2E tests have their own Docker container to run the WordPress server. Start
the server using:
npm run docker:up
Run tests using:
npm run test:e2e-dev
or in headless mode:
npm run test:e2e
Run a single test by adding the file name:
npm run test:e2e-dev complete-onboarding-wizard.test.js
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