diff --git a/client/package-lock.json b/client/package-lock.json index 14e0ce87c..730af5400 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -20,7 +20,7 @@ "@splitsoftware/splitio-react": "^1.11.0", "@tanem/react-nprogress": "^5.0.51", "@vitejs/plugin-react": "^4.2.1", - "antd": "^5.14.2", + "antd": "^5.15.3", "apollo-link-logger": "^2.0.1", "apollo-link-sentry": "^3.3.0", "axios": "^1.6.7", @@ -71,6 +71,7 @@ "styled-components": "^6.1.8", "subscriptions-transport-ws": "^0.11.0", "terser-webpack-plugin": "^5.3.10", + "userpilot": "^1.3.1", "vite-plugin-ejs": "^1.7.0", "web-vitals": "^3.5.2", "workbox-core": "^7.0.0", @@ -186,8 +187,9 @@ } }, "node_modules/@ant-design/icons": { - "version": "5.3.0", - "license": "MIT", + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-5.3.4.tgz", + "integrity": "sha512-U5eTSeSFr2V9SeJzYOo5mybAZfsoNuiIA8bvFoZUe+h9LBLs8UwrVaVwcMQC4AhBuojXkLMlmtnIlvUczXXHaQ==", "dependencies": { "@ant-design/colors": "^7.0.0", "@ant-design/icons-svg": "^4.4.0", @@ -2104,8 +2106,9 @@ "license": "MIT" }, "node_modules/@babel/runtime": { - "version": "7.23.9", - "license": "MIT", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.1.tgz", + "integrity": "sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -4970,6 +4973,32 @@ "version": "2.0.4", "license": "MIT" }, + "node_modules/@ndhoule/each": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@ndhoule/each/-/each-2.0.1.tgz", + "integrity": "sha512-wHuJw6x+rF6Q9Skgra++KccjBozCr9ymtna0FhxmV/8xT/hZ2ExGYR8SV8prg8x4AH/7mzDYErNGIVHuzHeybw==", + "dependencies": { + "@ndhoule/keys": "^2.0.0" + } + }, + "node_modules/@ndhoule/includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@ndhoule/includes/-/includes-2.0.1.tgz", + "integrity": "sha512-Q8zN6f3yIhxgBwZ5ldLozHqJlc/fRQ5+hFFsPMFeC9SJvz0nq8vG9hoRXL1c1iaNFQd7yAZIy2igQpERoFqxqg==", + "dependencies": { + "@ndhoule/each": "^2.0.1" + } + }, + "node_modules/@ndhoule/keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ndhoule/keys/-/keys-2.0.0.tgz", + "integrity": "sha512-vtCqKBC1Av6dsBA8xpAO+cgk051nfaI+PnmTZep2Px0vYrDvpUmLxv7z40COlWH5yCpu3gzNhepk+02yiQiZNw==" + }, + "node_modules/@ndhoule/pick": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ndhoule/pick/-/pick-2.0.0.tgz", + "integrity": "sha512-xkYtpf1pRd8egwvl5tJcdGu+GBd6ZZH3S/zoIQ9txEI+pHF9oTIlxMC9G4CB3sRugAeLgu8qYJGl3tnxWq74Qw==" + }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "license": "MIT", @@ -5150,8 +5179,9 @@ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" }, "node_modules/@rc-component/color-picker": { - "version": "1.5.2", - "license": "MIT", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@rc-component/color-picker/-/color-picker-1.5.3.tgz", + "integrity": "sha512-+tGGH3nLmYXTalVe0L8hSZNs73VTP5ueSHwUlDC77KKRaN7G4DS4wcpG5DTDzdcV/Yas+rzA6UGgIyzd8fS4cw==", "dependencies": { "@babel/runtime": "^7.23.6", "@ctrl/tinycolor": "^3.6.1", @@ -5165,7 +5195,8 @@ }, "node_modules/@rc-component/context": { "version": "1.4.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@rc-component/context/-/context-1.4.0.tgz", + "integrity": "sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==", "dependencies": { "@babel/runtime": "^7.10.1", "rc-util": "^5.27.0" @@ -5203,7 +5234,8 @@ }, "node_modules/@rc-component/portal": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-1.1.2.tgz", + "integrity": "sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==", "dependencies": { "@babel/runtime": "^7.18.0", "classnames": "^2.3.2", @@ -5218,12 +5250,13 @@ } }, "node_modules/@rc-component/tour": { - "version": "1.12.3", - "license": "MIT", + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/@rc-component/tour/-/tour-1.14.2.tgz", + "integrity": "sha512-A75DZ8LVvahBIvxooj3Gvf2sxe+CGOkmzPNX7ek0i0AJHyKZ1HXe5ieIGo3m0FMdZfVOlbCJ952Duq8VKAHk6g==", "dependencies": { "@babel/runtime": "^7.18.0", "@rc-component/portal": "^1.0.0-9", - "@rc-component/trigger": "^1.3.6", + "@rc-component/trigger": "^2.0.0", "classnames": "^2.3.2", "rc-util": "^5.24.4" }, @@ -5236,8 +5269,9 @@ } }, "node_modules/@rc-component/trigger": { - "version": "1.18.3", - "license": "MIT", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-2.0.0.tgz", + "integrity": "sha512-niwKADPdY5dhdIblV6uwSayVivwo2uUISfJqri+/ovYQcH/omxDYBJKo755QKeoIIsWptxnRpgr7reEnNEZGFg==", "dependencies": { "@babel/runtime": "^7.23.2", "@rc-component/portal": "^1.1.0", @@ -7522,54 +7556,56 @@ } }, "node_modules/antd": { - "version": "5.14.2", - "license": "MIT", + "version": "5.15.3", + "resolved": "https://registry.npmjs.org/antd/-/antd-5.15.3.tgz", + "integrity": "sha512-53dpdGbfwipHVbqITmppp8N16i+BscMzz8NUNwaJgxwSvO9VQh/NfC/90lqGq3I2oBmxQ8TzRIxzFVKD/9OhlQ==", "dependencies": { "@ant-design/colors": "^7.0.2", "@ant-design/cssinjs": "^1.18.4", - "@ant-design/icons": "^5.3.0", + "@ant-design/icons": "^5.3.3", "@ant-design/react-slick": "~1.0.2", + "@babel/runtime": "^7.24.0", "@ctrl/tinycolor": "^3.6.1", - "@rc-component/color-picker": "~1.5.2", + "@rc-component/color-picker": "~1.5.3", "@rc-component/mutate-observer": "^1.1.0", - "@rc-component/tour": "~1.12.3", - "@rc-component/trigger": "^1.18.3", + "@rc-component/tour": "~1.14.2", + "@rc-component/trigger": "^2.0.0", "classnames": "^2.5.1", "copy-to-clipboard": "^3.3.3", "dayjs": "^1.11.10", "qrcode.react": "^3.1.0", - "rc-cascader": "~3.21.2", - "rc-checkbox": "~3.1.0", + "rc-cascader": "~3.24.0", + "rc-checkbox": "~3.2.0", "rc-collapse": "~3.7.2", - "rc-dialog": "~9.3.4", - "rc-drawer": "~7.0.0", - "rc-dropdown": "~4.1.0", - "rc-field-form": "~1.41.0", - "rc-image": "~7.5.1", - "rc-input": "~1.4.3", + "rc-dialog": "~9.4.0", + "rc-drawer": "~7.1.0", + "rc-dropdown": "~4.2.0", + "rc-field-form": "~1.42.1", + "rc-image": "~7.6.0", + "rc-input": "~1.4.5", "rc-input-number": "~9.0.0", - "rc-mentions": "~2.10.1", - "rc-menu": "~9.12.4", + "rc-mentions": "~2.11.1", + "rc-menu": "~9.13.0", "rc-motion": "^2.9.0", "rc-notification": "~5.3.0", "rc-pagination": "~4.0.4", - "rc-picker": "~4.1.4", + "rc-picker": "~4.3.0", "rc-progress": "~3.5.1", "rc-rate": "~2.12.0", "rc-resize-observer": "^1.4.0", "rc-segmented": "~2.3.0", - "rc-select": "~14.11.0", + "rc-select": "~14.13.0", "rc-slider": "~10.5.0", "rc-steps": "~6.0.1", "rc-switch": "~4.1.0", - "rc-table": "~7.39.0", - "rc-tabs": "~14.0.0", + "rc-table": "~7.42.0", + "rc-tabs": "~14.1.1", "rc-textarea": "~1.6.3", - "rc-tooltip": "~6.1.3", + "rc-tooltip": "~6.2.0", "rc-tree": "~5.8.5", - "rc-tree-select": "~5.17.0", + "rc-tree-select": "~5.19.0", "rc-upload": "~4.5.2", - "rc-util": "^5.38.2", + "rc-util": "^5.39.1", "scroll-into-view-if-needed": "^3.1.0", "throttle-debounce": "^5.0.0" }, @@ -7698,7 +7734,8 @@ }, "node_modules/array-tree-filter": { "version": "2.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==" }, "node_modules/array-union": { "version": "2.1.0", @@ -7887,7 +7924,8 @@ }, "node_modules/async-validator": { "version": "4.2.5", - "license": "MIT" + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" }, "node_modules/asynciterator.prototype": { "version": "1.0.0", @@ -9625,6 +9663,11 @@ "version": "1.0.1", "license": "MIT" }, + "node_modules/component-indexof": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-indexof/-/component-indexof-0.0.3.tgz", + "integrity": "sha512-puDQKvx/64HZXb4hBwIcvQLaLgux8o1CbWl39s41hrIIZDl1lJiD5jc22gj3RBeGK0ovxALDYpIbyjqDUUl0rw==" + }, "node_modules/compressible": { "version": "2.0.18", "license": "MIT", @@ -14347,6 +14390,14 @@ "node": ">= 10" } }, + "node_modules/is": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/is/-/is-3.3.0.tgz", + "integrity": "sha512-nW24QBoPcFGGHJGUwnfpI7Yc5CdqWNdsyHQszVE/z2pKHXzh7FZ5GWhJqSyaQ9wMkQnsTx+kAI8bHlCX4tKdbg==", + "engines": { + "node": "*" + } + }, "node_modules/is-alphabetical": { "version": "2.0.1", "license": "MIT", @@ -18809,6 +18860,11 @@ "version": "2.2.7", "license": "MIT" }, + "node_modules/obj-case": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/obj-case/-/obj-case-0.2.1.tgz", + "integrity": "sha512-PquYBBTy+Y6Ob/O2574XHhDtHJlV1cJHMCgW+rDRc9J5hhmRelJB3k5dTK/3cVmFVtzvAKuENeuLpoyTzMzkOg==" + }, "node_modules/object-assign": { "version": "4.1.1", "license": "MIT", @@ -21136,13 +21192,14 @@ } }, "node_modules/rc-cascader": { - "version": "3.21.2", - "license": "MIT", + "version": "3.24.0", + "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.24.0.tgz", + "integrity": "sha512-NwkYsVULA61S085jbOYbq8Z7leyIxVmLwf+71mWLjA3kCfUf/rAKC0WfjQbqBDaLGlU9d4z1EzyPaHBKLYWv6A==", "dependencies": { "@babel/runtime": "^7.12.5", "array-tree-filter": "^2.1.0", "classnames": "^2.3.1", - "rc-select": "~14.11.0", + "rc-select": "~14.13.0", "rc-tree": "~5.8.1", "rc-util": "^5.37.0" }, @@ -21152,8 +21209,9 @@ } }, "node_modules/rc-checkbox": { - "version": "3.1.0", - "license": "MIT", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.2.0.tgz", + "integrity": "sha512-8inzw4y9dAhZmv/Ydl59Qdy5tdp9CKg4oPVcRigi+ga/yKPZS5m5SyyQPtYSgbcqHRYOdUhiPSeKfktc76du1A==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.3.2", @@ -21179,8 +21237,9 @@ } }, "node_modules/rc-dialog": { - "version": "9.3.4", - "license": "MIT", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.4.0.tgz", + "integrity": "sha512-AScCexaLACvf8KZRqCPz12BJ8olszXOS4lKlkMyzDQHS1m0zj1KZMYgmMCh39ee0Dcv8kyrj8mTqxuLyhH+QuQ==", "dependencies": { "@babel/runtime": "^7.10.1", "@rc-component/portal": "^1.0.0-8", @@ -21194,14 +21253,15 @@ } }, "node_modules/rc-drawer": { - "version": "7.0.0", - "license": "MIT", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-7.1.0.tgz", + "integrity": "sha512-nBE1rF5iZvpavoyqhSSz2mk/yANltA7g3aF0U45xkx381n3we/RKs9cJfNKp9mSWCedOKWt9FLEwZDaAaOGn2w==", "dependencies": { - "@babel/runtime": "^7.10.1", + "@babel/runtime": "^7.23.9", "@rc-component/portal": "^1.1.1", "classnames": "^2.2.6", "rc-motion": "^2.6.1", - "rc-util": "^5.36.0" + "rc-util": "^5.38.1" }, "peerDependencies": { "react": ">=16.9.0", @@ -21209,11 +21269,12 @@ } }, "node_modules/rc-dropdown": { - "version": "4.1.0", - "license": "MIT", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.2.0.tgz", + "integrity": "sha512-odM8Ove+gSh0zU27DUj5cG1gNKg7mLWBYzB5E4nNLrLwBmYEgYP43vHKDGOVZcJSVElQBI0+jTQgjnq0NfLjng==", "dependencies": { "@babel/runtime": "^7.18.3", - "@rc-component/trigger": "^1.7.0", + "@rc-component/trigger": "^2.0.0", "classnames": "^2.2.6", "rc-util": "^5.17.0" }, @@ -21223,8 +21284,9 @@ } }, "node_modules/rc-field-form": { - "version": "1.41.0", - "license": "MIT", + "version": "1.42.1", + "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.42.1.tgz", + "integrity": "sha512-SqiEmWNP+I61Lt80+ofPvT+3l8Ij6vb35IS+x14gheVnCJN0SRnOwEgsqCEB5FslT7xqjUqDnU845hRZ1jzlAA==", "dependencies": { "@babel/runtime": "^7.18.0", "async-validator": "^4.1.0", @@ -21271,13 +21333,14 @@ } }, "node_modules/rc-image": { - "version": "7.5.1", - "license": "MIT", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-7.6.0.tgz", + "integrity": "sha512-tL3Rvd1sS+frZQ01i+tkeUPaOeFz2iG9/scAt/Cfs0hyCRVA/w0Pu1J/JxIX8blalvmHE0bZQRYdOmRAzWu4Hg==", "dependencies": { "@babel/runtime": "^7.11.2", "@rc-component/portal": "^1.0.2", "classnames": "^2.2.6", - "rc-dialog": "~9.3.4", + "rc-dialog": "~9.4.0", "rc-motion": "^2.6.2", "rc-util": "^5.34.1" }, @@ -21287,8 +21350,9 @@ } }, "node_modules/rc-input": { - "version": "1.4.3", - "license": "MIT", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-1.4.5.tgz", + "integrity": "sha512-AjzykhwnwYTRSwwgCu70CGKBIAv6bP2nqnFptnNTprph/TF1BAs0Qxl91mie/BR6n827WIJB6ZjaRf9iiMwAfw==", "dependencies": { "@babel/runtime": "^7.11.1", "classnames": "^2.2.1", @@ -21315,14 +21379,15 @@ } }, "node_modules/rc-mentions": { - "version": "2.10.1", - "license": "MIT", + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-2.11.1.tgz", + "integrity": "sha512-upb4AK1SRFql7qGnbLEvJqLMugVVIyjmwBJW9L0eLoN9po4JmJZaBzmKA4089fNtsU8k6l/tdZiVafyooeKnLw==", "dependencies": { "@babel/runtime": "^7.22.5", - "@rc-component/trigger": "^1.5.0", + "@rc-component/trigger": "^2.0.0", "classnames": "^2.2.6", "rc-input": "~1.4.0", - "rc-menu": "~9.12.0", + "rc-menu": "~9.13.0", "rc-textarea": "~1.6.1", "rc-util": "^5.34.1" }, @@ -21332,11 +21397,12 @@ } }, "node_modules/rc-menu": { - "version": "9.12.4", - "license": "MIT", + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.13.0.tgz", + "integrity": "sha512-1l8ooCB3HcYJKCltC/s7OxRKRjgymdl9htrCeGZcXNaMct0RxZRK6OPV3lPhVksIvAGMgzPd54ClpZ5J4b8cZA==", "dependencies": { "@babel/runtime": "^7.10.1", - "@rc-component/trigger": "^1.17.0", + "@rc-component/trigger": "^2.0.0", "classnames": "2.x", "rc-motion": "^2.4.3", "rc-overflow": "^1.3.1", @@ -21379,7 +21445,8 @@ }, "node_modules/rc-overflow": { "version": "1.3.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.3.2.tgz", + "integrity": "sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==", "dependencies": { "@babel/runtime": "^7.11.1", "classnames": "^2.2.1", @@ -21405,11 +21472,12 @@ } }, "node_modules/rc-picker": { - "version": "4.1.4", - "license": "MIT", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-4.3.0.tgz", + "integrity": "sha512-bQNB/+NdW55jlQ5lPnNqF5J90Tq4SihLbAF7tzPBvGDJyoYmDgwLm4FN0ZB3Ot9i1v6vJY/1mgqZZTT9jbYc5w==", "dependencies": { "@babel/runtime": "^7.10.1", - "@rc-component/trigger": "^1.5.0", + "@rc-component/trigger": "^2.0.0", "classnames": "^2.2.1", "rc-overflow": "^1.3.2", "rc-resize-observer": "^1.4.0", @@ -21499,11 +21567,12 @@ } }, "node_modules/rc-select": { - "version": "14.11.0", - "license": "MIT", + "version": "14.13.0", + "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.13.0.tgz", + "integrity": "sha512-ew34FsaqHokK4dxVrcIxSYrgWJ2XJYlkk32eiOIiEo3GkHUExdCzmozMYaUc2P67c5QJRUvvY0uqCs3QG67h5A==", "dependencies": { "@babel/runtime": "^7.10.1", - "@rc-component/trigger": "^1.5.0", + "@rc-component/trigger": "^2.0.0", "classnames": "2.x", "rc-motion": "^2.0.1", "rc-overflow": "^1.3.1", @@ -21564,8 +21633,9 @@ } }, "node_modules/rc-table": { - "version": "7.39.0", - "license": "MIT", + "version": "7.42.0", + "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.42.0.tgz", + "integrity": "sha512-GwHV9Zs3HvWxBkoXatO/IeKoElzy3Ojf3dcyw1Rj3cyQVb+ZHtexslKdyzsrKRPJ0mUa62BoX+ZAg3zgTEql8w==", "dependencies": { "@babel/runtime": "^7.10.1", "@rc-component/context": "^1.4.0", @@ -21583,13 +21653,14 @@ } }, "node_modules/rc-tabs": { - "version": "14.0.0", - "license": "MIT", + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-14.1.1.tgz", + "integrity": "sha512-5nOr9PVpJy2SWHTLgv1+kESDOb0tFzl0cYU9r9d8LfL0Wg9i/n1B558rmkxdQHgBwMqxmwoyPSAbQROxMQe8nw==", "dependencies": { "@babel/runtime": "^7.11.2", "classnames": "2.x", - "rc-dropdown": "~4.1.0", - "rc-menu": "~9.12.0", + "rc-dropdown": "~4.2.0", + "rc-menu": "~9.13.0", "rc-motion": "^2.6.2", "rc-resize-observer": "^1.0.0", "rc-util": "^5.34.1" @@ -21604,7 +21675,8 @@ }, "node_modules/rc-textarea": { "version": "1.6.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-1.6.3.tgz", + "integrity": "sha512-8k7+8Y2GJ/cQLiClFMg8kUXOOdvcFQrnGeSchOvI2ZMIVvX5a3zQpLxoODL0HTrvU63fPkRmMuqaEcOF9dQemA==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.1", @@ -21618,11 +21690,12 @@ } }, "node_modules/rc-tooltip": { - "version": "6.1.3", - "license": "MIT", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.2.0.tgz", + "integrity": "sha512-iS/3iOAvtDh9GIx1ulY7EFUXUtktFccNLsARo3NPgLf0QW9oT0w3dA9cYWlhqAKmD+uriEwdWz1kH0Qs4zk2Aw==", "dependencies": { "@babel/runtime": "^7.11.2", - "@rc-component/trigger": "^1.18.0", + "@rc-component/trigger": "^2.0.0", "classnames": "^2.3.1" }, "peerDependencies": { @@ -21632,7 +21705,8 @@ }, "node_modules/rc-tree": { "version": "5.8.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.8.5.tgz", + "integrity": "sha512-PRfcZtVDNkR7oh26RuNe1hpw11c1wfgzwmPFL0lnxGnYefe9lDAO6cg5wJKIAwyXFVt5zHgpjYmaz0CPy1ZtKg==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "2.x", @@ -21649,12 +21723,13 @@ } }, "node_modules/rc-tree-select": { - "version": "5.17.0", - "license": "MIT", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.19.0.tgz", + "integrity": "sha512-f4l5EsmSGF3ggj76YTzKNPY9SnXfFaer7ZccTSGb3urUf54L+cCqyT+UsPr+S5TAr8mZSxJ7g3CgkCe+cVQ6sw==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "2.x", - "rc-select": "~14.11.0-0", + "rc-select": "~14.13.0", "rc-tree": "~5.8.1", "rc-util": "^5.16.1" }, @@ -21677,8 +21752,9 @@ } }, "node_modules/rc-util": { - "version": "5.38.2", - "license": "MIT", + "version": "5.39.1", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.39.1.tgz", + "integrity": "sha512-OW/ERynNDgNr4y0oiFmtes3rbEamXw7GHGbkbNd9iRr7kgT03T6fT0b9WpJ3mbxKhyOcAHnGcIoh5u/cjrC2OQ==", "dependencies": { "@babel/runtime": "^7.18.3", "react-is": "^18.2.0" @@ -21694,7 +21770,8 @@ }, "node_modules/rc-virtual-list": { "version": "3.11.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.11.4.tgz", + "integrity": "sha512-NbBi0fvyIu26gP69nQBiWgUMTPX3mr4FcuBQiVqagU0BnuX8WQkiivnMs105JROeuUIFczLrlgUhLQwTWV1XDA==", "dependencies": { "@babel/runtime": "^7.20.0", "classnames": "^2.2.6", @@ -25941,6 +26018,18 @@ "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/userpilot": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/userpilot/-/userpilot-1.3.1.tgz", + "integrity": "sha512-HwOqRhTY829m++tx76E/4wMHLpqG39JPAESXnC54zdYIBASoX1wOO8ItaqpBlf5sH1rdIxU8/dUFa8nMQ60KYQ==", + "dependencies": { + "@ndhoule/includes": "^2.0.1", + "@ndhoule/pick": "^2.0.0", + "component-indexof": "0.0.3", + "is": "^3.1.0", + "obj-case": "^0.2.0" + } + }, "node_modules/util": { "version": "0.12.5", "dev": true, diff --git a/client/package.json b/client/package.json index d4ff11605..2102876c1 100644 --- a/client/package.json +++ b/client/package.json @@ -20,7 +20,7 @@ "@splitsoftware/splitio-react": "^1.11.0", "@tanem/react-nprogress": "^5.0.51", "@vitejs/plugin-react": "^4.2.1", - "antd": "^5.14.2", + "antd": "^5.15.3", "apollo-link-logger": "^2.0.1", "apollo-link-sentry": "^3.3.0", "axios": "^1.6.7", @@ -71,6 +71,7 @@ "styled-components": "^6.1.8", "subscriptions-transport-ws": "^0.11.0", "terser-webpack-plugin": "^5.3.10", + "userpilot": "^1.3.1", "vite-plugin-ejs": "^1.7.0", "web-vitals": "^3.5.2", "workbox-core": "^7.0.0", diff --git a/client/src/App/App.container.jsx b/client/src/App/App.container.jsx index e908ba45f..13c751c58 100644 --- a/client/src/App/App.container.jsx +++ b/client/src/App/App.container.jsx @@ -12,6 +12,12 @@ import App from "./App"; import * as Sentry from "@sentry/react"; import themeProvider from "./themeProvider"; +import { Userpilot } from 'userpilot' + +// Initialize Userpilot +if(import.meta.env.DEV){ + Userpilot.initialize('NX-69145f08'); +} dayjs.locale("en"); diff --git a/client/src/components/vendor-search-select/vendor-search-select.component.jsx b/client/src/components/vendor-search-select/vendor-search-select.component.jsx index aaf0626ed..a190d08a5 100644 --- a/client/src/components/vendor-search-select/vendor-search-select.component.jsx +++ b/client/src/components/vendor-search-select/vendor-search-select.component.jsx @@ -1,92 +1,92 @@ -import {HeartOutlined} from "@ant-design/icons"; -import {Select, Space, Tag} from "antd"; -import React, {forwardRef, useEffect, useState} from "react"; -import PhoneNumberFormatter from "../../utils/PhoneFormatter"; +import { HeartOutlined } from '@ant-design/icons'; +import { Select, Space, Tag } from 'antd'; +import React, { forwardRef, useEffect, useState } from 'react'; +import PhoneNumberFormatter from '../../utils/PhoneFormatter'; -const {Option} = Select; +const { Option } = Select; //To be used as a form element only. const VendorSearchSelect = ( - {value, onChange, options, onSelect, disabled, preferredMake, showPhone}, - ref + { value, onChange, options, onSelect, disabled, preferredMake, showPhone }, + ref ) => { - const [option, setOption] = useState(value); + const [option, setOption] = useState(value); - useEffect(() => { - if (value !== option && onChange) { - onChange(option); - } - }, [value, option, onChange]); + useEffect(() => { + if (value !== option && onChange) { + onChange(option); + } + }, [value, option, onChange]); - const favorites = - preferredMake && options - ? options.filter( - (o) => - o.favorite.filter( - (f) => f.toLowerCase() === preferredMake.toLowerCase() - ).length > 0 - ) - : []; + const favorites = + preferredMake && options + ? options.filter( + (o) => + o.favorite.filter((f) => f.toLowerCase() === preferredMake.toLowerCase()).length > 0 + ) + : []; - return ( - { + console.log(value, label, rest); + if (!value) return label; + const discount = options.find((o) => o.id === value)?.discount; + return ( +
+
{label}
- - {o.phone && showPhone && ( - {o.phone} - )} - {o.discount && o.discount !== 0 ? ( - {`${o.discount * 100}%`} - ) : null} - -
- + {discount && discount !== 0 ? {`${discount * 100}%`} : null} + + ); + }} + popupMatchSelectWidth={false} + onChange={setOption} + optionFilterProp="name" + onSelect={onSelect} + disabled={disabled || false} + optionLabelProp={'name'} + > + {favorites + ? favorites.map((o) => ( + + )) + : null} + {options + ? options.map((o) => ( + + )) + : null} + + ); }; export default forwardRef(VendorSearchSelect); diff --git a/client/src/redux/user/user.sagas.js b/client/src/redux/user/user.sagas.js index 6f00c390d..6d6921d0d 100644 --- a/client/src/redux/user/user.sagas.js +++ b/client/src/redux/user/user.sagas.js @@ -47,6 +47,7 @@ import client from "../../utils/GraphQLClient"; import {QUERY_EULA} from "../../graphql/bodyshop.queries"; import day from "../../utils/day"; import InstanceRenderManager from "../../utils/instanceRenderMgr"; +import { Userpilot } from "userpilot"; const fpPromise = FingerprintJS.load(); @@ -227,6 +228,15 @@ export function* signInSuccessSaga({payload}) { window.$crisp.push(['set', 'user:nickname', [payload.displayName || payload.email]]); window.$crisp.push(['set', 'session:segments', [['user']]]); }, + promanager: () =>{ + Userpilot.identify( + payload.email, + { + email: payload.email, + } + ); + console.log("*** Userpilot identified.") + } }); } catch (error) {