diff --git a/package.json b/package.json
index 23833ddb..c641ff3a 100644
--- a/package.json
+++ b/package.json
@@ -79,7 +79,7 @@
"@prisma/extension-read-replicas": "^0.4.1",
"@react-spring/web": "^9.7.3",
"@tanstack/react-query": "^5.74.11",
- "@umami/react-zen": "^0.88.0",
+ "@umami/react-zen": "^0.89.0",
"@umami/redis-client": "^0.27.0",
"bcryptjs": "^2.4.3",
"chalk": "^4.1.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index e29ee3f4..ba31c939 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -39,8 +39,8 @@ importers:
specifier: ^5.74.11
version: 5.74.11(react@19.1.0)
'@umami/react-zen':
- specifier: ^0.88.0
- version: 0.88.0(@babel/core@7.26.10)(@types/react@19.1.2)(immer@9.0.21)(use-sync-external-store@1.5.0(react@19.1.0))
+ specifier: ^0.89.0
+ version: 0.89.0(@babel/core@7.26.10)(@types/react@19.1.2)(immer@9.0.21)(use-sync-external-store@1.5.0(react@19.1.0))
'@umami/redis-client':
specifier: ^0.27.0
version: 0.27.0
@@ -349,45 +349,6 @@ importers:
specifier: ^5.5.3
version: 5.8.3
- dist:
- dependencies:
- '@tanstack/react-query':
- specifier: ^4.33.0
- version: 4.36.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- classnames:
- specifier: ^2.3.1
- version: 2.5.1
- colord:
- specifier: ^2.9.2
- version: 2.9.3
- date-fns-tz:
- specifier: ^1.1.4
- version: 1.3.8(date-fns@2.30.0)
- immer:
- specifier: ^9.0.12
- version: 9.0.21
- moment-timezone:
- specifier: ^0.5.35
- version: 0.5.48
- next:
- specifier: ^13.4.0
- version: 13.5.11(@babel/core@7.26.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- next-basics:
- specifier: ^0.36.0
- version: 0.36.0(next@13.5.11(@babel/core@7.26.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react:
- specifier: ^18.2.0
- version: 18.3.1
- react-dom:
- specifier: ^18.2.0
- version: 18.3.1(react@18.3.1)
- react-intl:
- specifier: ^5.24.7
- version: 5.25.1(react@18.3.1)(typescript@4.9.5)
- zustand:
- specifier: ^4.3.8
- version: 4.5.6(@types/react@19.1.2)(immer@9.0.21)(react@18.3.1)
-
packages:
'@ampproject/remapping@2.3.0':
@@ -1548,9 +1509,6 @@ packages:
'@formatjs/ecma402-abstract@2.3.4':
resolution: {integrity: sha512-qrycXDeaORzIqNhBOx0btnhpD1c+/qFIHAN9znofuMJX6QBwtbrmlpWfD4oiUUD2vJUOIYFA/gYtg2KAMGG7sA==}
- '@formatjs/fast-memoize@1.2.1':
- resolution: {integrity: sha512-Rg0e76nomkz3vF9IPlKeV+Qynok0r7YZjL6syLz4/urSg0IbjPZCB/iYUMNsYA643gh4mgrX3T7KEIFIxJBQeg==}
-
'@formatjs/fast-memoize@2.2.3':
resolution: {integrity: sha512-3jeJ+HyOfu8osl3GNSL4vVHUuWFXR03Iz9jjgI7RwjG6ysu/Ymdr0JRCPHfF5yGbTE6JCrd63EpvX1/WybYRbA==}
@@ -1575,15 +1533,9 @@ packages:
'@formatjs/icu-skeleton-parser@1.8.8':
resolution: {integrity: sha512-vHwK3piXwamFcx5YQdCdJxUQ1WdTl6ANclt5xba5zLGDv5Bsur7qz8AD7BevaKxITwpgDeU0u8My3AIibW9ywA==}
- '@formatjs/intl-displaynames@5.4.3':
- resolution: {integrity: sha512-4r12A3mS5dp5hnSaQCWBuBNfi9Amgx2dzhU4lTFfhSxgb5DOAiAbMpg6+7gpWZgl4ahsj3l2r/iHIjdmdXOE2Q==}
-
'@formatjs/intl-displaynames@6.8.5':
resolution: {integrity: sha512-85b+GdAKCsleS6cqVxf/Aw/uBd+20EM0wDpgaxzHo3RIR3bxF4xCJqH/Grbzx8CXurTgDDZHPdPdwJC+May41w==}
- '@formatjs/intl-listformat@6.5.3':
- resolution: {integrity: sha512-ozpz515F/+3CU+HnLi5DYPsLa6JoCfBggBSSg/8nOB5LYSFW9+ZgNQJxJ8tdhKYeODT+4qVHX27EeJLoxLGLNg==}
-
'@formatjs/intl-listformat@7.7.5':
resolution: {integrity: sha512-Wzes10SMNeYgnxYiKsda4rnHP3Q3II4XT2tZyOgnH5fWuHDtIkceuWlRQNsvrI3uiwP4hLqp2XdQTCsfkhXulg==}
@@ -1607,14 +1559,6 @@ packages:
typescript:
optional: true
- '@formatjs/intl@2.2.1':
- resolution: {integrity: sha512-vgvyUOOrzqVaOFYzTf2d3+ToSkH2JpR7x/4U1RyoHQLmvEaTQvXJ7A2qm1Iy3brGNXC/+/7bUlc3lpH+h/LOJA==}
- peerDependencies:
- typescript: ^4.5
- peerDependenciesMeta:
- typescript:
- optional: true
-
'@formatjs/ts-transformer@2.13.0':
resolution: {integrity: sha512-mu7sHXZk1NWZrQ3eUqugpSYo8x5/tXkrI4uIbFqCEC0eNgQaIcoKgVeDFgDAcgG+cEme2atAUYSFF+DFWC4org==}
peerDependencies:
@@ -1884,111 +1828,54 @@ packages:
resolution: {integrity: sha512-UZ0D6MKMV+7toNTeiki96YDcxwR/2lddW9zJQh4n62o564S/D2r5w46UTE0DcCY7Jtw7WGVOy1VtB3ws2gKW0A==}
engines: {node: '>=18.0.0'}
- '@next/env@13.5.11':
- resolution: {integrity: sha512-fbb2C7HChgM7CemdCY+y3N1n8pcTKdqtQLbC7/EQtPdLvlMUT9JX/dBYl8MMZAtYG4uVMyPFHXckb68q/NRwqg==}
-
'@next/env@15.3.1':
resolution: {integrity: sha512-cwK27QdzrMblHSn9DZRV+DQscHXRuJv6MydlJRpFSqJWZrTYMLzKDeyueJNN9MGd8NNiUKzDQADAf+dMLXX7YQ==}
'@next/eslint-plugin-next@14.2.28':
resolution: {integrity: sha512-GQUPA1bTZy5qZdPV5MOHB18465azzhg8xm5o2SqxMF+h1rWNjB43y6xmIPHG5OV2OiU3WxuINpusXom49DdaIQ==}
- '@next/swc-darwin-arm64@13.5.9':
- resolution: {integrity: sha512-pVyd8/1y1l5atQRvOaLOvfbmRwefxLhqQOzYo/M7FQ5eaRwA1+wuCn7t39VwEgDd7Aw1+AIWwd+MURXUeXhwDw==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [darwin]
-
'@next/swc-darwin-arm64@15.3.1':
resolution: {integrity: sha512-hjDw4f4/nla+6wysBL07z52Gs55Gttp5Bsk5/8AncQLJoisvTBP0pRIBK/B16/KqQyH+uN4Ww8KkcAqJODYH3w==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
- '@next/swc-darwin-x64@13.5.9':
- resolution: {integrity: sha512-DwdeJqP7v8wmoyTWPbPVodTwCybBZa02xjSJ6YQFIFZFZ7dFgrieKW4Eo0GoIcOJq5+JxkQyejmI+8zwDp3pwA==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [darwin]
-
'@next/swc-darwin-x64@15.3.1':
resolution: {integrity: sha512-q+aw+cJ2ooVYdCEqZVk+T4Ni10jF6Fo5DfpEV51OupMaV5XL6pf3GCzrk6kSSZBsMKZtVC1Zm/xaNBFpA6bJ2g==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
- '@next/swc-linux-arm64-gnu@13.5.9':
- resolution: {integrity: sha512-wdQsKsIsGSNdFojvjW3Ozrh8Q00+GqL3wTaMjDkQxVtRbAqfFBtrLPO0IuWChVUP2UeuQcHpVeUvu0YgOP00+g==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
-
'@next/swc-linux-arm64-gnu@15.3.1':
resolution: {integrity: sha512-wBQ+jGUI3N0QZyWmmvRHjXjTWFy8o+zPFLSOyAyGFI94oJi+kK/LIZFJXeykvgXUk1NLDAEFDZw/NVINhdk9FQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@next/swc-linux-arm64-musl@13.5.9':
- resolution: {integrity: sha512-6VpS+bodQqzOeCwGxoimlRoosiWlSc0C224I7SQWJZoyJuT1ChNCo+45QQH+/GtbR/s7nhaUqmiHdzZC9TXnXA==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
-
'@next/swc-linux-arm64-musl@15.3.1':
resolution: {integrity: sha512-IIxXEXRti/AulO9lWRHiCpUUR8AR/ZYLPALgiIg/9ENzMzLn3l0NSxVdva7R/VDcuSEBo0eGVCe3evSIHNz0Hg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@next/swc-linux-x64-gnu@13.5.9':
- resolution: {integrity: sha512-XxG3yj61WDd28NA8gFASIR+2viQaYZEFQagEodhI/R49gXWnYhiflTeeEmCn7Vgnxa/OfK81h1gvhUZ66lozpw==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
-
'@next/swc-linux-x64-gnu@15.3.1':
resolution: {integrity: sha512-bfI4AMhySJbyXQIKH5rmLJ5/BP7bPwuxauTvVEiJ/ADoddaA9fgyNNCcsbu9SlqfHDoZmfI6g2EjzLwbsVTr5A==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@next/swc-linux-x64-musl@13.5.9':
- resolution: {integrity: sha512-/dnscWqfO3+U8asd+Fc6dwL2l9AZDl7eKtPNKW8mKLh4Y4wOpjJiamhe8Dx+D+Oq0GYVjuW0WwjIxYWVozt2bA==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
-
'@next/swc-linux-x64-musl@15.3.1':
resolution: {integrity: sha512-FeAbR7FYMWR+Z+M5iSGytVryKHiAsc0x3Nc3J+FD5NVbD5Mqz7fTSy8CYliXinn7T26nDMbpExRUI/4ekTvoiA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@next/swc-win32-arm64-msvc@13.5.9':
- resolution: {integrity: sha512-T/iPnyurOK5a4HRUcxAlss8uzoEf5h9tkd+W2dSWAfzxv8WLKlUgbfk+DH43JY3Gc2xK5URLuXrxDZ2mGfk/jw==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [win32]
-
'@next/swc-win32-arm64-msvc@15.3.1':
resolution: {integrity: sha512-yP7FueWjphQEPpJQ2oKmshk/ppOt+0/bB8JC8svPUZNy0Pi3KbPx2Llkzv1p8CoQa+D2wknINlJpHf3vtChVBw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
- '@next/swc-win32-ia32-msvc@13.5.9':
- resolution: {integrity: sha512-BLiPKJomaPrTAb7ykjA0LPcuuNMLDVK177Z1xe0nAem33+9FIayU4k/OWrtSn9SAJW/U60+1hoey5z+KCHdRLQ==}
- engines: {node: '>= 10'}
- cpu: [ia32]
- os: [win32]
-
- '@next/swc-win32-x64-msvc@13.5.9':
- resolution: {integrity: sha512-/72/dZfjXXNY/u+n8gqZDjI6rxKMpYsgBBYNZKWOQw0BpBF7WCnPflRy3ZtvQ2+IYI3ZH2bPyj7K+6a6wNk90Q==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [win32]
-
'@next/swc-win32-x64-msvc@15.3.1':
resolution: {integrity: sha512-3PMvF2zRJAifcRNni9uMk/gulWfWS+qVI/pagd+4yLF5bcXPZPPH2xlYRYOsUjmCJOXSTAC2PjRzbhsRzR2fDQ==}
engines: {node: '>= 10'}
@@ -2861,27 +2748,9 @@ packages:
'@swc/helpers@0.5.17':
resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==}
- '@swc/helpers@0.5.2':
- resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==}
-
- '@tanstack/query-core@4.36.1':
- resolution: {integrity: sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==}
-
'@tanstack/query-core@5.74.9':
resolution: {integrity: sha512-qmjXpWyigDw4SfqdSBy24FzRvpBPXlaSbl92N77lcrL+yvVQLQkf0T6bQNbTxl9IEB/SvVFhhVZoIlQvFnNuuw==}
- '@tanstack/react-query@4.36.1':
- resolution: {integrity: sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
- react-native: '*'
- peerDependenciesMeta:
- react-dom:
- optional: true
- react-native:
- optional: true
-
'@tanstack/react-query@5.74.11':
resolution: {integrity: sha512-FFhn9ZiYRUOsxLAWZYxVfQTpVE7UWRaAeHJIWVDHKlmZZGc16rMHW9KrFZ8peC4hA71QUf/shJD8dPSMqDnRmA==}
peerDependencies:
@@ -3109,8 +2978,8 @@ packages:
resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==}
engines: {node: ^16.0.0 || >=18.0.0}
- '@umami/react-zen@0.88.0':
- resolution: {integrity: sha512-7LumLMHAUCzXM1f/2JfkU+/V4eMFDSlJTfx+fsF2IQDICGCrDCv92R2Q8tzHYsi5VXzgiiy2B/55wmMWyc3vig==}
+ '@umami/react-zen@0.89.0':
+ resolution: {integrity: sha512-Lcvgh6Y4DKlUUDE84WowvxvJkgI4INW6lVM32L8+XUJVxBrEBa41RF7jF6KTgD6IizAwHtSouh4gVLzzBDmlCw==}
'@umami/redis-client@0.27.0':
resolution: {integrity: sha512-SbHTpxhgeZyTBUSp2zdZM+XUtpsaSL4Tad8QXIEhEtjWhvvfoornyT5kLuyYCVtzSAT4daALeGmOO1z6EE1KcA==}
@@ -3557,9 +3426,6 @@ packages:
caniuse-lite@1.0.30001713:
resolution: {integrity: sha512-wCIWIg+A4Xr7NfhTuHdX+/FKh3+Op3LBbSp2N5Pfx6T/LhdQy3GTyoTg48BReaW/MyMNZAkTadsBtai3ldWK0Q==}
- caniuse-lite@1.0.30001715:
- resolution: {integrity: sha512-7ptkFGMm2OAOgvZpwgA4yjQ5SQbrNVGdRjzH0pBdy1Fasvcr+KAeECmbCAECzTuDuoX0FCY8KzUxjf9+9kfZEw==}
-
caniuse-lite@1.0.30001716:
resolution: {integrity: sha512-49/c1+x3Kwz7ZIWt+4DvK3aMJy9oYXXG6/97JKsnjdCk/6n9vVyWL8NAwVt95Lwt9eigI10Hl782kDfZUUlRXw==}
@@ -4620,9 +4486,6 @@ packages:
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
engines: {node: '>=10.13.0'}
- glob-to-regexp@0.4.1:
- resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
-
glob@10.3.10:
resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==}
engines: {node: '>=16 || 14 >=14.17'}
@@ -4855,9 +4718,6 @@ packages:
intl-messageformat@10.7.7:
resolution: {integrity: sha512-F134jIoeYMro/3I0h08D0Yt4N9o9pjddU/4IIxMMURqbAtI2wu70X8hvG1V48W49zXHXv3RKSF/po+0fDfsGjA==}
- intl-messageformat@9.13.0:
- resolution: {integrity: sha512-7sGC7QnSQGa5LZP7bXLDhVDtQOeKGeBFGHF2Y8LVBwYZoQZCgWeKoPGTa5GMG8g/TzDgeXuYJQis7Ggiw2xTOw==}
-
ipaddr.js@2.2.0:
resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==}
engines: {node: '>= 10'}
@@ -5657,12 +5517,6 @@ packages:
resolution: {integrity: sha512-yx8H/1H5AfnufiLnzzPqPf4yr/dKU9IFT1rPVwSkrKWHsQEeVVd6+X+L0nUbXhlEFTu3y/7hu38CFmEVgzvyeg==}
engines: {node: '>=10', npm: '>=6'}
- moment-timezone@0.5.48:
- resolution: {integrity: sha512-f22b8LV1gbTO2ms2j2z13MuPogNoh5UzxL3nzNAYKGraILnbGc9NEE6dyiiiLv46DGRb8A4kg8UKWLjPthxBHw==}
-
- moment@2.30.1:
- resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==}
-
ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
@@ -5677,28 +5531,6 @@ packages:
natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
- next-basics@0.36.0:
- resolution: {integrity: sha512-Nwou8pCjFuoD/ZxUw9iKC7hhZeWbo/ng0ze74yck3W89MNc/CepwCDziflAHY5XcmIVNmpXOCu9OfmzTdVRPWQ==}
- peerDependencies:
- next: ^13.4.0
- react: ^18.2.0
- react-dom: ^18.2.0
-
- next@13.5.11:
- resolution: {integrity: sha512-WUPJ6WbAX9tdC86kGTu92qkrRdgRqVrY++nwM+shmWQwmyxt4zhZfR59moXSI4N8GDYCBY3lIAqhzjDd4rTC8Q==}
- engines: {node: '>=16.14.0'}
- hasBin: true
- peerDependencies:
- '@opentelemetry/api': ^1.1.0
- react: ^18.2.0
- react-dom: ^18.2.0
- sass: ^1.3.0
- peerDependenciesMeta:
- '@opentelemetry/api':
- optional: true
- sass:
- optional: true
-
next@15.3.1:
resolution: {integrity: sha512-8+dDV0xNLOgHlyBxP1GwHGVaNXsmp+2NhZEYrXr24GWLHtt27YrBPbPuHvzlhi7kZNYjeJNR93IF5zfFu5UL0g==}
engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
@@ -6480,11 +6312,6 @@ packages:
react: ^18.2.0
react-dom: ^18.2.0
- react-dom@18.3.1:
- resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
- peerDependencies:
- react: ^18.3.1
-
react-dom@19.1.0:
resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==}
peerDependencies:
@@ -6512,15 +6339,6 @@ packages:
peerDependencies:
react: '*'
- react-intl@5.25.1:
- resolution: {integrity: sha512-pkjdQDvpJROoXLMltkP/5mZb0/XqrqLoPGKUCfbdkP8m6U9xbK40K51Wu+a4aQqTEvEK5lHBk0fWzUV72SJ3Hg==}
- peerDependencies:
- react: ^16.3.0 || 17 || 18
- typescript: ^4.5
- peerDependenciesMeta:
- typescript:
- optional: true
-
react-intl@6.8.9:
resolution: {integrity: sha512-TUfj5E7lyUDvz/GtovC9OMh441kBr08rtIbgh3p0R8iF3hVY+V2W9Am7rb8BpJ/29BH1utJOqOOhmvEVh3GfZg==}
peerDependencies:
@@ -6576,10 +6394,6 @@ packages:
react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- react@18.3.1:
- resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
- engines: {node: '>=0.10.0'}
-
react@19.1.0:
resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==}
engines: {node: '>=0.10.0'}
@@ -6790,9 +6604,6 @@ packages:
safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
- scheduler@0.23.2:
- resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
-
scheduler@0.26.0:
resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==}
@@ -7048,19 +6859,6 @@ packages:
style-search@0.1.0:
resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==}
- styled-jsx@5.1.1:
- resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
- engines: {node: '>= 12.0.0'}
- peerDependencies:
- '@babel/core': '*'
- babel-plugin-macros: '*'
- react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
- peerDependenciesMeta:
- '@babel/core':
- optional: true
- babel-plugin-macros:
- optional: true
-
styled-jsx@5.1.6:
resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==}
engines: {node: '>= 12.0.0'}
@@ -7450,10 +7248,6 @@ packages:
walker@1.0.8:
resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
- watchpack@2.4.0:
- resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==}
- engines: {node: '>=10.13.0'}
-
web-streams-polyfill@3.3.3:
resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==}
engines: {node: '>= 8'}
@@ -7580,8 +7374,8 @@ packages:
react:
optional: true
- zustand@5.0.3:
- resolution: {integrity: sha512-14fwWQtU3pH4dE0dOpdMiWjddcH+QzKIgk1cl8epwSE7yag43k/AD/m4L6+K7DytAOr9gGBe3/EXj9g7cdostg==}
+ zustand@5.0.4:
+ resolution: {integrity: sha512-39VFTN5InDtMd28ZhjLyuTnlytDr9HfwO512Ai4I8ZABCoyAj4F1+sr7sD1jP/+p7k77Iko0Pb5NhgBFDCX0kQ==}
engines: {node: '>=12.20.0'}
peerDependencies:
'@types/react': '>=18.0.0'
@@ -8858,10 +8652,6 @@ snapshots:
decimal.js: 10.5.0
tslib: 2.8.1
- '@formatjs/fast-memoize@1.2.1':
- dependencies:
- tslib: 2.8.1
-
'@formatjs/fast-memoize@2.2.3':
dependencies:
tslib: 2.8.1
@@ -8903,24 +8693,12 @@ snapshots:
'@formatjs/ecma402-abstract': 2.2.4
tslib: 2.8.1
- '@formatjs/intl-displaynames@5.4.3':
- dependencies:
- '@formatjs/ecma402-abstract': 1.11.4
- '@formatjs/intl-localematcher': 0.2.25
- tslib: 2.8.1
-
'@formatjs/intl-displaynames@6.8.5':
dependencies:
'@formatjs/ecma402-abstract': 2.2.4
'@formatjs/intl-localematcher': 0.5.8
tslib: 2.8.1
- '@formatjs/intl-listformat@6.5.3':
- dependencies:
- '@formatjs/ecma402-abstract': 1.11.4
- '@formatjs/intl-localematcher': 0.2.25
- tslib: 2.8.1
-
'@formatjs/intl-listformat@7.7.5':
dependencies:
'@formatjs/ecma402-abstract': 2.2.4
@@ -8956,18 +8734,6 @@ snapshots:
optionalDependencies:
typescript: 5.8.3
- '@formatjs/intl@2.2.1(typescript@4.9.5)':
- dependencies:
- '@formatjs/ecma402-abstract': 1.11.4
- '@formatjs/fast-memoize': 1.2.1
- '@formatjs/icu-messageformat-parser': 2.1.0
- '@formatjs/intl-displaynames': 5.4.3
- '@formatjs/intl-listformat': 6.5.3
- intl-messageformat: 9.13.0
- tslib: 2.8.1
- optionalDependencies:
- typescript: 4.9.5
-
'@formatjs/ts-transformer@2.13.0(ts-jest@29.3.2(@babel/core@7.26.10)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.10))(esbuild@0.25.3)(jest@29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3)))(typescript@5.8.3))':
dependencies:
intl-messageformat-parser: 6.1.2
@@ -9326,62 +9092,33 @@ snapshots:
'@netlify/plugin-nextjs@5.10.7': {}
- '@next/env@13.5.11': {}
-
'@next/env@15.3.1': {}
'@next/eslint-plugin-next@14.2.28':
dependencies:
glob: 10.3.10
- '@next/swc-darwin-arm64@13.5.9':
- optional: true
-
'@next/swc-darwin-arm64@15.3.1':
optional: true
- '@next/swc-darwin-x64@13.5.9':
- optional: true
-
'@next/swc-darwin-x64@15.3.1':
optional: true
- '@next/swc-linux-arm64-gnu@13.5.9':
- optional: true
-
'@next/swc-linux-arm64-gnu@15.3.1':
optional: true
- '@next/swc-linux-arm64-musl@13.5.9':
- optional: true
-
'@next/swc-linux-arm64-musl@15.3.1':
optional: true
- '@next/swc-linux-x64-gnu@13.5.9':
- optional: true
-
'@next/swc-linux-x64-gnu@15.3.1':
optional: true
- '@next/swc-linux-x64-musl@13.5.9':
- optional: true
-
'@next/swc-linux-x64-musl@15.3.1':
optional: true
- '@next/swc-win32-arm64-msvc@13.5.9':
- optional: true
-
'@next/swc-win32-arm64-msvc@15.3.1':
optional: true
- '@next/swc-win32-ia32-msvc@13.5.9':
- optional: true
-
- '@next/swc-win32-x64-msvc@13.5.9':
- optional: true
-
'@next/swc-win32-x64-msvc@15.3.1':
optional: true
@@ -10726,22 +10463,8 @@ snapshots:
dependencies:
tslib: 2.8.1
- '@swc/helpers@0.5.2':
- dependencies:
- tslib: 2.8.1
-
- '@tanstack/query-core@4.36.1': {}
-
'@tanstack/query-core@5.74.9': {}
- '@tanstack/react-query@4.36.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@tanstack/query-core': 4.36.1
- react: 18.3.1
- use-sync-external-store: 1.5.0(react@18.3.1)
- optionalDependencies:
- react-dom: 18.3.1(react@18.3.1)
-
'@tanstack/react-query@5.74.11(react@19.1.0)':
dependencies:
'@tanstack/query-core': 5.74.9
@@ -11017,7 +10740,7 @@ snapshots:
'@typescript-eslint/types': 6.21.0
eslint-visitor-keys: 3.4.3
- '@umami/react-zen@0.88.0(@babel/core@7.26.10)(@types/react@19.1.2)(immer@9.0.21)(use-sync-external-store@1.5.0(react@19.1.0))':
+ '@umami/react-zen@0.89.0(@babel/core@7.26.10)(@types/react@19.1.2)(immer@9.0.21)(use-sync-external-store@1.5.0(react@19.1.0))':
dependencies:
'@fontsource/jetbrains-mono': 5.2.5
'@internationalized/date': 3.8.0
@@ -11034,7 +10757,7 @@ snapshots:
react-hook-form: 7.56.1(react@19.1.0)
react-icons: 5.5.0(react@19.1.0)
thenby: 1.3.4
- zustand: 5.0.3(@types/react@19.1.2)(immer@9.0.21)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0))
+ zustand: 5.0.4(@types/react@19.1.2)(immer@9.0.21)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0))
transitivePeerDependencies:
- '@babel/core'
- '@opentelemetry/api'
@@ -11549,8 +11272,6 @@ snapshots:
caniuse-lite@1.0.30001713: {}
- caniuse-lite@1.0.30001715: {}
-
caniuse-lite@1.0.30001716: {}
caseless@0.12.0: {}
@@ -12862,8 +12583,6 @@ snapshots:
dependencies:
is-glob: 4.0.3
- glob-to-regexp@0.4.1: {}
-
glob@10.3.10:
dependencies:
foreground-child: 3.3.1
@@ -13091,13 +12810,6 @@ snapshots:
'@formatjs/icu-messageformat-parser': 2.9.4
tslib: 2.8.1
- intl-messageformat@9.13.0:
- dependencies:
- '@formatjs/ecma402-abstract': 1.11.4
- '@formatjs/fast-memoize': 1.2.1
- '@formatjs/icu-messageformat-parser': 2.1.0
- tslib: 2.8.1
-
ipaddr.js@2.2.0: {}
is-array-buffer@3.0.5:
@@ -14080,12 +13792,6 @@ snapshots:
mmdb-lib@2.1.1: {}
- moment-timezone@0.5.48:
- dependencies:
- moment: 2.30.1
-
- moment@2.30.1: {}
-
ms@2.1.2: {}
ms@2.1.3: {}
@@ -14094,40 +13800,6 @@ snapshots:
natural-compare@1.4.0: {}
- next-basics@0.36.0(next@13.5.11(@babel/core@7.26.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
- dependencies:
- bcryptjs: 2.4.3
- jsonwebtoken: 9.0.2
- next: 13.5.11(@babel/core@7.26.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- pure-rand: 6.1.0
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
-
- next@13.5.11(@babel/core@7.26.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
- dependencies:
- '@next/env': 13.5.11
- '@swc/helpers': 0.5.2
- busboy: 1.6.0
- caniuse-lite: 1.0.30001715
- postcss: 8.4.31
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- styled-jsx: 5.1.1(@babel/core@7.26.10)(react@18.3.1)
- watchpack: 2.4.0
- optionalDependencies:
- '@next/swc-darwin-arm64': 13.5.9
- '@next/swc-darwin-x64': 13.5.9
- '@next/swc-linux-arm64-gnu': 13.5.9
- '@next/swc-linux-arm64-musl': 13.5.9
- '@next/swc-linux-x64-gnu': 13.5.9
- '@next/swc-linux-x64-musl': 13.5.9
- '@next/swc-win32-arm64-msvc': 13.5.9
- '@next/swc-win32-ia32-msvc': 13.5.9
- '@next/swc-win32-x64-msvc': 13.5.9
- transitivePeerDependencies:
- - '@babel/core'
- - babel-plugin-macros
-
next@15.3.1(@babel/core@7.26.10)(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
dependencies:
'@next/env': 15.3.1
@@ -14968,12 +14640,6 @@ snapshots:
react-hook-form: 7.55.0(react@19.1.0)
react-window: 1.8.11(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- react-dom@18.3.1(react@18.3.1):
- dependencies:
- loose-envify: 1.4.0
- react: 18.3.1
- scheduler: 0.23.2
-
react-dom@19.1.0(react@19.1.0):
dependencies:
react: 19.1.0
@@ -14996,22 +14662,6 @@ snapshots:
dependencies:
react: 19.1.0
- react-intl@5.25.1(react@18.3.1)(typescript@4.9.5):
- dependencies:
- '@formatjs/ecma402-abstract': 1.11.4
- '@formatjs/icu-messageformat-parser': 2.1.0
- '@formatjs/intl': 2.2.1(typescript@4.9.5)
- '@formatjs/intl-displaynames': 5.4.3
- '@formatjs/intl-listformat': 6.5.3
- '@types/hoist-non-react-statics': 3.3.6
- '@types/react': 18.3.20
- hoist-non-react-statics: 3.3.2
- intl-messageformat: 9.13.0
- react: 18.3.1
- tslib: 2.8.1
- optionalDependencies:
- typescript: 4.9.5
-
react-intl@6.8.9(react@19.1.0)(typescript@5.8.3):
dependencies:
'@formatjs/ecma402-abstract': 2.2.4
@@ -15094,10 +14744,6 @@ snapshots:
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
- react@18.3.1:
- dependencies:
- loose-envify: 1.4.0
-
react@19.1.0: {}
read-babelrc-up@1.1.0:
@@ -15358,10 +15004,6 @@ snapshots:
safer-buffer@2.1.2: {}
- scheduler@0.23.2:
- dependencies:
- loose-envify: 1.4.0
-
scheduler@0.26.0: {}
schema-utils@2.7.1:
@@ -15677,13 +15319,6 @@ snapshots:
style-search@0.1.0: {}
- styled-jsx@5.1.1(@babel/core@7.26.10)(react@18.3.1):
- dependencies:
- client-only: 0.0.1
- react: 18.3.1
- optionalDependencies:
- '@babel/core': 7.26.10
-
styled-jsx@5.1.6(@babel/core@7.26.10)(react@19.1.0):
dependencies:
client-only: 0.0.1
@@ -16073,10 +15708,6 @@ snapshots:
dependencies:
react: 19.1.0
- use-sync-external-store@1.5.0(react@18.3.1):
- dependencies:
- react: 18.3.1
-
use-sync-external-store@1.5.0(react@19.1.0):
dependencies:
react: 19.1.0
@@ -16122,11 +15753,6 @@ snapshots:
dependencies:
makeerror: 1.0.12
- watchpack@2.4.0:
- dependencies:
- glob-to-regexp: 0.4.1
- graceful-fs: 4.2.11
-
web-streams-polyfill@3.3.3: {}
which-boxed-primitive@1.1.1:
@@ -16266,14 +15892,6 @@ snapshots:
zod@3.24.3: {}
- zustand@4.5.6(@types/react@19.1.2)(immer@9.0.21)(react@18.3.1):
- dependencies:
- use-sync-external-store: 1.5.0(react@18.3.1)
- optionalDependencies:
- '@types/react': 19.1.2
- immer: 9.0.21
- react: 18.3.1
-
zustand@4.5.6(@types/react@19.1.2)(immer@9.0.21)(react@19.1.0):
dependencies:
use-sync-external-store: 1.5.0(react@19.1.0)
@@ -16282,7 +15900,7 @@ snapshots:
immer: 9.0.21
react: 19.1.0
- zustand@5.0.3(@types/react@19.1.2)(immer@9.0.21)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0)):
+ zustand@5.0.4(@types/react@19.1.2)(immer@9.0.21)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0)):
optionalDependencies:
'@types/react': 19.1.2
immer: 9.0.21
diff --git a/src/app/(main)/websites/[websiteId]/WebsiteCompareTables.tsx b/src/app/(main)/websites/[websiteId]/WebsiteCompareTables.tsx
index 851e03ea..4f7fe310 100644
--- a/src/app/(main)/websites/[websiteId]/WebsiteCompareTables.tsx
+++ b/src/app/(main)/websites/[websiteId]/WebsiteCompareTables.tsx
@@ -1,4 +1,4 @@
-import { Grid, Heading, Column } from '@umami/react-zen';
+import { Grid, Heading, Column, Row } from '@umami/react-zen';
import { useDateRange, useMessages, useNavigation } from '@/components/hooks';
import { SideBar } from '@/components/common/SideBar';
import { BrowsersTable } from '@/components/metrics/BrowsersTable';
@@ -21,6 +21,7 @@ import { formatNumber } from '@/lib/format';
import { useState } from 'react';
import { useWebsites } from '@/store/websites';
import { Panel } from '@/components/common/Panel';
+import { DateDisplay } from '@/components/common/DateDisplay';
const views = {
url: PagesTable,
@@ -144,10 +145,13 @@ export function WebsiteCompareTables({ websiteId }: { websiteId: string }) {
return (
-
+
-
- {formatMessage(labels.previous)}
+
+
+ {formatMessage(labels.previous)}
+
+
- {formatMessage(labels.current)}
+
+ {formatMessage(labels.current)}
+
+
-
+
setTab(value)}>
{formatMessage(labels.activity)}
diff --git a/src/app/(main)/websites/[websiteId]/realtime/RealtimeUrls.tsx b/src/app/(main)/websites/[websiteId]/realtime/RealtimeUrls.tsx
index 0e130f3c..5149560b 100644
--- a/src/app/(main)/websites/[websiteId]/realtime/RealtimeUrls.tsx
+++ b/src/app/(main)/websites/[websiteId]/realtime/RealtimeUrls.tsx
@@ -1,4 +1,5 @@
-import { Key, useContext, useState } from 'react';
+import { useContext, useState } from 'react';
+import { Row } from '@umami/react-zen';
import thenby from 'thenby';
import { percentFilter } from '@/lib/filters';
import { ListTable } from '@/components/metrics/ListTable';
@@ -12,19 +13,17 @@ export function RealtimeUrls({ data }: { data: RealtimeData }) {
const website = useContext(WebsiteContext);
const { formatMessage, labels } = useMessages();
const { referrers, urls } = data || {};
- const [filter, setFilter] = useState(FILTER_REFERRERS);
+ const [filter, setFilter] = useState(FILTER_REFERRERS);
const limit = 15;
const buttons = [
{
- id: 1,
+ id: FILTER_REFERRERS,
label: formatMessage(labels.referrers),
- key: FILTER_REFERRERS,
},
{
- id: 2,
+ id: FILTER_PAGES,
label: formatMessage(labels.pages),
- key: FILTER_PAGES,
},
];
@@ -63,7 +62,9 @@ export function RealtimeUrls({ data }: { data: RealtimeData }) {
return (
<>
-
+
+
+
{filter === FILTER_REFERRERS && (
-
+
@@ -48,7 +48,7 @@ export function WebsiteRealtimePage({ websiteId }: { websiteId: string }) {
-
+
diff --git a/src/app/(main)/websites/[websiteId]/sessions/SessionsPage.tsx b/src/app/(main)/websites/[websiteId]/sessions/SessionsPage.tsx
index 0c16da3e..959072d0 100644
--- a/src/app/(main)/websites/[websiteId]/sessions/SessionsPage.tsx
+++ b/src/app/(main)/websites/[websiteId]/sessions/SessionsPage.tsx
@@ -29,7 +29,7 @@ export function SessionsPage({ websiteId }) {
-
+
setTab(value)}>
{formatMessage(labels.activity)}
diff --git a/src/components/charts/BarChart.tsx b/src/components/charts/BarChart.tsx
index bc4ac6d3..eda4fbc2 100644
--- a/src/components/charts/BarChart.tsx
+++ b/src/components/charts/BarChart.tsx
@@ -63,7 +63,7 @@ export function BarChart(props: BarChartProps) {
type: YAxisType,
min: 0,
beginAtZero: true,
- stacked,
+ stacked: !!stacked,
grid: {
color: colors.chart.line,
},
diff --git a/src/components/common/DateDisplay.tsx b/src/components/common/DateDisplay.tsx
new file mode 100644
index 00000000..444b49f8
--- /dev/null
+++ b/src/components/common/DateDisplay.tsx
@@ -0,0 +1,28 @@
+import { Icon, Row, Text } from '@umami/react-zen';
+import { differenceInDays, isSameDay } from 'date-fns';
+import { useLocale } from '@/components/hooks';
+import { Icons } from '@/components/icons';
+import { formatDate } from '@/lib/date';
+
+export function DateDisplay({ startDate, endDate }) {
+ const { locale } = useLocale();
+ const isSingleDate = differenceInDays(endDate, startDate) === 0;
+
+ return (
+
+
+
+
+
+ {isSingleDate ? (
+ <>{formatDate(startDate, 'PP', locale)}>
+ ) : (
+ <>
+ {formatDate(startDate, 'PP', locale)}
+ {!isSameDay(startDate, endDate) && ` — ${formatDate(endDate, 'PP', locale)}`}
+ >
+ )}
+
+
+ );
+}
diff --git a/src/components/common/FilterButtons.tsx b/src/components/common/FilterButtons.tsx
index 7f1f1a44..4340ad97 100644
--- a/src/components/common/FilterButtons.tsx
+++ b/src/components/common/FilterButtons.tsx
@@ -1,5 +1,5 @@
import { useState } from 'react';
-import { ToggleGroup, ToggleGroupItem } from '@umami/react-zen';
+import { ToggleGroup, ToggleGroupItem, Box } from '@umami/react-zen';
export interface FilterButtonsProps {
items: { id: string; label: string }[];
@@ -16,12 +16,18 @@ export function FilterButtons({ items, value, onChange }: FilterButtonsProps) {
};
return (
- handleChange(e[0])}>
- {items.map(({ id, label }) => (
-
- {label}
-
- ))}
-
+
+ handleChange(e[0])}
+ disallowEmptySelection={true}
+ >
+ {items.map(({ id, label }) => (
+
+ {label}
+
+ ))}
+
+
);
}
diff --git a/src/components/input/DateFilter.tsx b/src/components/input/DateFilter.tsx
index 9d36602d..27a8c7d3 100644
--- a/src/components/input/DateFilter.tsx
+++ b/src/components/input/DateFilter.tsx
@@ -1,10 +1,9 @@
import { useState, Key, Fragment } from 'react';
-import { Icon, Modal, Select, Text, Row, ListItem, ListSeparator, Dialog } from '@umami/react-zen';
-import { differenceInDays, endOfYear, isSameDay } from 'date-fns';
+import { Modal, Select, ListItem, ListSeparator, Dialog } from '@umami/react-zen';
+import { endOfYear } from 'date-fns';
import { DatePickerForm } from '@/components/metrics/DatePickerForm';
-import { useLocale, useMessages } from '@/components/hooks';
-import { Icons } from '@/components/icons';
-import { formatDate } from '@/lib/date';
+import { useMessages } from '@/components/hooks';
+import { DateDisplay } from '@/components/common/DateDisplay';
export interface DateFilterProps {
value: string;
@@ -94,11 +93,7 @@ export function DateFilter({
const renderValue = ({ defaultChildren }) => {
return value.startsWith('range') ? (
-
+
) : (
defaultChildren
);
@@ -139,25 +134,3 @@ export function DateFilter({
>
);
}
-
-export const CustomRange = ({ startDate, endDate, isSingleDate }) => {
- const { locale } = useLocale();
-
- return (
-
-
-
-
-
- {isSingleDate ? (
- <>{formatDate(startDate, 'PP', locale)}>
- ) : (
- <>
- {formatDate(startDate, 'PP', locale)}
- {!isSameDay(startDate, endDate) && ` — ${formatDate(endDate, 'PP', locale)}`}
- >
- )}
-
-
- );
-};
diff --git a/src/queries/sql/getRealtimeActivity.ts b/src/queries/sql/getRealtimeActivity.ts
index c2f58ad8..20411912 100644
--- a/src/queries/sql/getRealtimeActivity.ts
+++ b/src/queries/sql/getRealtimeActivity.ts
@@ -62,6 +62,6 @@ async function clickhouseQuery(websiteId: string, filters: QueryFilters): Promis
order by createdAt asc
limit 100
`,
- params,
+ { ...filters, ...params },
);
}