diff --git a/client/package-lock.json b/client/package-lock.json index 9efcaaace..6bda95908 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -9,9 +9,9 @@ "version": "0.2.1", "hasInstallScript": true, "dependencies": { - "@amplitude/analytics-browser": "^2.33.4", + "@amplitude/analytics-browser": "^2.33.5", "@ant-design/pro-layout": "^7.22.6", - "@apollo/client": "^4.1.1", + "@apollo/client": "^4.1.2", "@emotion/is-prop-valid": "^1.4.0", "@fingerprintjs/fingerprintjs": "^5.0.1", "@firebase/analytics": "^0.10.19", @@ -22,14 +22,14 @@ "@jsreport/browser-client": "^3.1.0", "@reduxjs/toolkit": "^2.11.2", "@sentry/cli": "^3.1.0", - "@sentry/react": "^10.35.0", - "@sentry/vite-plugin": "^4.7.0", + "@sentry/react": "^10.36.0", + "@sentry/vite-plugin": "^4.8.0", "@splitsoftware/splitio-react": "^2.6.1", - "@tanem/react-nprogress": "^5.0.56", - "antd": "^6.2.1", + "@tanem/react-nprogress": "^5.0.58", + "antd": "^6.2.2", "apollo-link-logger": "^3.0.0", "autosize": "^6.0.1", - "axios": "^1.13.2", + "axios": "^1.13.3", "classnames": "^2.5.1", "css-box-model": "^1.2.1", "dayjs": "^1.11.19", @@ -43,15 +43,15 @@ "i18next": "^25.8.0", "i18next-browser-languagedetector": "^8.2.0", "immutability-helper": "^3.1.1", - "libphonenumber-js": "^1.12.34", - "lightningcss": "^1.31.0", + "libphonenumber-js": "^1.12.35", + "lightningcss": "^1.31.1", "logrocket": "^11.0.0", "markerjs2": "^2.32.7", "memoize-one": "^6.0.0", "normalize-url": "^8.1.1", "object-hash": "^3.0.0", - "phone": "^3.1.69", - "posthog-js": "^1.335.0", + "phone": "^3.1.70", + "posthog-js": "^1.335.2", "prop-types": "^15.8.1", "query-string": "^9.3.1", "raf-schd": "^4.0.3", @@ -72,10 +72,10 @@ "react-product-fruits": "^2.2.62", "react-redux": "^9.2.0", "react-resizable": "^3.1.3", - "react-router-dom": "^7.12.0", + "react-router-dom": "^7.13.0", "react-sticky": "^6.0.3", "react-virtuoso": "^4.18.1", - "recharts": "^3.6.0", + "recharts": "^3.7.0", "redux": "^5.0.1", "redux-actions": "^3.0.3", "redux-persist": "^6.0.0", @@ -83,7 +83,7 @@ "redux-state-sync": "^3.1.4", "reselect": "^5.1.1", "rxjs": "^7.8.2", - "sass": "^1.97.2", + "sass": "^1.97.3", "socket.io-client": "^4.8.3", "styled-components": "^6.3.8", "vite-plugin-ejs": "^1.7.0", @@ -148,17 +148,17 @@ "license": "MIT" }, "node_modules/@amplitude/analytics-browser": { - "version": "2.33.4", - "resolved": "https://registry.npmjs.org/@amplitude/analytics-browser/-/analytics-browser-2.33.4.tgz", - "integrity": "sha512-5oeZ3fsxbXiE6S7Jq/bsYn10DJ+IPSY1dC08PO2kD9cfaviWtXVrehSwThitEZGKHGs4NeJXCGS1xAhOLR2g0g==", + "version": "2.33.5", + "resolved": "https://registry.npmjs.org/@amplitude/analytics-browser/-/analytics-browser-2.33.5.tgz", + "integrity": "sha512-iOP+QeFFCO99BDbHZvB1PfHYKYbWSXyBQNQYBUQ4mtyvQ5qpQ7pbYIsDs9LOIAwlfcZvBqJ3tidgnnh2QOpmfw==", "license": "MIT", "dependencies": { - "@amplitude/analytics-core": "2.36.0", - "@amplitude/plugin-autocapture-browser": "1.18.6", - "@amplitude/plugin-network-capture-browser": "1.7.6", - "@amplitude/plugin-page-url-enrichment-browser": "0.5.12", - "@amplitude/plugin-page-view-tracking-browser": "2.6.9", - "@amplitude/plugin-web-vitals-browser": "1.1.7", + "@amplitude/analytics-core": "2.36.1", + "@amplitude/plugin-autocapture-browser": "1.18.7", + "@amplitude/plugin-network-capture-browser": "1.7.7", + "@amplitude/plugin-page-url-enrichment-browser": "0.5.13", + "@amplitude/plugin-page-view-tracking-browser": "2.6.10", + "@amplitude/plugin-web-vitals-browser": "1.1.8", "tslib": "^2.4.1" } }, @@ -169,9 +169,9 @@ "license": "MIT" }, "node_modules/@amplitude/analytics-core": { - "version": "2.36.0", - "resolved": "https://registry.npmjs.org/@amplitude/analytics-core/-/analytics-core-2.36.0.tgz", - "integrity": "sha512-VPkqVK7PZBwkatD22Xu0kshtLeM8bd6KjCsFcnje0FA/LHgixYw1O4ihWpPlUzDNMIXSb2+opN3SkINImmBOnQ==", + "version": "2.36.1", + "resolved": "https://registry.npmjs.org/@amplitude/analytics-core/-/analytics-core-2.36.1.tgz", + "integrity": "sha512-1Z/azFaF0rDAI+Z5RK7KC2jyIQ/S24xGdY1sd0TQrkPp1IbqE6on/UjRWk2ai4El3OfOlQitX1AGfUNQuX8Xyw==", "license": "MIT", "dependencies": { "@amplitude/analytics-connector": "^1.6.4", @@ -180,52 +180,52 @@ } }, "node_modules/@amplitude/plugin-autocapture-browser": { - "version": "1.18.6", - "resolved": "https://registry.npmjs.org/@amplitude/plugin-autocapture-browser/-/plugin-autocapture-browser-1.18.6.tgz", - "integrity": "sha512-8oZ0jGHjs9Sm98L7l2X5nVjT/qAv+ezk/eibYdHiwA10haHRjXc+v4cFuGeboQkSd87gWvD4LyA7iamVUUak/Q==", + "version": "1.18.7", + "resolved": "https://registry.npmjs.org/@amplitude/plugin-autocapture-browser/-/plugin-autocapture-browser-1.18.7.tgz", + "integrity": "sha512-K037jbUU7qfuEGCHiCHkwZYU2wtWGEwnK++JSVEobmcApsesKwfLqgHcUaxFDzJqCM09ytRQzDl73dCvSpZH+g==", "license": "MIT", "dependencies": { - "@amplitude/analytics-core": "2.36.0", + "@amplitude/analytics-core": "2.36.1", "tslib": "^2.4.1" } }, "node_modules/@amplitude/plugin-network-capture-browser": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@amplitude/plugin-network-capture-browser/-/plugin-network-capture-browser-1.7.6.tgz", - "integrity": "sha512-FJMdpeOV9e4+TYUfUTSIuBuBU4dLRwB7Qq/tFbFHEogAH8NFcsYKxe0rAWmTqMTmKxb2SHTIEC35D+aWVJzWCQ==", + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/@amplitude/plugin-network-capture-browser/-/plugin-network-capture-browser-1.7.7.tgz", + "integrity": "sha512-BcE/noeR9gj9FNMeiNiynC70DE+KL1meBNM9Iz67hAA/PPNiKQ4zfKJyYQzo4E6fRTm1nWa0Jld4a7KORGG86w==", "license": "MIT", "dependencies": { - "@amplitude/analytics-core": "2.36.0", + "@amplitude/analytics-core": "2.36.1", "tslib": "^2.4.1" } }, "node_modules/@amplitude/plugin-page-url-enrichment-browser": { - "version": "0.5.12", - "resolved": "https://registry.npmjs.org/@amplitude/plugin-page-url-enrichment-browser/-/plugin-page-url-enrichment-browser-0.5.12.tgz", - "integrity": "sha512-FMPaY+apoyULJSzTMdz2UQ0c8Ry3J/m1yD9sjsRy2VGhbXyLFV5zrfcHkiIZAtDHy2sVpsv130j1eGZIK2aqZw==", + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/@amplitude/plugin-page-url-enrichment-browser/-/plugin-page-url-enrichment-browser-0.5.13.tgz", + "integrity": "sha512-nsVkszZKoOgkNhkyJcNKaIEINFOQ/KS3TWZX+snGp+tQJi946nMp66046MxgTuLeRyD3VeM98WzwQIV3Q8NWBQ==", "license": "MIT", "dependencies": { - "@amplitude/analytics-core": "2.36.0", + "@amplitude/analytics-core": "2.36.1", "tslib": "^2.4.1" } }, "node_modules/@amplitude/plugin-page-view-tracking-browser": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/@amplitude/plugin-page-view-tracking-browser/-/plugin-page-view-tracking-browser-2.6.9.tgz", - "integrity": "sha512-LfV+4t8V7Kq6TKecaggC2rOszE9sVTs73xPok1UXGvlvVkY+KaEc9ngkansBOKCfCU7inNaIMlGRj1YZDrEjjA==", + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/@amplitude/plugin-page-view-tracking-browser/-/plugin-page-view-tracking-browser-2.6.10.tgz", + "integrity": "sha512-LsJuKGUcbMnQtb9gpxHo4LDaq84yyYuCt+ekWTZ+lXqYWdAA2ZJ9lQX7gg4JfmvbpBpeTZ2Hm8AUMLsw4o17sw==", "license": "MIT", "dependencies": { - "@amplitude/analytics-core": "2.36.0", + "@amplitude/analytics-core": "2.36.1", "tslib": "^2.4.1" } }, "node_modules/@amplitude/plugin-web-vitals-browser": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@amplitude/plugin-web-vitals-browser/-/plugin-web-vitals-browser-1.1.7.tgz", - "integrity": "sha512-n1zOsE1RFE3y2IN1OUKTZYQnR7NZMATarHjBsf/tJ+6fQ2g5QDwyTRLzBHmdUcsLe559+ek9QTtIhXmbBOXR3Q==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@amplitude/plugin-web-vitals-browser/-/plugin-web-vitals-browser-1.1.8.tgz", + "integrity": "sha512-/MPXNRDh3C2WfQI47222VRj8fSouca/Uh+mbll0NJqorvc0sJ7b/12yEH3qKD9w7zSHBeKxBxrO/I2FxwfBZKQ==", "license": "MIT", "dependencies": { - "@amplitude/analytics-core": "2.36.0", + "@amplitude/analytics-core": "2.36.1", "tslib": "^2.4.1", "web-vitals": "5.1.0" } @@ -302,9 +302,9 @@ } }, "node_modules/@ant-design/fast-color": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@ant-design/fast-color/-/fast-color-3.0.0.tgz", - "integrity": "sha512-eqvpP7xEDm2S7dUzl5srEQCBTXZMmY3ekf97zI+M2DHOYyKdJGH0qua0JACHTqbkRnD/KHFQP9J1uMJ/XWVzzA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@ant-design/fast-color/-/fast-color-3.0.1.tgz", + "integrity": "sha512-esKJegpW4nckh0o6kV3Tkb7NPIZYbPnnFxmQDUmL08ukXZAvV85TZBr70eGuke/CIArLaP6aw8lt9KILjnWuOw==", "license": "MIT", "engines": { "node": ">=8.x" @@ -540,9 +540,9 @@ } }, "node_modules/@apollo/client": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@apollo/client/-/client-4.1.1.tgz", - "integrity": "sha512-EizMzR+qfn3kRZ7dy9LxEI2omkyaylWNbBy3Sce8QBmeQP+sOlmYqx2uu5aDFk+uGdrf/QtzHLOI6hUPGfm34A==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@apollo/client/-/client-4.1.2.tgz", + "integrity": "sha512-MxlWuO94Y6TRf6+d4KfG5bCUXg5NP4s7zPKRA0PDNNa18K86zcbpHUgWKdx6wMT/5KVMeC5rsZkDqZLr/R0mFw==", "license": "MIT", "workspaces": [ "dist", @@ -2288,9 +2288,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", - "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", + "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -4848,18 +4848,18 @@ } }, "node_modules/@posthog/core": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@posthog/core/-/core-1.13.0.tgz", - "integrity": "sha512-knjncrk7qRmssFRbGzBl1Tunt21GRpe0Wv+uVelyL0Rh7PdQUsgguulzXFTps8hA6wPwTU4kq85qnbAJ3eH6Wg==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@posthog/core/-/core-1.14.0.tgz", + "integrity": "sha512-havjGYHwL8Gy6LXIR911h+M/sYlJLQbepxP/cc1M7Cp3v8F92bzpqkbuvUIUyb7/izkxfGwc9wMqKAo0QxMTrg==", "license": "MIT", "dependencies": { "cross-spawn": "^7.0.6" } }, "node_modules/@posthog/types": { - "version": "1.335.0", - "resolved": "https://registry.npmjs.org/@posthog/types/-/types-1.335.0.tgz", - "integrity": "sha512-KvxF9Dd9bM/LJyFTm7j8NM8EV6Mect4N8A0Q/gSQknu5pAgOfplToN9hLg+v8aWvtIEDlPHV7mBMKLUE19kVBA==", + "version": "1.335.2", + "resolved": "https://registry.npmjs.org/@posthog/types/-/types-1.335.2.tgz", + "integrity": "sha512-cyl6eFrt0nR7lxb8+oGXyS16wDxQJz6awMWPyDB423lI+MiM64vz0VV5LNABahEc4BuytJzfEOyvyA3LPJ4hOQ==", "license": "MIT" }, "node_modules/@protobufjs/aspromise": { @@ -5577,9 +5577,9 @@ } }, "node_modules/@rc-component/select": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@rc-component/select/-/select-1.5.0.tgz", - "integrity": "sha512-Zz0hpToAfOdWo/1jj3dW5iooBNU8F6fVgVaYN4Jy1SL3Xcx2OO+IqiQnxqk/PjY6hg1HVt7LjkkrYvpJQyZxoQ==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@rc-component/select/-/select-1.5.1.tgz", + "integrity": "sha512-ARXtwfCVnpDJj1bQjh1cimUlNQkZiN72hvtL2G4mKXIYfkokYdA2Vyu2deAfY7kuHSWpmZygVuohQt6TxOYjnA==", "license": "MIT", "dependencies": { "@rc-component/overflow": "^1.0.0", @@ -6626,88 +6626,88 @@ ] }, "node_modules/@sentry-internal/browser-utils": { - "version": "10.35.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-10.35.0.tgz", - "integrity": "sha512-YjVbyqpJu6E6U/BCdOgIUuUQPUDZ7XdFiBYXtGy59xqQB1qSqNfei163hkfnXxIN90csDubxWNrnit+W5Wo/uQ==", + "version": "10.36.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-10.36.0.tgz", + "integrity": "sha512-WILVR8HQBWOxbqLRuTxjzRCMIACGsDTo6jXvzA8rz6ezElElLmIrn3CFAswrESLqEEUa4CQHl5bLgSVJCRNweA==", "license": "MIT", "dependencies": { - "@sentry/core": "10.35.0" + "@sentry/core": "10.36.0" }, "engines": { "node": ">=18" } }, "node_modules/@sentry-internal/feedback": { - "version": "10.35.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-10.35.0.tgz", - "integrity": "sha512-h/rtGcgvGtZIY9njxnzHHMzMwFYAYG/UwDaNtpf8jN63JD6cTQDQ8wNWp0arD9gmUr96YjER55BNRRF8oSg6Fw==", + "version": "10.36.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-10.36.0.tgz", + "integrity": "sha512-zPjz7AbcxEyx8AHj8xvp28fYtPTPWU1XcNtymhAHJLS9CXOblqSC7W02Jxz6eo3eR1/pLyOo6kJBUjvLe9EoFA==", "license": "MIT", "dependencies": { - "@sentry/core": "10.35.0" + "@sentry/core": "10.36.0" }, "engines": { "node": ">=18" } }, "node_modules/@sentry-internal/replay": { - "version": "10.35.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-10.35.0.tgz", - "integrity": "sha512-9hGP3lD+7o/4ovGTdwv3T9K2t9LxSlR/CAcRQeFApW2c0AGsjTdcglOxsgxYei4YmaISx0CBJ/YqJfQVYxaxWw==", + "version": "10.36.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-10.36.0.tgz", + "integrity": "sha512-nLMkJgvHq+uCCrQKV2KgSdVHxTsmDk0r2hsAoTcKCbzUpXyW5UhCziMRS6ULjBlzt5sbxoIIplE25ZpmIEeNgg==", "license": "MIT", "dependencies": { - "@sentry-internal/browser-utils": "10.35.0", - "@sentry/core": "10.35.0" + "@sentry-internal/browser-utils": "10.36.0", + "@sentry/core": "10.36.0" }, "engines": { "node": ">=18" } }, "node_modules/@sentry-internal/replay-canvas": { - "version": "10.35.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-10.35.0.tgz", - "integrity": "sha512-efaz8ETDLd0rSpoqX4m8fMnq7abzUJAdqeChz9Jdq6OgvHeBgM6tTfqWSes6sFnSCvFUVkdFngZQfgmBxWGuEA==", + "version": "10.36.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-10.36.0.tgz", + "integrity": "sha512-DLGIwmT2LX+O6TyYPtOQL5GiTm2rN0taJPDJ/Lzg2KEJZrdd5sKkzTckhh2x+vr4JQyeaLmnb8M40Ch1hvG/vQ==", "license": "MIT", "dependencies": { - "@sentry-internal/replay": "10.35.0", - "@sentry/core": "10.35.0" + "@sentry-internal/replay": "10.36.0", + "@sentry/core": "10.36.0" }, "engines": { "node": ">=18" } }, "node_modules/@sentry/babel-plugin-component-annotate": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-4.7.0.tgz", - "integrity": "sha512-MkyajDiO17/GaHHFgOmh05ZtOwF5hmm9KRjVgn9PXHIdpz+TFM5mkp1dABmR6Y75TyNU98Z1aOwPOgyaR5etJw==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-4.8.0.tgz", + "integrity": "sha512-cy/9Eipkv23MsEJ4IuB4dNlVwS9UqOzI3Eu+QPake5BVFgPYCX0uP0Tr3Z43Ime6Rb+BiDnWC51AJK9i9afHYw==", "license": "MIT", "engines": { "node": ">= 14" } }, "node_modules/@sentry/browser": { - "version": "10.35.0", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-10.35.0.tgz", - "integrity": "sha512-3wCdmKOTqg6Fvmb9HLHzCVIpSSYCPhXFQ95VaYsb1rESIgL7BMS9nyqhecPcPR3oJppU2a/TqZk4YH3nFrPXmA==", + "version": "10.36.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-10.36.0.tgz", + "integrity": "sha512-yHhXbgdGY1s+m8CdILC9U/II7gb6+s99S2Eh8VneEn/JG9wHc+UOzrQCeFN0phFP51QbLkjkiQbbanjT1HP8UQ==", "license": "MIT", "dependencies": { - "@sentry-internal/browser-utils": "10.35.0", - "@sentry-internal/feedback": "10.35.0", - "@sentry-internal/replay": "10.35.0", - "@sentry-internal/replay-canvas": "10.35.0", - "@sentry/core": "10.35.0" + "@sentry-internal/browser-utils": "10.36.0", + "@sentry-internal/feedback": "10.36.0", + "@sentry-internal/replay": "10.36.0", + "@sentry-internal/replay-canvas": "10.36.0", + "@sentry/core": "10.36.0" }, "engines": { "node": ">=18" } }, "node_modules/@sentry/bundler-plugin-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@sentry/bundler-plugin-core/-/bundler-plugin-core-4.7.0.tgz", - "integrity": "sha512-gFdEtiup/7qYhN3vp1v2f0WL9AG9OorWLtIpfSBYbWjtzklVNg1sizvNyZ8nEiwtnb25LzvvCUbOP1SyP6IodQ==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@sentry/bundler-plugin-core/-/bundler-plugin-core-4.8.0.tgz", + "integrity": "sha512-QaXd/NzaZ2vmiA2FNu2nBkgQU+17N3fE+zVOTzG0YK54QDSJMd4n3AeJIEyPhSzkOob+GqtO22nbYf6AATFMAw==", "license": "MIT", "dependencies": { "@babel/core": "^7.18.5", - "@sentry/babel-plugin-component-annotate": "4.7.0", + "@sentry/babel-plugin-component-annotate": "4.8.0", "@sentry/cli": "^2.57.0", "dotenv": "^16.3.1", "find-up": "^5.0.0", @@ -7103,22 +7103,22 @@ } }, "node_modules/@sentry/core": { - "version": "10.35.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-10.35.0.tgz", - "integrity": "sha512-lEK1WFqt6oHtMq5dDLVE/FDzHDGs1PlYT5cZH4aBirYtJVyUiTf0NknKFob4a2zTywczlq7SbLv6Ba8UMU9dYg==", + "version": "10.36.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-10.36.0.tgz", + "integrity": "sha512-EYJjZvofI+D93eUsPLDIUV0zQocYqiBRyXS6CCV6dHz64P/Hob5NJQOwPa8/v6nD+UvJXvwsFfvXOHhYZhZJOQ==", "license": "MIT", "engines": { "node": ">=18" } }, "node_modules/@sentry/react": { - "version": "10.35.0", - "resolved": "https://registry.npmjs.org/@sentry/react/-/react-10.35.0.tgz", - "integrity": "sha512-RJsJVZRVe646euf1HLlhbjeAHn2ABd54Y7Zpy4XUJaL4FdKqaaFmqeHKi6IxXFf6IE35onk/kn8CfR7xWBhe2g==", + "version": "10.36.0", + "resolved": "https://registry.npmjs.org/@sentry/react/-/react-10.36.0.tgz", + "integrity": "sha512-k2GwMKgepJLXvEQffQymQyxsTVjsLiY6YXG0bcceM3vulii9Sy29uqGhpqwaPOfM4bPQzUXJzAxS/c9S7n5hTw==", "license": "MIT", "dependencies": { - "@sentry/browser": "10.35.0", - "@sentry/core": "10.35.0" + "@sentry/browser": "10.36.0", + "@sentry/core": "10.36.0" }, "engines": { "node": ">=18" @@ -7128,12 +7128,12 @@ } }, "node_modules/@sentry/vite-plugin": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@sentry/vite-plugin/-/vite-plugin-4.7.0.tgz", - "integrity": "sha512-eQXDghOQLsYwnHutJo8TCzhG4gp0KLNq3h96iqFMhsbjnNnfYeCX1lIw1pJEh/az3cDwSyPI/KGkvf8hr0dZmQ==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@sentry/vite-plugin/-/vite-plugin-4.8.0.tgz", + "integrity": "sha512-/YZJitGsx/o72FFQYy3tucUfs4w3COvSI1d2NYyAhIzay4tjLLRjpM5PdwFnoBT7Uj/7jSbuHkg87PAliLiu2g==", "license": "MIT", "dependencies": { - "@sentry/bundler-plugin-core": "4.7.0", + "@sentry/bundler-plugin-core": "4.8.0", "unplugin": "1.0.1" }, "engines": { @@ -7239,12 +7239,12 @@ } }, "node_modules/@tanem/react-nprogress": { - "version": "5.0.56", - "resolved": "https://registry.npmjs.org/@tanem/react-nprogress/-/react-nprogress-5.0.56.tgz", - "integrity": "sha512-OI5rXB6jxC/RLJqnIuaKNXu3qQ6Lf3+g1HqkqGz01E25iV3pZFYBihMdGsEeg/4pAm0O7xo/umcAA3jsdeibHA==", + "version": "5.0.58", + "resolved": "https://registry.npmjs.org/@tanem/react-nprogress/-/react-nprogress-5.0.58.tgz", + "integrity": "sha512-VbO2PF/lYwyV5axQTLQWrC2l7amVadCikg/WnpncdgkGHzcWgkdV/h+SoYgkB2cfc8yQm0Qpv9DCGK8q4wWvsw==", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.28.4", + "@babel/runtime": "^7.28.6", "hoist-non-react-statics": "^3.3.2" }, "peerDependencies": { @@ -7941,15 +7941,15 @@ } }, "node_modules/antd": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/antd/-/antd-6.2.1.tgz", - "integrity": "sha512-ycw/XX7So4MdrwYKGfvZJdkGiCYUOSTebAIi+ejE95WJ138b11oy/iJg7iH0qydaD/B5sFd7Tz8XfPBuW7CRmw==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/antd/-/antd-6.2.2.tgz", + "integrity": "sha512-f5RvWnhjt2gZTpBMW3msHwA3IeaCJBHDwVyEsskYGp0EXcRhhklWrltkybDki0ysBNywkjLPp3wuuWhIKfplcQ==", "license": "MIT", "dependencies": { "@ant-design/colors": "^8.0.1", "@ant-design/cssinjs": "^2.0.3", "@ant-design/cssinjs-utils": "^2.0.2", - "@ant-design/fast-color": "^3.0.0", + "@ant-design/fast-color": "^3.0.1", "@ant-design/icons": "^6.1.0", "@ant-design/react-slick": "~2.0.0", "@babel/runtime": "^7.28.4", @@ -7976,7 +7976,7 @@ "@rc-component/rate": "~1.0.1", "@rc-component/resize-observer": "^1.1.1", "@rc-component/segmented": "~1.3.0", - "@rc-component/select": "~1.5.0", + "@rc-component/select": "~1.5.1", "@rc-component/slider": "~1.0.1", "@rc-component/steps": "~1.2.2", "@rc-component/switch": "~1.0.3", @@ -8325,9 +8325,9 @@ } }, "node_modules/axios": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz", - "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==", + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.3.tgz", + "integrity": "sha512-ERT8kdX7DZjtUm7IitEyV7InTHAF42iJuMArIiDIV5YtPanJkgw4hw5Dyg9fh0mihdWNn1GKaeIWErfe56UQ1g==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", @@ -12859,15 +12859,15 @@ } }, "node_modules/libphonenumber-js": { - "version": "1.12.34", - "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.12.34.tgz", - "integrity": "sha512-v/Ip8k8eYdp7bINpzqDh46V/PaQ8sK+qi97nMQgjZzFlb166YFqlR/HVI+MzsI9JqcyyVWCOipmmretiaSyQyw==", + "version": "1.12.35", + "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.12.35.tgz", + "integrity": "sha512-T/Cz6iLcsZdb5jDncDcUNhSAJ0VlSC9TnsqtBNdpkaAmy24/R1RhErtNWVWBrcUZKs9hSgaVsBkc7HxYnazIfw==", "license": "MIT" }, "node_modules/lightningcss": { - "version": "1.31.0", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.31.0.tgz", - "integrity": "sha512-mKXR8TIPqVNcs0qQplcnLgDSmyMW5q9Bt5GmcvABpeexaGGPILxDmMNoabSsS9pAPgICYmgzL2wYFPf84/fQ2A==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.31.1.tgz", + "integrity": "sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==", "license": "MPL-2.0", "dependencies": { "detect-libc": "^2.0.3" @@ -12880,23 +12880,23 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "lightningcss-android-arm64": "1.31.0", - "lightningcss-darwin-arm64": "1.31.0", - "lightningcss-darwin-x64": "1.31.0", - "lightningcss-freebsd-x64": "1.31.0", - "lightningcss-linux-arm-gnueabihf": "1.31.0", - "lightningcss-linux-arm64-gnu": "1.31.0", - "lightningcss-linux-arm64-musl": "1.31.0", - "lightningcss-linux-x64-gnu": "1.31.0", - "lightningcss-linux-x64-musl": "1.31.0", - "lightningcss-win32-arm64-msvc": "1.31.0", - "lightningcss-win32-x64-msvc": "1.31.0" + "lightningcss-android-arm64": "1.31.1", + "lightningcss-darwin-arm64": "1.31.1", + "lightningcss-darwin-x64": "1.31.1", + "lightningcss-freebsd-x64": "1.31.1", + "lightningcss-linux-arm-gnueabihf": "1.31.1", + "lightningcss-linux-arm64-gnu": "1.31.1", + "lightningcss-linux-arm64-musl": "1.31.1", + "lightningcss-linux-x64-gnu": "1.31.1", + "lightningcss-linux-x64-musl": "1.31.1", + "lightningcss-win32-arm64-msvc": "1.31.1", + "lightningcss-win32-x64-msvc": "1.31.1" } }, "node_modules/lightningcss-android-arm64": { - "version": "1.31.0", - "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.31.0.tgz", - "integrity": "sha512-qRdhuBXBgGfO3NZ37l/lA1qqjqptBQoa37YiMDeMRpJpv/+0CGKtL4o5+VUFaHzZb9+hS/DOg3XNff3YmwY2ug==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.31.1.tgz", + "integrity": "sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==", "cpu": [ "arm64" ], @@ -12914,9 +12914,9 @@ } }, "node_modules/lightningcss-darwin-arm64": { - "version": "1.31.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.31.0.tgz", - "integrity": "sha512-ctMERKCPJHgEhkCUvcCT5Z1wB+pCyFO+XskTNFB3uTrE9i3LzQXvrlm2PSuYhOYSExrzfmfD/HVyfqZYnfpjvQ==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.31.1.tgz", + "integrity": "sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==", "cpu": [ "arm64" ], @@ -12934,9 +12934,9 @@ } }, "node_modules/lightningcss-darwin-x64": { - "version": "1.31.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.31.0.tgz", - "integrity": "sha512-7+8dwpz4qj/IiKxSs210WKWoJg59npBxvEXrpuxAkfZDPSgXiPcNZfaL9HtcaRntd7DbzVSI5SHMsmlsl+NZgA==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.31.1.tgz", + "integrity": "sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==", "cpu": [ "x64" ], @@ -12954,9 +12954,9 @@ } }, "node_modules/lightningcss-freebsd-x64": { - "version": "1.31.0", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.31.0.tgz", - "integrity": "sha512-HZdu0reyMXO0TzJnK3D37dxgijjJsZt9muQRi+df/sr6WnkSZJKHfOufm0amWz+LiWg9X3H+XIBW24s/y3itmQ==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.31.1.tgz", + "integrity": "sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==", "cpu": [ "x64" ], @@ -12974,9 +12974,9 @@ } }, "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.31.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.31.0.tgz", - "integrity": "sha512-pqp0rGHc9rebDT7vVtu92JqU6gP5zm19m+zCqvHHMI+cEQrCjbNlMbPqn9UEfPYfRltL4pti9MJQ62558nVHnw==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.31.1.tgz", + "integrity": "sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==", "cpu": [ "arm" ], @@ -12994,9 +12994,9 @@ } }, "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.31.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.31.0.tgz", - "integrity": "sha512-EpAQTq6TXL+200bDNMzhbFpqAJsto01R//xuE8yAWN0l4wmJhmS1r/FxoudIUM9PxHMPEiWeLw+1thdF5ZPg7Q==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.31.1.tgz", + "integrity": "sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==", "cpu": [ "arm64" ], @@ -13014,9 +13014,9 @@ } }, "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.31.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.31.0.tgz", - "integrity": "sha512-6tuU37nXStA3kxNnjC49z1tPFEoviC9ZLyB34O3X1/VTLXdZX2vmPZ+45XesagvlgoeJQ9r9XVSovUZny41AQA==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.31.1.tgz", + "integrity": "sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==", "cpu": [ "arm64" ], @@ -13034,9 +13034,9 @@ } }, "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.31.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.31.0.tgz", - "integrity": "sha512-enNePbgDKmJybVz90/8dAGTOulvpn0IwxamHHnIj32gmdbuSPJ9mk+Nob4UmiqLMAdHlH+0c+lpsZkv4TSxi3w==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.31.1.tgz", + "integrity": "sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==", "cpu": [ "x64" ], @@ -13054,9 +13054,9 @@ } }, "node_modules/lightningcss-linux-x64-musl": { - "version": "1.31.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.31.0.tgz", - "integrity": "sha512-EM4jGT+V+PdFkcrIB5m5yiSzfV7z43k0pOtUmODhFSbuay5JvbVChK1uoaMmwPTKGWatwSRbiu90BUzU262B9g==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.31.1.tgz", + "integrity": "sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==", "cpu": [ "x64" ], @@ -13074,9 +13074,9 @@ } }, "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.31.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.31.0.tgz", - "integrity": "sha512-IGvE0eCsWrYWerlkXFitANJ2vdkzs4EVCm1sEttanqVc4lqdRKyZ7ZIapBfo5OckE+zuq/JNaIkbWHdYDpOblQ==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.31.1.tgz", + "integrity": "sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==", "cpu": [ "arm64" ], @@ -13094,9 +13094,9 @@ } }, "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.31.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.31.0.tgz", - "integrity": "sha512-7V6CPCLNO1Pv5gPPvXWst7V8cvZjbRKgwht1qd4/OH7yacV/kMV5VDq/RDnmdQpXUTnn4ye+vZkU8REXU46iZA==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.31.1.tgz", + "integrity": "sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==", "cpu": [ "x64" ], @@ -14870,9 +14870,9 @@ "license": "MIT" }, "node_modules/phone": { - "version": "3.1.69", - "resolved": "https://registry.npmjs.org/phone/-/phone-3.1.69.tgz", - "integrity": "sha512-Nc6lY9p4bbdYdmHewuIC5lZdLOnu5r0Vm9imL4leZCz0tUD5RFPqRtdGmYR6VMpFT5oP+8ty2nu6lxVV3Jzprw==", + "version": "3.1.70", + "resolved": "https://registry.npmjs.org/phone/-/phone-3.1.70.tgz", + "integrity": "sha512-MFRQaIe8UJmkosaU/OlLRDhSoLw9wJRwqtacNHy8cZjDomTQ9ic8+8nKdGFLpRsaqnLHAXSuiIYTzWggMkSG5Q==", "license": "MIT", "engines": { "node": ">=12" @@ -15002,9 +15002,9 @@ "license": "MIT" }, "node_modules/posthog-js": { - "version": "1.335.0", - "resolved": "https://registry.npmjs.org/posthog-js/-/posthog-js-1.335.0.tgz", - "integrity": "sha512-gWNcSb3RZIpzKu8zDWIPzEaMmGxsRKtCCbW0iTCI153PtBVOmiEsYdmMfg7weWUcf8QYc7yWNPl2AhhydnBDMA==", + "version": "1.335.2", + "resolved": "https://registry.npmjs.org/posthog-js/-/posthog-js-1.335.2.tgz", + "integrity": "sha512-xiPh9eXqNiNiFZjVe+HMcuEeqhbMJuL+bOVUM6ywGAfxUe71av71q6hK/zlzIiPNsPxhV6PL08LC6yPooStQxA==", "license": "SEE LICENSE IN LICENSE", "dependencies": { "@opentelemetry/api": "^1.9.0", @@ -15012,8 +15012,8 @@ "@opentelemetry/exporter-logs-otlp-http": "^0.208.0", "@opentelemetry/resources": "^2.2.0", "@opentelemetry/sdk-logs": "^0.208.0", - "@posthog/core": "1.13.0", - "@posthog/types": "1.335.0", + "@posthog/core": "1.14.0", + "@posthog/types": "1.335.2", "core-js": "^3.38.1", "dompurify": "^3.3.1", "fflate": "^0.4.8", @@ -15701,9 +15701,9 @@ } }, "node_modules/react-router": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.12.0.tgz", - "integrity": "sha512-kTPDYPFzDVGIIGNLS5VJykK0HfHLY5MF3b+xj0/tTyNYL1gF1qs7u67Z9jEhQk2sQ98SUaHxlG31g1JtF7IfVw==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.13.0.tgz", + "integrity": "sha512-PZgus8ETambRT17BUm/LL8lX3Of+oiLaPuVTRH3l1eLvSPpKO3AvhAEb5N7ihAFZQrYDqkvvWfFh9p0z9VsjLw==", "license": "MIT", "dependencies": { "cookie": "^1.0.1", @@ -15723,12 +15723,12 @@ } }, "node_modules/react-router-dom": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.12.0.tgz", - "integrity": "sha512-pfO9fiBcpEfX4Tx+iTYKDtPbrSLLCbwJ5EqP+SPYQu1VYCXdy79GSj0wttR0U4cikVdlImZuEZ/9ZNCgoaxwBA==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.13.0.tgz", + "integrity": "sha512-5CO/l5Yahi2SKC6rGZ+HDEjpjkGaG/ncEP7eWFTvFxbHP8yeeI0PxTDjimtpXYlR3b3i9/WIL4VJttPrESIf2g==", "license": "MIT", "dependencies": { - "react-router": "7.12.0" + "react-router": "7.13.0" }, "engines": { "node": ">=20.0.0" @@ -15800,9 +15800,9 @@ } }, "node_modules/recharts": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/recharts/-/recharts-3.6.0.tgz", - "integrity": "sha512-L5bjxvQRAe26RlToBAziKUB7whaGKEwD3znoM6fz3DrTowCIC/FnJYnuq1GEzB8Zv2kdTfaxQfi5GoH0tBinyg==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-3.7.0.tgz", + "integrity": "sha512-l2VCsy3XXeraxIID9fx23eCb6iCBsxUQDnE8tWm6DFdszVAO7WVY/ChAD9wVit01y6B2PMupYiMmQwhgPHc9Ew==", "license": "MIT", "workspaces": [ "www" @@ -16423,9 +16423,9 @@ } }, "node_modules/sass": { - "version": "1.97.2", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.2.tgz", - "integrity": "sha512-y5LWb0IlbO4e97Zr7c3mlpabcbBtS+ieiZ9iwDooShpFKWXf62zz5pEPdwrLYm+Bxn1fnbwFGzHuCLSA9tBmrw==", + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz", + "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==", "license": "MIT", "dependencies": { "chokidar": "^4.0.0", diff --git a/client/package.json b/client/package.json index 49f96c9bc..1244b27a6 100644 --- a/client/package.json +++ b/client/package.json @@ -8,9 +8,9 @@ "private": true, "proxy": "http://localhost:4000", "dependencies": { - "@amplitude/analytics-browser": "^2.33.4", + "@amplitude/analytics-browser": "^2.33.5", "@ant-design/pro-layout": "^7.22.6", - "@apollo/client": "^4.1.1", + "@apollo/client": "^4.1.2", "@emotion/is-prop-valid": "^1.4.0", "@fingerprintjs/fingerprintjs": "^5.0.1", "@firebase/analytics": "^0.10.19", @@ -21,14 +21,14 @@ "@jsreport/browser-client": "^3.1.0", "@reduxjs/toolkit": "^2.11.2", "@sentry/cli": "^3.1.0", - "@sentry/react": "^10.35.0", - "@sentry/vite-plugin": "^4.7.0", + "@sentry/react": "^10.36.0", + "@sentry/vite-plugin": "^4.8.0", "@splitsoftware/splitio-react": "^2.6.1", - "@tanem/react-nprogress": "^5.0.56", - "antd": "^6.2.1", + "@tanem/react-nprogress": "^5.0.58", + "antd": "^6.2.2", "apollo-link-logger": "^3.0.0", "autosize": "^6.0.1", - "axios": "^1.13.2", + "axios": "^1.13.3", "classnames": "^2.5.1", "css-box-model": "^1.2.1", "dayjs": "^1.11.19", @@ -42,15 +42,15 @@ "i18next": "^25.8.0", "i18next-browser-languagedetector": "^8.2.0", "immutability-helper": "^3.1.1", - "libphonenumber-js": "^1.12.34", - "lightningcss": "^1.31.0", + "libphonenumber-js": "^1.12.35", + "lightningcss": "^1.31.1", "logrocket": "^11.0.0", "markerjs2": "^2.32.7", "memoize-one": "^6.0.0", "normalize-url": "^8.1.1", "object-hash": "^3.0.0", - "phone": "^3.1.69", - "posthog-js": "^1.335.0", + "phone": "^3.1.70", + "posthog-js": "^1.335.2", "prop-types": "^15.8.1", "query-string": "^9.3.1", "raf-schd": "^4.0.3", @@ -71,10 +71,10 @@ "react-product-fruits": "^2.2.62", "react-redux": "^9.2.0", "react-resizable": "^3.1.3", - "react-router-dom": "^7.12.0", + "react-router-dom": "^7.13.0", "react-sticky": "^6.0.3", "react-virtuoso": "^4.18.1", - "recharts": "^3.6.0", + "recharts": "^3.7.0", "redux": "^5.0.1", "redux-actions": "^3.0.3", "redux-persist": "^6.0.0", @@ -82,7 +82,7 @@ "redux-state-sync": "^3.1.4", "reselect": "^5.1.1", "rxjs": "^7.8.2", - "sass": "^1.97.2", + "sass": "^1.97.3", "socket.io-client": "^4.8.3", "styled-components": "^6.3.8", "vite-plugin-ejs": "^1.7.0", diff --git a/client/src/components/production-board-kanban/trello-board/controllers/BoardContainer.jsx b/client/src/components/production-board-kanban/trello-board/controllers/BoardContainer.jsx index 5a2430702..0eafb9faa 100644 --- a/client/src/components/production-board-kanban/trello-board/controllers/BoardContainer.jsx +++ b/client/src/components/production-board-kanban/trello-board/controllers/BoardContainer.jsx @@ -1,4 +1,4 @@ -import { useEffect, useRef, useState } from "react"; +import { useCallback, useEffect, useMemo, useRef, useState } from "react"; import { useDispatch, useSelector } from "react-redux"; import { DragDropContext } from "../dnd/lib"; import PropTypes from "prop-types"; @@ -7,6 +7,7 @@ import { PopoverWrapper } from "react-popopo"; import * as actions from "../../../../redux/trello/trello.actions.js"; import { BoardWrapper } from "../styles/Base.js"; import ProductionStatistics from "../../production-board-kanban.statistics.jsx"; +import isEqual from "lodash/isEqual"; const useDragMap = () => { const dragMapRef = useRef(new Map()); @@ -47,8 +48,9 @@ const BoardContainer = ({ const dispatch = useDispatch(); const currentReducerData = useSelector((state) => (state.trello.lanes ? state.trello : {})); const { setDragTime, getLastDragTime } = useDragMap(); + const previousDataRef = useRef(null); - const wireEventBus = () => { + const wireEventBus = useCallback(() => { const eventBus = { publish: (event) => { switch (event.type) { @@ -68,14 +70,17 @@ const BoardContainer = ({ } }; eventBusHandle(eventBus); - }; + }, [dispatch, eventBusHandle]); useEffect(() => { - dispatch(actions.loadBoard(data)); - if (eventBusHandle) { - wireEventBus(); + if (!isEqual(previousDataRef.current, data)) { + previousDataRef.current = data; + dispatch(actions.loadBoard(data)); + if (eventBusHandle) { + wireEventBus(); + } } - }, [data, eventBusHandle, dispatch]); + }, [data, wireEventBus, dispatch]); useEffect(() => { onDataChange(currentReducerData); @@ -153,12 +158,17 @@ const BoardContainer = ({ } }; + const boardKey = useMemo(() => { + // React Compiler: Generate stable key from lane IDs + return currentReducerData.lanes?.map((l) => l.id).join("-") || "empty"; + }, [currentReducerData.lanes]); + return (