diff --git a/apps/web/package-lock.json b/apps/web/package-lock.json
index 6198064..26c3714 100644
--- a/apps/web/package-lock.json
+++ b/apps/web/package-lock.json
@@ -33,6 +33,7 @@
"clsx": "^2.1.1",
"cmdk": "^1.0.4",
"date-fns": "^4.1.0",
+ "echarts-for-react": "^3.0.2",
"init": "^0.1.2",
"lucide-react": "^0.469.0",
"next": "^15.1.3",
@@ -3156,6 +3157,20 @@
"zrender": "5.6.1"
}
},
+ "node_modules/echarts-for-react": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/echarts-for-react/-/echarts-for-react-3.0.2.tgz",
+ "integrity": "sha512-DRwIiTzx8JfwPOVgGttDytBqdp5VzCSyMRIxubgU/g2n9y3VLUmF2FK7Icmg/sNVkv4+rktmrLN9w22U2yy3fA==",
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.3",
+ "size-sensor": "^1.0.1"
+ },
+ "peerDependencies": {
+ "echarts": "^3.0.0 || ^4.0.0 || ^5.0.0",
+ "react": "^15.0.0 || >=16.0.0"
+ }
+ },
"node_modules/echarts/node_modules/tslib": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
@@ -3853,7 +3868,6 @@
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true,
"license": "MIT"
},
"node_modules/fast-equals": {
@@ -7270,6 +7284,12 @@
"is-arrayish": "^0.3.1"
}
},
+ "node_modules/size-sensor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/size-sensor/-/size-sensor-1.0.2.tgz",
+ "integrity": "sha512-2NCmWxY7A9pYKGXNBfteo4hy14gWu47rg5692peVMst6lQLPKrVjhY+UTEsPI5ceFRJSl3gVgMYaUi/hKuaiKw==",
+ "license": "ISC"
+ },
"node_modules/source-map-js": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
diff --git a/apps/web/package.json b/apps/web/package.json
index 9e6ce95..2678e2f 100644
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -35,6 +35,7 @@
"clsx": "^2.1.1",
"cmdk": "^1.0.4",
"date-fns": "^4.1.0",
+ "echarts-for-react": "^3.0.2",
"init": "^0.1.2",
"lucide-react": "^0.469.0",
"next": "^15.1.3",
diff --git a/apps/web/pnpm-lock.yaml b/apps/web/pnpm-lock.yaml
index d7dbecf..110918f 100644
--- a/apps/web/pnpm-lock.yaml
+++ b/apps/web/pnpm-lock.yaml
@@ -83,6 +83,9 @@ importers:
date-fns:
specifier: ^4.1.0
version: 4.1.0
+ echarts-for-react:
+ specifier: ^3.0.2
+ version: 3.0.2(echarts@5.6.0)(react@19.0.0)
init:
specifier: ^0.1.2
version: 0.1.2
@@ -1384,6 +1387,12 @@ packages:
eastasianwidth@0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+ echarts-for-react@3.0.2:
+ resolution: {integrity: sha512-DRwIiTzx8JfwPOVgGttDytBqdp5VzCSyMRIxubgU/g2n9y3VLUmF2FK7Icmg/sNVkv4+rktmrLN9w22U2yy3fA==}
+ peerDependencies:
+ echarts: ^3.0.0 || ^4.0.0 || ^5.0.0
+ react: ^15.0.0 || >=16.0.0
+
echarts@5.6.0:
resolution: {integrity: sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==}
@@ -2494,6 +2503,9 @@ packages:
simple-swizzle@0.2.2:
resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
+ size-sensor@1.0.2:
+ resolution: {integrity: sha512-2NCmWxY7A9pYKGXNBfteo4hy14gWu47rg5692peVMst6lQLPKrVjhY+UTEsPI5ceFRJSl3gVgMYaUi/hKuaiKw==}
+
source-map-js@1.2.1:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
@@ -3990,6 +4002,13 @@ snapshots:
eastasianwidth@0.2.0: {}
+ echarts-for-react@3.0.2(echarts@5.6.0)(react@19.0.0):
+ dependencies:
+ echarts: 5.6.0
+ fast-deep-equal: 3.1.3
+ react: 19.0.0
+ size-sensor: 1.0.2
+
echarts@5.6.0:
dependencies:
tslib: 2.3.0
@@ -5457,6 +5476,8 @@ snapshots:
is-arrayish: 0.3.2
optional: true
+ size-sensor@1.0.2: {}
+
source-map-js@1.2.1: {}
space-separated-tokens@2.0.2: {}
diff --git a/apps/web/src/components/tools/auth0/cumulative-signups-chart.tsx b/apps/web/src/components/tools/auth0/cumulative-signups-chart.tsx
index 715c0f3..6785564 100644
--- a/apps/web/src/components/tools/auth0/cumulative-signups-chart.tsx
+++ b/apps/web/src/components/tools/auth0/cumulative-signups-chart.tsx
@@ -1,6 +1,10 @@
'use client'
-import { BarChart } from '@tinybirdco/charts'
+
+import { useQuery } from '@tinybirdco/charts'
+import ReactECharts from 'echarts-for-react'
+import * as echarts from 'echarts'
+import { format } from 'date-fns'
export function Auth0CumulativeSignups(params: {
client_id?: string
@@ -10,14 +14,137 @@ export function Auth0CumulativeSignups(params: {
date_from?: string
date_to?: string
}) {
- return