woocommerce/plugins/woocommerce-admin/client/marketplace/components/feedback-modal/feedback-modal.tsx

247 lines
7.2 KiB
TypeScript
Raw Normal View History

Squashed commit of the following: commit d7c6924301976338100aad564e4f9d2b8ef40bb3 Author: And Finally <andfinally@users.noreply.github.com> Date: Thu Aug 10 11:52:46 2023 +0100 Addressing feedback. Removed unneeded internal dependencies comment. commit 216e3061787923e070878c1491098fb984f53f47 Author: And Finally <andfinally@users.noreply.github.com> Date: Thu Aug 10 11:51:45 2023 +0100 Addressing feedback. Sanitizing `comments` input before we send it to Tracks. Whitespace. commit 817bcb78a47e9cb5c60167d979dca404d581cc9c Author: Dan Q <danq@automattic.com> Date: Wed Aug 9 16:37:04 2023 +0100 Made selected-item style more like existing ones (background color) commit 57af273b02dfd3039f3db48b620c5842cf7eab3c Author: Dan Q <danq@automattic.com> Date: Wed Aug 9 16:25:14 2023 +0100 Namespaced more translatable strings commit ef293ad45db9511199a61bda9cf1f94709558dd1 Author: Dan Q <danq@automattic.com> Date: Wed Aug 9 16:21:35 2023 +0100 Moved <TextareaControl> out of <p> (prevents DOM "<div> in <p>" warning) commit efc4a5993358726e89e1728b29245340b62dab9c Author: Dan Q <danq@automattic.com> Date: Wed Aug 9 16:18:57 2023 +0100 Linter appeasement commit c7efaf798e49ddfe3fd3deab8f07da083c4c236f Merge: 8b3ff1c86b 2a8d47cd6a Author: Dan Q <danq@automattic.com> Date: Wed Aug 9 15:47:29 2023 +0100 Merge branch 'feature/marketplace' into add/wccom-17602-marketplace-feedback-component commit 8b3ff1c86b550574d768a31b2e3b4868a444f6c8 Author: Dan Q <dan@danq.me> Date: Wed Aug 9 15:20:20 2023 +0100 Update plugins/woocommerce-admin/client/marketplace/components/likert-scale/likert-scale.scss Co-authored-by: Kyle Nel <22053773+kdevnel@users.noreply.github.com> commit 4be3827474e10a99b8f15f479ff7df17e74cab63 Merge: 19e3aa1324 789fdf36a0 Author: Dan Q <danq@automattic.com> Date: Wed Aug 9 15:19:12 2023 +0100 Merge branch 'add/wccom-17602-marketplace-feedback-component' of https://github.com/woocommerce/woocommerce into add/wccom-17602-marketplace-feedback-component commit 19e3aa13249a885f563ee3265fe6b4f224201f4e Author: Dan Q <danq@automattic.com> Date: Wed Aug 9 15:18:58 2023 +0100 Remove unused TextControl commit 789fdf36a06f8244cc293bbbb4fbd5cb0d6c7eb4 Author: Dan Q <dan@danq.me> Date: Wed Aug 9 15:16:09 2023 +0100 Update plugins/woocommerce-admin/client/marketplace/components/likert-scale/likert-scale.tsx Co-authored-by: And Finally <andfinally@users.noreply.github.com> commit d8db9a460f4626b316fad2a60dc947d3c232205d Author: Dan Q <dan@danq.me> Date: Wed Aug 9 15:15:25 2023 +0100 Update plugins/woocommerce-admin/client/marketplace/components/feedback-modal/feedback-modal.tsx Co-authored-by: And Finally <andfinally@users.noreply.github.com> commit 6f0ab9a65c6ec4c13b2af3530393f793952fa93e Author: Dan Q <danq@automattic.com> Date: Wed Aug 9 15:08:10 2023 +0100 Switched pencil icon commit 5bea666730f1bb5cd9479affad5701b68007ea9f Author: Dan Q <danq@automattic.com> Date: Wed Aug 9 14:36:32 2023 +0100 Ensured snackbar appears at bottom (thanks @andfinally for the analysis!) commit b49a19f08d9db4eed592c54ddf79fcf9b9e35d13 Merge: 0076c28677 172234b5a9 Author: Dan Q <danq@automattic.com> Date: Wed Aug 9 13:59:18 2023 +0100 Merge branch 'feature/marketplace' into add/wccom-17602-marketplace-feedback-component commit 0076c2867778ec157ba60aa6259d3768a0f3bb3d Author: Dan Q <dan@danq.me> Date: Tue Aug 8 07:59:42 2023 +0100 Update plugins/woocommerce-admin/client/marketplace/components/feedback-modal/feedback-modal.tsx commit 05f1606dc74050de2170d870954c106c83f9dac9 Author: Dan Q <dan@danq.me> Date: Tue Aug 8 07:58:36 2023 +0100 Fixed merge commit b73a324c5a9db056724b2085aa6055f433841823 Merge: df92adfa14 a807040208 Author: Dan Q <danq@automattic.com> Date: Tue Aug 8 07:56:33 2023 +0100 Merge branch 'feature/marketplace' into add/wccom-17602-marketplace-feedback-component commit df92adfa14c0c9c80f10cc240214dd65f498d7f3 Author: Dan Q <danq@automattic.com> Date: Mon Aug 7 10:53:17 2023 +0100 i18n: make "Additional thoughts" translatable commit b0433556b00283892233bf3729b579a9bf71074d Author: Dan Q <danq@automattic.com> Date: Mon Aug 7 10:36:41 2023 +0100 Add feedback modal to content commit deae2e682437b30728f0b1e3394e3ae02a879228 Author: Dan Q <danq@automattic.com> Date: Mon Aug 7 10:33:43 2023 +0100 Validation/validation feedback on likert scales commit 50aadeef4d87e952e5578299cc303339304ee3e5 Author: Dan Q <danq@automattic.com> Date: Mon Aug 7 09:27:48 2023 +0100 Remove unused props commit 928a62df4cadb81d8017bb7e65e162ee93110a26 Author: Dan Q <danq@automattic.com> Date: Mon Aug 7 09:27:15 2023 +0100 Don't ask for feedback if dismissed earlier today commit 9a8b896f934ea91ee2e3f938c30376192cc0d4d8 Author: Dan Q <danq@automattic.com> Date: Mon Aug 7 09:16:18 2023 +0100 Enable suppression by multiple dismissal or by submission commit 521181a38f138de1255222987a1cc313c537d825 Author: Dan Q <danq@automattic.com> Date: Mon Aug 7 09:01:26 2023 +0100 Add a max date This is important because we don't want to ask for feedback on a "new" marketplace forever, and we can't necessarily rely on being able to remove the dialog in a future version of WooCommerce (because some users might never upgrade beyond this version). commit 0f36d364f40a09de14ef3b585fb8f9387d9db370 Author: Dan Q <danq@automattic.com> Date: Mon Aug 7 08:47:04 2023 +0100 Removed email field commit b83ca81aeacb3a20a2733659fab0fc531eb8fabb Author: Dan Q <danq@automattic.com> Date: Fri Aug 4 12:18:54 2023 +0100 CES push from feedback form commit e5b6e5b570a78b9d4485b5a0f1005522a619e793 Author: Dan Q <danq@automattic.com> Date: Tue Aug 1 16:33:55 2023 +0100 Hook up events. Fix a11y (keyboard navigation). commit b679495180993efddde134d0a1270e41223f5211 Author: Dan Q <danq@automattic.com> Date: Tue Aug 1 15:49:24 2023 +0100 Initial icon in snackbar commit b702be9b8c28376220a0b79243dbf49e5648359c Author: Dan Q <danq@automattic.com> Date: Tue Aug 1 15:23:16 2023 +0100 Use a snackbar notice to open the feedback modal commit 06736e4a3c2f302b048873764331d5f3b4fa0e29 Author: Dan Q <danq@automattic.com> Date: Tue Aug 1 14:25:35 2023 +0100 Feedback modal design matching commit 7c3a969a502b0efda01f3e33ff8dea00d493547b Author: Dan Q <danq@automattic.com> Date: Tue Aug 1 13:40:35 2023 +0100 Basic layout of Likert scales on feedback component commit 3c3f0e0e72402db784aaf281365c252c3204de9b Author: Dan Q <danq@automattic.com> Date: Tue Aug 1 13:25:15 2023 +0100 Tidier order of likert items commit 8176e8820be4acc269b59617df0799816ed6944a Author: Dan Q <danq@automattic.com> Date: Tue Aug 1 13:21:52 2023 +0100 Initial skeleton for WooCommerce Marketplace/Extensions feedback component commit 62a4bfa0ec04305836f48f3233efb20006a64274 Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Thu Jul 27 15:47:54 2023 +0300 👌 Use admin theme color for select2 commit 26811772c9d8582e8a4e5af4502cb31d68a114c5 Author: Nathan Silveira <nsschneider1@gmail.com> Date: Fri Jul 28 14:40:18 2023 -0300 [ Product Block Editor ] Create Variation options block (#39256) * Add support for variable products * Add 'hello world' block to variations tab * Add product-section block to template * Add AttributeControl component to screen * Add changelog * Change labels * Make a copy of AttributeControl to VariationOptionsControl to allow the fields to evolve separately in future * Fix tests * Add changelog to woocommerce * Fix alert error * Remove copied control and start adapting attribute control to handle both scenarios * Add -field to block name * Revert "Add -field to block name" This reverts commit 50e1ee66e27ffb2df22ea7f6a4f78d1577a273f5. * Revert "Revert "Add -field to block name"" This reverts commit eee0441c6532f9fa8cf8383d9699fd503dd054ae. * Extract more labels * Hide drag handle in variation options commit 575bbae7b93395bf892d9db4322c6e18390791de Author: Nathan Silveira <nsschneider1@gmail.com> Date: Fri Jul 28 14:05:03 2023 -0300 [Product Block Editor] Add require password block field (#39464) * Add post password to API * Add changelog * Fix phpcs issue * Remove post_password from tests * Add additional property to test * Increment number of properties in product schema * Update the post when post_password changes * Start adding password block * Add css and import it * Refactor attributes and erase password when checkbox is unchecked * Add changelogs * Remove unused imports * Rename 'fields' to 'field' * Refactor CSS * Remove example object commit bb390b12d070c0976b6c915cf2e5aa739e318561 Author: Corey McKrill <916023+coreymckrill@users.noreply.github.com> Date: Thu Jul 27 15:18:10 2023 -0700 Update template version commit 87ae3d1d7d59a9a6c1586a39fbe0f2891b151c63 Author: github-actions <github-actions@github.com> Date: Thu Jul 20 19:12:38 2023 +0000 Add changefile(s) from automation for the following project(s): woocommerce commit 9c7c58cb0b0bd9a7bc3d8833c529f5f7fa404074 Author: Chris McNeill <82999806+csmcneill@users.noreply.github.com> Date: Thu Jul 20 13:53:07 2023 -0500 Removes the "for your state" string from the checkout page if there are no current payment methods available. commit d4893c4706e1c1f5746665ff247c363761cbaba3 Author: Paul Sealock <psealock@gmail.com> Date: Fri Jul 28 11:10:29 2023 +1200 Monorepo Utils: Fix no merge base in changefile script (#39467) * when checking out remote branch, ensure git history is there to find common ancestor for git diff * remove unshallow commit 144e8733936d5e3836117d32b10df1b3cd42c5a4 Author: Leif Singer <leif@automattic.com> Date: Thu Jul 27 22:29:59 2023 +0200 Optimize system status tests (#39363) commit fccc62d91a3e27629f4a06167bdb82370f04d8dc Author: Nathan Silveira <nsschneider1@gmail.com> Date: Thu Jul 27 13:02:36 2023 -0300 [Product Block Editor] Add post_password parameter to the Woo product REST api (#39438) * Add post password to API * Add changelog * Fix phpcs issue * Remove post_password from tests * Add additional property to test * Increment number of properties in product schema * Update the post when post_password changes commit cb787aba195e1b840e2602b142b4e3b0c50c5452 Author: Leif Singer <leif@automattic.com> Date: Thu Jul 27 14:06:55 2023 +0200 Shard unit test runs (#39362) commit d7e5703b071acb6e5133930e3d3712046c534fb7 Author: Jorge Torres <jorge.torres@automattic.com> Date: Tue Jul 25 11:25:49 2023 -0300 Add changelog commit 8cf45dc8c1183e1ffdefd89810d45cd5daf9f98b Author: Jorge Torres <jorge.torres@automattic.com> Date: Tue Jul 25 11:25:29 2023 -0300 Include postcode in Vietnam address format commit 527701f53ddcbb8157f949d35cd6c71dba1df7f6 Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Tue Jul 18 10:55:32 2023 +0300 Update count color, use admin theme commit 35c1592d8bd48d229fb45f4c24ac154f132ea6ce Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Fri Jul 14 15:10:29 2023 +0300 Update helper css to use admin theme color commit bf95490ade5a66ef6da2b39b0deccced62f852ed Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Fri Jul 14 14:06:54 2023 +0300 Changelog commit eb7b83b4966a04b5c88709df348f632ef970e81e Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Fri Jul 14 13:52:50 2023 +0300 Hover on orders view icon, use admin theme color commit 378d005230927f0957cc47b38c14a5524fe41a15 Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Fri Jul 14 13:51:49 2023 +0300 Store alerts update - use admin theme colors commit 603cbd3f5d73bbcbedddec4cebe1ad474aa60a01 Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Fri Jul 14 13:50:02 2023 +0300 Components empty content icon color commit 3c9e4606cd06fdee2f9e986be58c0af3626cc000 Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Wed Jul 12 16:34:49 2023 +0300 Finally, that's the changelog :) commit 8f4003806a0e8ef480d8058a487d9769fc3c65c3 Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Wed Jul 12 16:16:28 2023 +0300 Changelog commit 016ae2665137b21666dfa64a5514665b888b2ca7 Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Wed Jul 12 15:43:45 2023 +0300 Changelog (again) commit df07d17e2bbd6c5453663ab77d818ee59e51f4bc Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Wed Jul 12 15:24:18 2023 +0300 Changelog commit 30f43803d263be6df96596e25ec9fdd749f34c4c Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Wed Jul 12 15:09:15 2023 +0300 Remove styles from buttons, as theme colors.css is taking care of them commit 5497cefced75fe9becec74cf42cc64b6f4d911c4 Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Wed Jul 12 15:01:36 2023 +0300 Applied review comments commit 57d4f685fda6c2ce8c03be7eeb584b61b888fa24 Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Tue Jul 11 19:43:05 2023 +0300 Remove hardcoded text color wherever variable background color is used commit ea19b23e542c46bb8173551862aaadaf2cfb1c01 Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Tue Jul 11 19:21:37 2023 +0300 Fix activation css to use wp-admin-theme-color commit dbffd6b5c9840deb1837375970b2d12751d7b945 Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Tue Jul 11 19:04:49 2023 +0300 Use new branding colors in activation and wc setup commit 68a83a0d467540123c6f24e68b473df183522ed9 Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Tue Jul 11 17:45:39 2023 +0300 Shipping methods empty state follow theme colors (and minor improvements) commit 366ee82397d717a45a91709f370898c1c7ee13fe Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Tue Jul 11 16:43:39 2023 +0300 Use page-title-action instead of deprecated add-new-h2 commit f62221c0da4b37eafeeaffb74a07301ce517af49 Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Tue Jul 11 16:43:09 2023 +0300 Untested extensions modal uses theme colors commit 4bd8f6b874544161dc55554a6873222b1f52d51b Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Tue Jul 11 16:41:10 2023 +0300 Auth page uses Woo colors, according to branding commit e637035574abf47be0ba7da8af02e4742123b975 Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Tue Jul 11 16:40:41 2023 +0300 Importer/Exporter use admin theme color commit 6a76fd7954649ab054ed24f2bc2bdf8019c1c1fd Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Tue Jul 11 16:38:18 2023 +0300 Breadcrump up link use admin theme color commit 1b67a7fe7c77915f60426179589219b1ea95e1f8 Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Tue Jul 11 16:37:15 2023 +0300 Email status use admin theme color commit 3b69ad144d190565ca619bfff967623eecedaeb7 Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Tue Jul 11 16:35:20 2023 +0300 Input toggles use admin theme color commit b9cd91c20c3250dca982fa67130efdc64f7e0ef6 Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Tue Jul 11 16:34:56 2023 +0300 WooCommerce message use admin theme color commit 5c1dfade0531a3459f1d37d4596398387cb45993 Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Tue Jul 11 16:34:24 2023 +0300 Blankstate buttons follow theme colors commit 20d9981b71d6ad3026df3421a5e1024c379a90fc Author: Panos (Panagiotis) Synetos <2484390+PanosSynetos@users.noreply.github.com> Date: Tue Jul 11 16:24:57 2023 +0300 Change default WooCommerce color commit 16d295d303819225041c0614ef32bd0bf12b27e3 Author: Corey McKrill <916023+coreymckrill@users.noreply.github.com> Date: Tue Jul 25 11:07:52 2023 -0700 Use the LegacyProxy to invoke get_plugins, remove CodeHacking usage commit 5c0d161d877760e3247f4f3b4153498185a6e8a0 Author: Corey McKrill <916023+coreymckrill@users.noreply.github.com> Date: Fri Jun 23 15:27:55 2023 -0700 Add changelog file commit 28e4ce95ef0a9d0e3ca49c85ddca7e3abf5f8bf4 Author: Corey McKrill <916023+coreymckrill@users.noreply.github.com> Date: Fri Jun 23 15:23:42 2023 -0700 WC Tracker: Add unit test for plugin feature compat data In #38849 a change was made that allowed the class mocking necessary for this test to happen in a way that wouldn't interfere with other unit tests. Fixes #38720 commit f47962570827ff5113d3183dab9d85b77e4b44b0 Author: Sam Seay <samueljseay@gmail.com> Date: Wed Jul 26 12:54:45 2023 +0800 WooCommerce Docs: Fix a bug where passing full file urls made ids unstable. (#39357) Fix a bug where passing full file urls made ids unstable. commit ce79211c93839291f9f645bd35da2f2421bd07e7 Author: Vedanshu Jain <vedanshu.jain.2012@gmail.com> Date: Tue Jul 25 18:00:03 2023 +0530 Support inserting NULL values for strict DB mode (#39396) * Support inserting NULL values for strict DB mode * Set default date for placeholder order to support strict MySQL. * Add unit test to verify strict mode also works. * Make HPOS behavior of modified date consistent with WP_Post. In HPOS we were leaving modified date to be empty, while WP_Post set it to the created date if modified date is null. commit b1cb9054646c319028c42ffecce3daaa04d1ee7e Author: Paul Sealock <psealock@gmail.com> Date: Tue Jul 25 15:29:43 2023 +1200 WooCommerce Docs: Handle multiple category posts (#39352) commit ddf9a7741a14fd0a75c7ca079d66d52259af5e18 Author: Paul Sealock <psealock@gmail.com> Date: Tue Jul 25 10:03:01 2023 +1200 Monrepo Utils code-freeze: Update version bump to modify release branches (#39243) commit 91a0fbafa9527c3e18a93539e6d6eadc9223f432 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Jul 24 14:21:47 2023 -0500 Delete changelog files based on PR 39327 (#39388) Delete changelog files for 39327 Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com> commit 8ae03a55de9ba37a6843e71ae794f58caf285975 Author: Moon <moon.kyong@automattic.com> Date: Tue Jul 25 04:13:13 2023 +0900 Update/39325 typo in core profiler data sharing copy (#39327) * Fix grammar in data-sharing agreement copy * Add changelog * Put , * Add brackets * Move learn more link inside the bracket * Update test snapshot * Fix grammar * Update test snapshot commit 41d052b9e5d15d95269b5c0ba49f09f18727fceb Author: RJ <27843274+rjchow@users.noreply.github.com> Date: Mon Jul 24 20:34:38 2023 +0800 dev: core profiler pages storybook (#39046) * dev: core profiler pages storybook * changed css path to pre-build zip path commit c119d8f7e31ccfc1acbf1a8b57a25ced3af93da5 Author: Rodel Calasagsag <rodel.calasagsag@automattic.com> Date: Thu Jul 20 09:30:43 2023 +0800 Add changelog commit 598adeb93e018f0bb8bf034b35f4c4f343ebd559 Author: Rodel Calasagsag <rodel.calasagsag@automattic.com> Date: Wed Jul 19 18:56:39 2023 +0800 Fix flakiness commit 8f14d89310f20685d335877462c6b42de723094d Author: Jon Lane <jon.lane@automattic.com> Date: Fri Jul 21 13:22:07 2023 -0700 Skip tax rates test if CI commit b7913a716501003f52e4770f73b0998e378ae726 Author: Jon Lane <jon.lane@automattic.com> Date: Thu Jul 20 15:50:50 2023 -0700 Changelog commit 4c3ef8e623a436aea066084b31014be67862e5f3 Author: Jon Lane <jon.lane@automattic.com> Date: Thu Jul 20 15:49:02 2023 -0700 Skip failing tests commit c3e76523ecbb58a56d61f547cf951c4ccc90d5ad Author: Jon Lane <jon.lane@automattic.com> Date: Thu Jul 20 14:28:40 2023 -0700 Update config to use API URL commit 149c969ba8cd5c25e29949e31acaed568c33a1b2 Author: Jon Lane <jon.lane@automattic.com> Date: Thu Jul 20 14:26:59 2023 -0700 Update API URL in workflow and run all API tests commit be992dca0221237280ef9a4f0f0eeb0a23eea1bc Author: Jon Lane <jon.lane@automattic.com> Date: Thu Jul 20 14:22:04 2023 -0700 Run global setup commit 00f55c3a130b9e3e2b7a0b5243db010c00822a7e Author: Jon Lane <jon.lane@automattic.com> Date: Thu Jul 20 14:20:36 2023 -0700 Perform a site reset if running on CI commit b128f07af293f4e3349f02d66d6220ab7e5272db Author: Sam Seay <samueljseay@gmail.com> Date: Sat Jul 22 12:22:55 2023 +0800 WooCommerce Docs: Add support for more core block conversion (#39244) * WIP extend support for frontmatter in manifests. * Change some of the prop names in the frontmatter support, add tests. * WIP support new frontmatter in plugin. * Improve category processing. * restructure the docs to have a nested category with no index. * Add WP test stubs to dev. * Add tests for the ManifestProcessor. * Add param docs to function * Store post meta on posts when they are updated or created. Add supporting tests. * WIP supporting more core block types. * Fix bugs in conversion. * Adjust conversion for issues with tables, blockquotes, code. * Resolve pnpm lock conflicts * Return manifest to state in trunk. * Return pnpm lock to trunk state. * Update fixture for new md content. commit 0243bfdc42a97a015fa9503a37fa2b0e8cda1302 Merge: 19ba93ca52 34e490f267 Author: And Finally <andfinally@users.noreply.github.com> Date: Wed Jul 26 14:03:25 2023 +0100 Add new top admin bar to marketplace (#39145) commit 34e490f267605a9ca86000d4e41de7eb219591df Author: And Finally <andfinally@users.noreply.github.com> Date: Wed Jul 26 12:31:59 2023 +0100 Tidying history for https://github.com/woocommerce/woocommerce/pull/39145. Copied changes from `add/wccom-17419-marketplace-top-admin-bar`. Deleting unused import. Addressing CSS linter errors. commit 19ba93ca523a50e515ed5432b89b833ee5f2e312 Merge: 30e23d22d5 28cb1008eb Author: Kyle Nel <22053773+kdevnel@users.noreply.github.com> Date: Wed Jul 26 12:52:39 2023 +0200 Setup marketplace React skeleton layout (#39382) commit 28cb1008eb11d71ce86078a9fa1c0efaa6ccdb2e Author: Kyle Nel <22053773+kdevnel@users.noreply.github.com> Date: Tue Jul 4 14:08:50 2023 +0200 Add skeleton and cherry-picked commits - Reset layout to allow full width - Added Footer & IconWithText components Add temporary placeholder components All components here are temporary and can be removed/replaced when their relevant PR is ready. Add marketplace footer component The component is added using a SlotFill to use the existing WC Admin footer and utilise full width correctly. Setup initial content area layout Update tab styles Setup styling to match latest design Finalise footer, wide layout, and tidy styles - Applies the wide layout from latest MVP design - Applies the correct footer links to titles - Some general style tidying Organise styles and setup variables Swap to using CSS Grid for layouts Update breakpoints Restructure style naming and update to core styles Add translation in some places In-app marketplace search component. Cleaned up the commit history of this branch. Copied changes from these commits: e9828422706176817e511778980005222aa36cc5 9ca2ae351c97fcd27ecd77a1464c2a9ca16de040 e47815705f3854bf50ff48d7975b7cf2f541614b 976811c458e67ae7fa107c8bf8554fdc3e809d85 46eafdf49fe39c12dee77d6ce0885bdeda527dea Deleted unused import. commit 30e23d22d5871a9b5af660f415a361b837932227 Author: And Finally <andfinally@users.noreply.github.com> Date: Thu Jul 20 17:00:22 2023 +0100 Changed `Tabs` to use `useQuery` instead of `getQuery`, so the browser back button will work. Changed submenu item name back to `Extensions`, and keeping it in the current order within the WooCommerce menu. Changed `path` value to `extensions`. commit a2b878e8e76a29bd457f99466c935e9ec4c80dfa Author: And Finally <andfinally@users.noreply.github.com> Date: Thu Jul 20 14:53:06 2023 +0100 First commit. This contains the changes from `update/react-marketplace`, reviewed in https://github.com/woocommerce/woocommerce/pull/38885. Addressing linter errors.
2023-08-10 13:27:31 +00:00
/**
* External dependencies
*/
import { __ } from '@wordpress/i18n';
import { Modal, Button, TextareaControl } from '@wordpress/components';
import { useDispatch } from '@wordpress/data';
import { useState, useEffect } from '@wordpress/element';
import { recordEvent } from '@woocommerce/tracks';
/**
* Internal dependencies
*/
import './feedback-modal.scss';
import LikertScale from '../likert-scale/likert-scale';
import sanitizeHTML from '../../../lib/sanitize-html';
export default function FeedbackModal(): JSX.Element {
const CUSTOMER_EFFORT_SCORE_ACTION = 'marketplace_redesign_2023';
const LOCALSTORAGE_KEY_DISMISSAL_COUNT =
'marketplace_redesign_2023_dismissals'; // ensure we don't ask for feedback if the user's already given feedback or declined to multiple times
const LOCALSTORAGE_KEY_LAST_REQUESTED_DATE =
'marketplace_redesign_2023_last_shown_date'; // ensure we don't ask for feedback more than once per day
const SUPPRESS_IF_DISMISSED_X_TIMES = 1; // if the user dismisses the snackbar this many times, stop asking for feedback
const SUPPRESS_IF_AFTER_DATE = '2024-01-01'; // if this date is reached, stop asking for feedback
// Save that we dismissed the dialog or snackbar TODAY so we don't show it again until tomorrow (if ever)
const dismissToday = () =>
localStorage.setItem(
LOCALSTORAGE_KEY_LAST_REQUESTED_DATE,
new Date().toDateString()
);
// Returns the number of times that the request for feedback has been dismissed
const dismissedTimes = () =>
parseInt(
localStorage.getItem( LOCALSTORAGE_KEY_DISMISSAL_COUNT ) || '0',
10
);
// Increment the number of times that the request for feedback has been dismissed
const incrementDismissedTimes = () => {
dismissToday();
localStorage.setItem(
LOCALSTORAGE_KEY_DISMISSAL_COUNT,
`${ dismissedTimes() + 1 }`
);
};
// Dismiss forever (by incrementing the number of dismissals to a high number), e.g. when feedback is provided
const dismissForever = () => {
dismissToday();
localStorage.setItem(
LOCALSTORAGE_KEY_DISMISSAL_COUNT,
`${ SUPPRESS_IF_DISMISSED_X_TIMES }`
);
};
// Returns true if dismissed forever (either by dismissing at least SUPPRESS_IF_DISMISSED_X_TIMES times, or by submitting feedback)
const isDismissedForever = () =>
dismissedTimes() >= SUPPRESS_IF_DISMISSED_X_TIMES;
const [ isOpen, setOpen ] = useState( false );
const [ thoughts, setThoughts ] = useState( '' );
const [ easyToFind, setEasyToFind ] = useState( 0 );
const [ easyToFindValidiationFailed, setEasyToFindValidiationFailed ] =
useState( false );
const [ meetsMyNeeds, setMeetsMyNeeds ] = useState( 0 );
const [ meetsMyNeedsValidiationFailed, setMeetsMyNeedsValidiationFailed ] =
useState( false );
const openModal = () => setOpen( true );
const closeModal = () => {
incrementDismissedTimes();
setOpen( false );
};
const { createNotice } = useDispatch( 'core/notices' );
function maybeShowSnackbar() {
// don't show if the user has already given feedback or otherwise suppressed:
if ( isDismissedForever() ) {
return;
}
// don't show if the user has already declined to provide feedback today:
const today = new Date().toDateString();
if (
today ===
localStorage.getItem( LOCALSTORAGE_KEY_LAST_REQUESTED_DATE )
) {
return;
}
createNotice(
'success',
__( 'How easy is it to find an extension?', 'woocommerce' ),
{
type: 'snackbar',
icon: (
<>
<svg
color="#fff"
strokeWidth="1.5"
viewBox="0 0 28.873 8.9823"
style={ { height: '8px', marginLeft: '-7px' } }
>
<path
className="l"
d="m4.1223 1.1216 19.12-0.014142 4.3982 3.38-4.3982 3.38-19.12-0.014142a3.34 3.34 0 0 1-2.39-0.97581 3.37 3.37 0 0 1 0.00707-4.773 3.34 3.34 0 0 1 2.383-0.98288z"
stroke="#fff"
/>
<line
className="l"
x1="6.7669"
x2="6.7669"
y1="7.8533"
y2="1.1216"
stroke="#fff"
/>
<path
className="l"
d="m23.235 1.1146 4.4053 3.3729-4.3982 3.38a6.59 6.59 0 0 1-0.89096-3.3517 6.59 6.59 0 0 1 0.88388-3.4012z"
stroke="#fff"
/>
<line
className="l"
x1="6.7669"
x2="22.323"
y1="4.4875"
y2="4.4875"
stroke="#fff"
/>
</svg>
</>
),
explicitDismiss: true,
onDismiss: incrementDismissedTimes,
actions: [
{
onClick: openModal,
label: 'Give feedback',
},
],
}
);
}
// eslint-disable-next-line react-hooks/exhaustive-deps -- [] => we only want this effect to run once, on first render
useEffect( maybeShowSnackbar, [] );
// We don't want the "How easy was it to find an extension?" dialog to appear forever:
const FEEDBACK_DIALOG_CAN_APPEAR =
new Date( SUPPRESS_IF_AFTER_DATE ) > new Date();
if ( ! FEEDBACK_DIALOG_CAN_APPEAR ) {
return <></>;
}
function easyToFindChanged( value: number ) {
setEasyToFindValidiationFailed( false );
setEasyToFind( value );
}
function meetsMyNeedsChanged( value: number ) {
setMeetsMyNeedsValidiationFailed( false );
setMeetsMyNeeds( value );
}
function submit() {
// Validate:
if ( easyToFind === 0 || meetsMyNeeds === 0 ) {
if ( easyToFind === 0 ) setEasyToFindValidiationFailed( true );
if ( meetsMyNeeds === 0 ) setMeetsMyNeedsValidiationFailed( true );
return;
}
const comments = sanitizeHTML( thoughts ).__html;
// Send event to CES:
recordEvent( 'ces_feedback', {
action: CUSTOMER_EFFORT_SCORE_ACTION,
score: easyToFind,
score_second_question: meetsMyNeeds,
score_combined: easyToFind + meetsMyNeeds,
comments,
} );
// Close the modal:
setOpen( false );
// Ensure we don't ask for feedback again:
dismissForever();
}
return (
<>
{ isOpen && (
<Modal
title={ __(
'How easy was it to find an extension?',
'woocommerce'
) }
onRequestClose={ closeModal }
className="woocommerce-marketplace__feedback-modal"
>
<p>
{ __(
'Your feedback will help us create a better experience for people like you! Please tell us to what extent you agree or disagree with the statements below.',
'woocommerce'
) }
</p>
<LikertScale
fieldName="extension_screen_easy_to_find"
title={ __(
'It was easy to find an extension',
'woocommerce'
) }
onValueChange={ easyToFindChanged }
validationFailed={ easyToFindValidiationFailed }
/>
<LikertScale
fieldName="extension_screen_meets_my_needs"
title={ __(
'The Extensions screens functionality meets my needs',
'woocommerce'
) }
onValueChange={ meetsMyNeedsChanged }
validationFailed={ meetsMyNeedsValidiationFailed }
/>
<TextareaControl
label={ __( 'Additional thoughts', 'woocommerce' ) }
value={ thoughts }
onChange={ ( value: string ) => setThoughts( value ) }
/>
<p className="woocommerce-marketplace__feedback-modal-buttons">
<Button
variant="tertiary"
onClick={ closeModal }
text={ __( 'Cancel', 'woocommerce' ) }
/>
<Button
variant="primary"
onClick={ submit }
text={ __( 'Send', 'woocommerce' ) }
/>
</p>
</Modal>
) }
</>
);
}