Commit Graph

66 Commits

Author SHA1 Message Date
RJ 6a95d3ee93
dev: move guided tours into consolidated folder (#34279)
* dev: moved shipping tour into guided tours folder

* dev: moved store address tour to guided-tour folder

* dev: updated imports for store address tour code move

* dev: move add-product-tour to guided-tours

* dev: update imports for add-product-tour code move
2022-08-12 09:49:18 +08:00
louwie17 a498cc8280
Add product form buttons and specific product edit page (#34211)
* Add initial product form action buttons to form

* Add new edit page and allow for updating and creating products

* Move crud functions to helper hook to keep things seperated better

* Add changelog

* ADd package changelogs

* Add isPending selector to products store

* Fix trash screen showing up when deleting product and add loading indicators

* Add extra types to Product type

* Update track names and add product data to tracks

* Update track logic when product is published

* Remove the Image section for now, to prevent confusion as it is not ready yet

* Add tests for the product form actions

* Update copy for publish & duplicate

* Remove unused code

* Set window.location correctly with href

* Reset changes in pnpm lock

* Moved pending action variables to product helper and updated buttons to reflect new suggestions

* Fix backwards compabitibility issue with Form changes

* Add switch to draft button
2022-08-11 11:04:14 -03:00
Chi-Hsuan Huang 8952dac7c0
Set up i18n-text-domain rule and fix missing text domain (#33780)
* Set allowedTextDomain to only allow woocommmerce text domain

* Set allowedTextDomain to only allow woocommerce text domain

* Fix wrong or missing i18n text domain

* Add changelog

* Add changelog
2022-07-08 18:37:30 +08:00
Moon f8e8b6ff04
Style fix for the print shipping banner close modal (#33587)
* Style fix for the close modal

* Add changelog
2022-06-30 14:05:00 -07:00
Chi-Hsuan Huang 7068c78101
Fix JS lint errors (#33484)
* Fix @woocommerce/data lint errors

* Fix internal-e2e-builds lint error

* Fix lint errors
2022-06-21 16:37:34 +08:00
RJ a78670bfec
Updated @automattic/tour-kit to 1.1.1 which has live resize functionality (#33452) 2022-06-16 15:49:03 +08:00
Chi-Hsuan Huang ea194237a3
Fix product tour TypeError when reading innerHTML (#33448)
* Fix product tour TypeError when reading innerHTML

* Add changelog
2022-06-16 14:02:28 +08:00
Ilyas Foo 27041efdc5
Add event tracking product page spotlight tour (#33400)
* Update WooStep to have name in meta

* Add useProductStepChange hook and use it to detect form value changes in product tourkit, added tracking for tour view, tour dismiss, tour complete, and step complete

* Add tour view, tour dismiss, tour completion track to old product walkthrough

* Changelog

* Fix test

* Add listener to publish button for product spotlight tour

* Add track for old walkthrough publish button
2022-06-14 16:19:32 +08:00
Chi-Hsuan Huang 8fb9664b7a
Fix product tour spotlight location (#33395) 2022-06-14 10:22:43 +08:00
Chi-Hsuan Huang 04a763d389
Add product page spotlight tour (#33268)
* Add product-tour admin script

* Update class-wc-admin-pointers.php to show experimental product tour

* Remove unnecessary window.onload

* Replace add new button with Enable guided mode button for product editing

* Show tour when tutorial query = true

* Add logic to show new tour only when a user select the physical product template

* Update product tour last step button text

* Add auto-scroll effect

* Fix i18n text

* Use bottom-start placement and align the arrow to the left

* Update pnpm-lock.yaml

* Update product tour effects

* Add changelog

* Add doc comments & check for tour-kit

* Add focus elements to product tour and wait initial element for tour showup

* Use spotlight query param to toggle new product tour feature

* Update wait seconds

* Update border style for product description & short description when editor is focused

* Add experimental-product-tour feature flag

* Refactor product-tour and support html editor focus style

Co-authored-by: moon <moon.kyong@automattic.com>
2022-06-09 13:02:40 +08:00
Moon 29ddd17e68
Deprecate wcAdminAssetUrl and WC_ADMIN_IMAGES_FOLDER_URL (#33290)
* Fix incorrect URL for the wcAdminAssetUrl and deprecate both wcAdminAssetUrl and WC_ADMIN_IMAGES_FOLDER_URL

* Remove unused wcAdminAssetUrl var

* Remove use of wcAdminAssetUrl

* Add changelog

* Ignore hook PHPCS error -- they are pre-existing
2022-06-02 15:01:37 -07:00
louwie17 61d9d0043f
Add initial tracking for categories, tags, and attribute product pages (#33118)
* Add initial tracking for categories, tracks, and attribute product pages

* Update list action tracks that add new items without page refresh

* Add changelog

* Add extra category tracks

* Rename constant for add a new tag button

* Remove unneeded props from track
2022-05-30 13:14:25 -03:00
louwie17 574e00b6d5
Add/32676 category and tag tracks within products screen (#33121)
* Add logs for the attributes and tags on the product page

* Only trigger attributes_add on product screen when user hits save

* Add extra props to attribute add track

* Add tags delete track and fix count of tags add track

* Update use of wp_localize_script
2022-05-30 10:06:34 -03:00
Joshua T Flowers e4824b9660
Add tracks to new product and edit product screens (#33120)
* Move product list tracks to seperate file

* Change product list tracks to TS

* Check init of tracks on client-side

* Add new product tracks

* Add product screen tracks

* Add product edit tracks

* Localize product screen variable

* Add changelog entry

* Handle PR feedback

* Track date changes on edit
2022-05-26 16:56:22 -04:00
Joshua T Flowers 0702433531
Add tracks to products list page (#32949)
* Add tracks to products list page

* Remove duplicate tracks

* Add changelog entry

* Check for fields before getting values

* Add bulk actions cancel button

* Check for element before binding event listener

* Check for search input before getting value
2022-05-17 11:52:44 -04:00
Chi-Hsuan Huang 5476f4c80f Add onboarding load sample products notice 2022-05-04 10:15:03 +08:00
Chi-Hsuan Huang d94c1dc7bd Remove unnecessary wpDataselect & WCDataSelector types from react client 2022-04-25 14:17:28 +08:00
moon 05c04c8679 Fix type errors 2022-04-18 10:42:08 -07:00
RJChow 1ba60ee69d Codemod to change i18n text domain from 'woocommerce-admin' to 'woocommerce' in WCA Client 2022-04-01 11:41:32 +08:00
Moon 8232b226f7 Use constant to construct image URLs (https://github.com/woocommerce/woocommerce-admin/pull/8451)
* Add WC_ADMIN_IMAGES_FOLDER constant

* Use WC_ADMIN_IMAGES_FOLDER to construct image URL

* Rename WC_ADMIN_IMAGES_FOLDER to WC_ADMIN_IMAGES_FOLDER_URL

* Use WC_ADMIN_IMAGES_FOLDER_URL to construct image URLs

* Move wcpay-banner.png to client dir

* Move wcpay-banner.png to client dir

* Use WC_ADMIN_IMAGES_FOLDER_URL for wcAdminAssetUrl

* Use WC_ADMIN_IMAGES_FOLDER_URL to construct image URLs

* Use WC_ADMIN_IMAGES_FOLDER_URL to construct image URLs

* Revert to images

* Add / to the path
2022-03-14 15:01:03 -07:00
Chi-Hsuan Huang c05ed7777a Update dependencies to support react 17 (https://github.com/woocommerce/woocommerce-admin/pull/8305)
* Upgrade dependencies to support react17

Update pkg

Update @wordpress/api-fetch and gridicons

* Update test snapshots

* Update SnackbarList with latest react-spring

* Mock data.dispatch for task-list-item.test.tsx

* Remove '@wordpress/components/src/visually-hidden/style' import

wp-components has included it

* Update interpolateComponents import path

* Fix display-options test

* Add changelogs

Update changelogs

* Add @automattic/explat-client-react-helpers back

* Update webpack.config for explat-client-react-helpers

Update webpack config comment

Fix grammar
2022-02-21 10:34:25 +08:00
louwie17 3998f88597 Remove unpublished wc-admin-settings package and update getSetting usage (https://github.com/woocommerce/woocommerce-admin/pull/8057)
* Remove use of wc-admin-settings from packages

* Move getSetting to getAdminSetting and remove wc-admin-settings package

* Add changelog

* Update package.json and remove last use of wc-admin-settings
2022-01-06 08:53:30 -04:00
Joshua T Flowers d692986e11 Add option to dismiss promotional payment gateway (https://github.com/woocommerce/woocommerce-admin/pull/7965)
* Add ellipsis menu and styling

* Add dismissed option to pseudo payment gateway

* Check if the suggested gateway has been dismissed

* Add visibility and transition rules

* Remove CSSTransition wrapper due to invalid tags

* Fix padding on ellipsis menu

* Add dismiss tracks event

* Add changelog entry

* Check dismissal of promotion server-side
2021-11-30 13:02:54 -05:00
louwie17 30bca4c613 Fix WC pay promotion ordering (https://github.com/woocommerce/woocommerce-admin/pull/7943)
* Fix WC Pay ordering and overwriting another payment gateway

* Fix styling if extra columns are present

* Add changelog
2021-11-18 12:53:50 +08:00
louwie17 7f38f6fd0a Feature/7319 add woocommerce com data (https://github.com/woocommerce/woocommerce-admin/pull/7553)
* Add woocommerce.com data source poller

* Change data source back to .com

* Fix namespace

* Make use of the sub_title prop to display payment cards

* Fix some styling issue and add TS types

* Rename admin script to keep it more generic

* Add br tag as allowed, and update expected data format

* Update styling

* Address PR feedback
2021-09-09 09:25:13 -03:00
louwie17 4c4161ac3c Render psuedo wc pay payment gateway in payment method table (https://github.com/woocommerce/woocommerce-admin/pull/7550)
* Render psuedo wc pay payment gateway in payment method table

* Fix lint errors

* Fix lint error

* Add setup event and make use of script_assets file

* Left align payment icons

* Fix feature import and update pageview track

* Fix broken test and add an extra one

* Fix payment method ordering persistance

* Remove the use of psuedo and addressed several PR related feedback

* Fix PHP lint errors

* Make sure track props use underscore

* Fix test

* Update comment

* Add await
2021-09-08 13:41:00 -03:00
louwie17 022f7a173a Remove depreciated shared settings hook (https://github.com/woocommerce/woocommerce-admin/pull/7480)
* Initial set up for the WCAdminSettingsRegistry

* Make use of filter for admin settings

* Add wc/settings package and remove depreciated dropzone wrapper

* Make use of the getSetting function instead of accessing window directly

* Add comments

* Add changelog

* Remove un needed changes

* Update dropzone provider logic and fix styling

* Remove old css
2021-08-24 08:39:48 -03:00
Sam Seay 27e7c5831c Update outgoing woocommerce.com links to include `utm_medium=product` (https://github.com/woocommerce/woocommerce-admin/pull/7408) 2021-08-04 08:56:43 +12:00
Jeff Stieler 8e61f55017 Allow packages to be built in isolation. (https://github.com/woocommerce/woocommerce-admin/pull/7286)
* Use yarn instead of npm.

In prep for workspaces, since we're locked to npm < 7. See: https://github.com/woocommerce/woocommerce-admin/pull/7126#issue-661287749

* Initial workspace creation.

* Add initial tsc build to @woocommerce/number.

* Attempt to build experimental package.

* Try currency package.

* Define all packages as workspaces.

* Use tsconfig common to packages.

* Fix currency package build.

* Build csv-export with tsc.

* Try to build customer-effort-score with tsc.

* Fix JSX pragma.

* Build data package with tsc.

* Build date package with tsc.

* Build experimental package with tsc.

* Try to build explat package with tsc.

* Build navigation package with tsc.

* Build notices package with tsc.

* Build onboarding package with tsc.

* Build components package with tsc.

* Swap in package JS build into main script.

* Fix experimental package build.

* Try per-package css build with components.

* Try to run components package tests in isolation.

Broken on JSX in test files not being transformed.

* Move @woocommerce/wc-admin-settings into a package.

* Try to fix components package tests.

Fails because we aren't setting up the jest/jest-dom globals.

* Move JS test code to reusable (private) package.

* Enable incremental TS builds.

* Use workspaces to run JS tests.

* Use new jest configs for update snapshot scripts.

* Fix style builds.

* Fix package version in components.

* Fix client test debug and watch scripts.

* Update yarn lock.

* Update test-staged behavior.

* Try to fix storybook.

* Fix storybook.

* Update more npm commands to yarn.

* Add changelog.

* Fix lint errors.

* Update packages readme script references.

* Clean up unused gitignore match.

* Fix another npm command.

* Fix JS builds on watch.

* Fix start script.

* Fix start scripts for packages.

* Use tsc to build packages before tests

* yarn -> npm.

# Conflicts:
#	package-lock.json
#	package.json

* Fix linter error.

* Remove workspace definitions.

* Fix missing Fragment import.

* Fix package lock.

* Fix missing reference.

* Only build commonjs module for js-tests helper.

* Remove errant dependency from components.

* Remove noop scripts.

* Fix package JS build before testing.

* Revert noisy formatting changes.

* Fix precommit and test scripts.

* Fix minimum expected recommended extension count.

Japan test case breaks this.

* Revert babel config changes.

* chore(release): publish

 - @woocommerce/components@7.2.0
 - @woocommerce/csv-export@1.4.0
 - @woocommerce/currency@3.2.0
 - @woocommerce/customer-effort-score@1.1.0
 - @woocommerce/data@1.4.0
 - @woocommerce/date@3.1.0
 - @woocommerce/dependency-extraction-webpack-plugin@1.7.0
 - @woocommerce/eslint-plugin@1.3.0
 - @woocommerce/experimental@1.5.0
 - @woocommerce/explat@1.1.0
 - @woocommerce/js-tests@1.1.0
 - @woocommerce/navigation@6.1.0
 - @woocommerce/notices@3.1.0
 - @woocommerce/number@2.2.0
 - @woocommerce/onboarding@1.1.0
 - @woocommerce/tracks@1.1.0
 - @woocommerce/wc-admin-settings@1.1.0

* Add script for running 'start' in a package.

* Remove yarn from gitignore.

* Update package changelogs, prep versions for release.

* Try to fix E2E tests after main merge.

* Some cleanup.

* Add changelog.

Co-authored-by: Paul Sealock <psealock@gmail.com>
2021-07-14 16:38:57 -04:00
louwie17 b642576e34 Remove the use of Dashicons and replace with `@wordpress/icons` or `gridicons` (https://github.com/woocommerce/woocommerce-admin/pull/7020)
* Updated mobile banner icon with cross-small gridicon

* Update analytics dashboard icons, removing use of dashicon

* Remove use of dash icon in tag component

* Remove dash icon from ellipsis menu

* Remove use of dashicon in calendar

* Update icon imports and remove use of Dashicon in collapsible list

* Remove Dashicon usage from store alerts as it is depreciated

* Remove dashicon usage in shipping label

* Fix up old css for icons

* Removed dashicon usage in favorite button

* Update the wordpress/icons package

* Add changelogs

* Fix broken test
2021-05-25 12:14:14 -03:00
Paul Sealock 7ab756b76c Try ExPlat: Add A/A test (https://github.com/woocommerce/woocommerce-admin/pull/6669)
* Add basic ExPlat initialization

* add tsx support
2021-04-15 13:32:46 +12:00
Hsing-Yu Flowers 00676f12b5 Check if tax was successfully added before displaying notice (https://github.com/woocommerce/woocommerce-admin/pull/6229)
* Check if tax was successfully added before notice

* Handle PR feedback

* Handle PR feedback-2

* Fix rebase
2021-02-18 12:27:32 +08:00
Joshua T Flowers 24ccd6803b Add survey URL builder method (https://github.com/woocommerce/woocommerce-admin/pull/6066)
* Add survey class and URL builder method

* Use survey URL method in notes

* Pass survey URL to opt out modal

* Simplify source/query filter

* Move survey URL to constant
2021-01-15 09:54:26 -05:00
Joel Thiessen 1a45ae2c0d Restrict beta features to only those that have opted into tracking, adding modal for navigation feature (https://github.com/woocommerce/woocommerce-admin/pull/6054) 2021-01-13 11:43:45 -08:00
Joshua T Flowers 2068b36fe7 Add navigation opt out modal (https://github.com/woocommerce/woocommerce-admin/pull/5857)
* Add navigation opt out script

* Check to see if opted out before loading opt out scripts

* Include opt out styles

* Close modal after clicking 'Share Feedback'

* Update to not use export default
2020-12-16 09:08:14 -05: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
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
Chris Shultz 570de23747 Stop using missing installPlugin function and fix WCS 1.24 compatibility (https://github.com/woocommerce/woocommerce-admin/pull/5025)
* Update Shipping Banner to use installPlugins since installPlugin has been removed.

* Fix shipping banner compatibility with WCS 1.24.

* Update metabox content to match WC 4.5 metaboxes.
2020-08-31 08:13:14 -07: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
Paul Sealock c145783e0a Fix dependency declarations (https://github.com/woocommerce/woocommerce-admin/pull/4972)
* renmove WC comment block

* client routes

* more fixes

* moar search

* getting there

* by hand now

* david beating goliath

* mission accomplished

* client filepath

* save

* got it

* remove script

* fixes

* deal with package internal dep

* remove webpack alias

* fix webpack relative paths

* remove commented rule

* remove extra line

* remove unused modules entry
2020-08-13 14:05:22 +12:00
Harris Wong 276d8455b0 Update style on shipping banner (https://github.com/woocommerce/woocommerce-admin/pull/4948)
* Change is-button to is-primary to address style issues

* Make sure the text is vertically aligned
2020-08-06 17:06:05 -07:00
Fernando Espinosa 95ce793bc0 Remove new WP 5.5 meta box arrows in the shipping banner (https://github.com/woocommerce/woocommerce-admin/pull/4914) 2020-08-03 15:56:31 -07:00
Paul Sealock 80f4a86515 Declare packages dependencies independently of main package.json (https://github.com/woocommerce/woocommerce-admin/pull/4874)
* create file declaration to packages

* bump wordpress/components in packages

* get format right
2020-07-30 13:51:15 +12:00
Darren Ethier dc5304823b Add @woocommerce/eslint-plugin (https://github.com/woocommerce/woocommerce-admin/pull/4714)
* add new woocommerce/eslint-plugin

* implement eslint-plugin (switch scripts to use wp-scripts etc)

* various linting fixes

* more lint fixes

* improve fix script

* more eslint fixes

* more eslint fixes

* temporary convert rules to warnings until they are all handled

* linting fixes

* update package-lock.json

* remove duplicates

* remove unnecessary `@wordpress/dependency-group` rule config

* add docs and adjust rules

* prettier fix

* fix merge artifact

* convert more rules to warnings

* change order to reflect importance

* install babel-preset-default

* remove unnecessary configuration for babel

* fix dependency group rule and test

* fix test

* handle collapsible whitespace

* add react testing library eslint plugin

* linter errors

* Add back in prettierrc

* package-lock update

* js lint fix with --fix

* disable whitespace in translation

* package-lock update

* make eslint actual dependency, not peer dependency

* pin eslint to v7

* I don't know why, but its working

* fix lint js

Co-authored-by: Paul Sealock <psealock@gmail.com>
2020-07-28 14:32:58 +12:00
Jason Conroy 4cf586c4f1 Add Coupon feature (https://github.com/woocommerce/woocommerce-admin/pull/4526)
* Handle new object for posts and recommendations

* Set breadcrumb parent for woocommerce-coupons to be woocommerce-marketing

* Add main coupon wrapping component

* Render coupon wrapper element below coupon table using wp-admin-scripts

* Finish off implementing category param for data store resolvers

* Create a helper trait for legacy coupons

* Add coupon related titles and descriptions

* Add note for the coupons being moved

* Allow for querying by note name in the notes Data Store

* Revamp coupon moved trait

* Add the new note only if we don't have an unactioned note and perform a redirect to ensure menu updates

* set_icon is deprecated

* Move coupon menu, adding a note for customers

* Translate title and descriptions

* Whitespace

* Account for coupon functionality being disabled

* Hide legacy menu before redirect

* Don’t keep adding the note if customer dismisses it from inbox

* Move behind feature flag

* Add note if feature enabled

* Add filter to override coupon feature

* Tweak option name to refer to wc_admin

To help with finding etc.

* use css variables

* Add the new note only if we don't have an unactioned note

* Switch the filter logic so `false` turns off the feature

This is a bit more intuitive when utilizing the filter

* Remove extraneous string and add trailing new lines

* Use correct posts object in tests

* Revert accidental removal of where_types

* Add coupons category to RecommendedExtensions

* Use 1.1 api to get categorized recommendations

* Add missing text domains

* Fix menu handling to point to woocommerce-marketing

* Only load coupon scripts on the coupon page

* Rework marketing menu logic to register pages more properly

* Use correct wc-admin path for marketing page

* Remove separate feature flag

WC Admin has existing feature flags to load enable/disable the feature

* Only set the coupon parent to marketing when the feature is enabled

* Only load coupon feature if marketing feature is enabled

Co-authored-by: Dan Bitzer <danielbitzer@gmail.com>
Co-authored-by: Jeremy Pry <jeremy.pry@gmail.com>
2020-06-16 12:00:41 +09:30
Paul Sealock 41481a7299 Button: Remove deprecated isDefault (https://github.com/woocommerce/woocommerce-admin/pull/4548) 2020-06-12 07:22:20 +12:00
Paul Sealock 41eeb4f9f9 Options: Add data store (https://github.com/woocommerce/woocommerce-admin/pull/4144) 2020-06-11 11:49:27 +12:00
Chris Shultz f401b852f1 Make button hover color match WCS modal button hover color. (https://github.com/woocommerce/woocommerce-admin/pull/4230) 2020-04-28 07:25:28 -07:00
Paul Sealock c500d3fa98 Plugins DataStore: decouple from onboarding (https://github.com/woocommerce/woocommerce-admin/pull/4048)
* Plugins DataStore: Add client side store
2020-04-17 11:58:36 +12:00
Harris Wong 75522436f4 Overwrite button overflow css from Wordpress 5.4 defaults (https://github.com/woocommerce/woocommerce-admin/pull/4108) 2020-04-10 09:54:06 -06:00