diff --git a/README.md b/README.md index 6d9755d4..33a5aac3 100644 --- a/README.md +++ b/README.md @@ -1,69 +1,93 @@ -# umami +
+ +
-Umami is a simple, fast, privacy-focused alternative to Google Analytics. ++ Umami is a simple, fast, privacy-focused alternative to Google Analytics. +
-A detailed getting started guide can be found at [https://umami.is/docs/](https://umami.is/docs/) + -## Installing from source +--- + +## 🚀 Getting Started + +A detailed getting started guide can be found at [umami.is/docs](https://umami.is/docs/). + +--- + +## 🛠 Installing from Source ### Requirements - A server with Node.js version 16.13 or newer -- A database. Umami supports [MySQL](https://www.mysql.com/) (minimum v8.0) and [Postgresql](https://www.postgresql.org/) (minimum v12.14) databases. +- A database. Umami supports [MySQL](https://www.mysql.com/) (minimum v8.0) and [PostgreSQL](https://www.postgresql.org/) (minimum v12.14) databases. ### Install Yarn -``` +```bash npm install -g yarn ``` -### Get the source code and install packages +### Get the Source Code and Install Packages -``` +```bash git clone https://github.com/umami-software/umami.git cd umami yarn install ``` -### Configure umami +### Configure Umami -Create an `.env` file with the following +Create an `.env` file with the following: -``` +```bash DATABASE_URL=connection-url ``` -The connection url is in the following format: +The connection URL format: -``` +```bash postgresql://username:mypassword@localhost:5432/mydb - mysql://username:mypassword@localhost:3306/mydb ``` -### Build the application +### Build the Application ```bash yarn build ``` -The build step will also create tables in your database if you are installing for the first time. It will also create a login user with username **admin** and password **umami**. +*The build step will create tables in your database if you are installing for the first time. It will also create a login user with username **admin** and password **umami**.* -### Start the application +### Start the Application ```bash yarn start ``` -By default this will launch the application on `http://localhost:3000`. You will need to either -[proxy](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/) requests from your web server -or change the [port](https://nextjs.org/docs/api-reference/cli#production) to serve the application directly. +*By default, this will launch the application on `http://localhost:3000`. You will need to either [proxy](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/) requests from your web server or change the [port](https://nextjs.org/docs/api-reference/cli#production) to serve the application directly.* -## Installing with Docker +--- -To build the umami container and start up a Postgres database, run: +## 🐳 Installing with Docker + +To build the Umami container and start up a Postgres database, run: ```bash docker compose up -d @@ -81,7 +105,9 @@ Or with MySQL support: docker pull docker.umami.is/umami-software/umami:mysql-latest ``` -## Getting updates +--- + +## 🔄 Getting Updates To get the latest features, simply do a pull, install any new dependencies, and rebuild: @@ -98,7 +124,36 @@ docker compose pull docker compose up --force-recreate ``` -## License +--- -MIT +## 🛟 Support + + +[release-shield]: https://img.shields.io/github/release/umami-software/umami.svg +[releases-url]: https://github.com/umami-software/umami/releases +[license-shield]: https://img.shields.io/github/license/umami-software/umami.svg +[license-url]: https://github.com/umami-software/umami/blob/master/LICENSE +[build-shield]: https://img.shields.io/github/actions/workflow/status/umami-software/umami/ci.yml +[build-url]: https://github.com/umami-software/umami/actions +[github-shield]: https://img.shields.io/badge/GitHub--blue?style=social&logo=github +[github-url]: https://github.com/umami-software/umami +[twitter-shield]: https://img.shields.io/badge/Twitter--blue?style=social&logo=twitter +[twitter-url]: https://twitter.com/umami_software +[linkedin-shield]: https://img.shields.io/badge/LinkedIn--blue?style=social&logo=linkedin +[linkedin-url]: https://linkedin.com/company/umami-software +[discord-shield]: https://img.shields.io/badge/Discord--blue?style=social&logo=discord +[discord-url]: https://discord.com/invite/4dz4zcXYrQ diff --git a/package.json b/package.json index be5bb5ac..7f5c7c48 100644 --- a/package.json +++ b/package.json @@ -64,9 +64,9 @@ ".next/cache" ], "dependencies": { - "@clickhouse/client": "^1.0.1", + "@clickhouse/client": "^1.0.2", "@fontsource/inter": "^4.5.15", - "@prisma/client": "5.13.0", + "@prisma/client": "5.14.0", "@prisma/extension-read-replicas": "^0.3.0", "@react-spring/web": "^9.7.3", "@tanstack/react-query": "^5.28.6", @@ -102,7 +102,7 @@ "next-basics": "^0.39.0", "node-fetch": "^3.2.8", "npm-run-all": "^4.1.5", - "prisma": "5.13.0", + "prisma": "5.14.0", "react": "^18.2.0", "react-basics": "^0.123.0", "react-beautiful-dnd": "^13.1.0", diff --git a/public/intl/messages/am-ET.json b/public/intl/messages/am-ET.json index 931935a2..a3b652bb 100644 --- a/public/intl/messages/am-ET.json +++ b/public/intl/messages/am-ET.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Average visit time" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Visit duration" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/ar-SA.json b/public/intl/messages/ar-SA.json index 300d3e1a..15f9647c 100644 --- a/public/intl/messages/ar-SA.json +++ b/public/intl/messages/ar-SA.json @@ -83,12 +83,6 @@ "value": "المتوسط" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "متوسط وقت الزيارة" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "متوسط وقت الزيارة" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/be-BY.json b/public/intl/messages/be-BY.json index 4b8c964f..22557a24 100644 --- a/public/intl/messages/be-BY.json +++ b/public/intl/messages/be-BY.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Сярэдняя даўжыня наведвання" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Сярэдняя даўжыня наведвання" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/bn-BD.json b/public/intl/messages/bn-BD.json index 05de48d2..81661e3b 100644 --- a/public/intl/messages/bn-BD.json +++ b/public/intl/messages/bn-BD.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "গড় পরিদর্শনের সময়" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "গড় পরিদর্শনের সময়" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/bs-BA.json b/public/intl/messages/bs-BA.json index 1360efab..314e689e 100644 --- a/public/intl/messages/bs-BA.json +++ b/public/intl/messages/bs-BA.json @@ -83,12 +83,6 @@ "value": "Prosjek" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Prosječno vrijeme posjete" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Pregledi po posjeti" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Prosječno vrijeme posjete" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/ca-ES.json b/public/intl/messages/ca-ES.json index e6cb4c5e..911dd04b 100644 --- a/public/intl/messages/ca-ES.json +++ b/public/intl/messages/ca-ES.json @@ -83,12 +83,6 @@ "value": "Mitjana" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Temps mitjà de visita" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Temps mitjà de visita" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/cs-CZ.json b/public/intl/messages/cs-CZ.json index f87ddeda..c329fa58 100644 --- a/public/intl/messages/cs-CZ.json +++ b/public/intl/messages/cs-CZ.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Průměrný čas návštěvy" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Průměrný čas návštěvy" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/da-DK.json b/public/intl/messages/da-DK.json index 332b98e8..c242aaf3 100644 --- a/public/intl/messages/da-DK.json +++ b/public/intl/messages/da-DK.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Gennemsnitlig besøgstid" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Gennemsnitlig besøgstid" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/de-CH.json b/public/intl/messages/de-CH.json index 9b913cea..69c48a1f 100644 --- a/public/intl/messages/de-CH.json +++ b/public/intl/messages/de-CH.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Durchschn. Bsuechsziit" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Durchschn. Bsuechsziit" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/de-DE.json b/public/intl/messages/de-DE.json index 9a21c400..2faf7770 100644 --- a/public/intl/messages/de-DE.json +++ b/public/intl/messages/de-DE.json @@ -83,12 +83,6 @@ "value": "Durchschnitt" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Durchschn. Besuchszeit" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Durchschn. Besuchszeit" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/el-GR.json b/public/intl/messages/el-GR.json index 7c58f14c..5c39e267 100644 --- a/public/intl/messages/el-GR.json +++ b/public/intl/messages/el-GR.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Μέσος χρόνος επίσκεψης" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Μέσος χρόνος επίσκεψης" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/en-GB.json b/public/intl/messages/en-GB.json index 43c9019e..b7beda36 100644 --- a/public/intl/messages/en-GB.json +++ b/public/intl/messages/en-GB.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Average visit time" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Visit duration" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/en-US.json b/public/intl/messages/en-US.json index 1cb11f91..42f3bbd9 100644 --- a/public/intl/messages/en-US.json +++ b/public/intl/messages/en-US.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Average visit time" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Visit duration" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/es-ES.json b/public/intl/messages/es-ES.json index 32b34940..be0835ae 100644 --- a/public/intl/messages/es-ES.json +++ b/public/intl/messages/es-ES.json @@ -83,12 +83,6 @@ "value": "Media" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Tiempo promedio de visita" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Tiempo promedio de visita" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/es-MX.json b/public/intl/messages/es-MX.json index c3ef099d..8051cde5 100644 --- a/public/intl/messages/es-MX.json +++ b/public/intl/messages/es-MX.json @@ -71,7 +71,7 @@ "value": "Average" } ], - "label.average-visit-time": [ + "label.visit-duration": [ { "type": 0, "value": "Tiempo promedio de visita" diff --git a/public/intl/messages/fa-IR.json b/public/intl/messages/fa-IR.json index 8c894c6a..cc0e81c0 100644 --- a/public/intl/messages/fa-IR.json +++ b/public/intl/messages/fa-IR.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "میانگین زمان بازدید" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "میانگین زمان بازدید" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/fi-FI.json b/public/intl/messages/fi-FI.json index f855dba3..13a597f4 100644 --- a/public/intl/messages/fi-FI.json +++ b/public/intl/messages/fi-FI.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Keskimääräinen vierailuaika" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Keskimääräinen vierailuaika" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/fo-FO.json b/public/intl/messages/fo-FO.json index be7442eb..b3d62589 100644 --- a/public/intl/messages/fo-FO.json +++ b/public/intl/messages/fo-FO.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Miðal vitjurnartíð " - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Miðal vitjurnartíð " + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/fr-FR.json b/public/intl/messages/fr-FR.json index e33b7bf2..4e5f3ed5 100644 --- a/public/intl/messages/fr-FR.json +++ b/public/intl/messages/fr-FR.json @@ -83,12 +83,6 @@ "value": "Moyenne" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Temps de visite moyen" - } - ], "label.back": [ { "type": 0, @@ -1237,6 +1231,12 @@ "value": "Vues par visite" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Temps de visite moyen" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/ga-ES.json b/public/intl/messages/ga-ES.json index 4bc03ce0..1ce652f9 100644 --- a/public/intl/messages/ga-ES.json +++ b/public/intl/messages/ga-ES.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Tempo medio de visita" - } - ], "label.back": [ { "type": 0, @@ -1257,6 +1251,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Tempo medio de visita" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/he-IL.json b/public/intl/messages/he-IL.json index 92aef8a0..af8a6fb1 100644 --- a/public/intl/messages/he-IL.json +++ b/public/intl/messages/he-IL.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "זמן ביקור ממוצע" - } - ], "label.back": [ { "type": 0, @@ -1241,6 +1235,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "זמן ביקור ממוצע" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/hi-IN.json b/public/intl/messages/hi-IN.json index ec463181..e4c8a2ba 100644 --- a/public/intl/messages/hi-IN.json +++ b/public/intl/messages/hi-IN.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "औसत दृश्य समय" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "औसत दृश्य समय" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/hr-HR.json b/public/intl/messages/hr-HR.json index 032456f8..9933e840 100644 --- a/public/intl/messages/hr-HR.json +++ b/public/intl/messages/hr-HR.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Average visit time" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Visit duration" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/hu-HU.json b/public/intl/messages/hu-HU.json index 08fd319a..3fccf7a7 100644 --- a/public/intl/messages/hu-HU.json +++ b/public/intl/messages/hu-HU.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Átlagos látogatási idő" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Átlagos látogatási idő" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/id-ID.json b/public/intl/messages/id-ID.json index 8898f1ec..7dfe2e2f 100644 --- a/public/intl/messages/id-ID.json +++ b/public/intl/messages/id-ID.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Waktu kunjungan rata-rata" - } - ], "label.back": [ { "type": 0, @@ -1241,6 +1235,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Waktu kunjungan rata-rata" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/it-IT.json b/public/intl/messages/it-IT.json index 471cf31f..d1568bae 100644 --- a/public/intl/messages/it-IT.json +++ b/public/intl/messages/it-IT.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Tempo medio di visita" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Tempo medio di visita" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/ja-JP.json b/public/intl/messages/ja-JP.json index ed869857..55c3cae0 100644 --- a/public/intl/messages/ja-JP.json +++ b/public/intl/messages/ja-JP.json @@ -83,12 +83,6 @@ "value": "平均" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "平均滞在時間" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "平均滞在時間" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/km-KH.json b/public/intl/messages/km-KH.json index 63ad4841..7ddac468 100644 --- a/public/intl/messages/km-KH.json +++ b/public/intl/messages/km-KH.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "មើលជាមធ្យម" - } - ], "label.back": [ { "type": 0, @@ -1241,6 +1235,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "មើលជាមធ្យម" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/ko-KR.json b/public/intl/messages/ko-KR.json index e9fc0c0d..48dfbb3b 100644 --- a/public/intl/messages/ko-KR.json +++ b/public/intl/messages/ko-KR.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "평균 방문 시간" - } - ], "label.back": [ { "type": 0, @@ -1253,6 +1247,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "평균 방문 시간" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/lt-LT.json b/public/intl/messages/lt-LT.json index 261e2f94..727e0c51 100644 --- a/public/intl/messages/lt-LT.json +++ b/public/intl/messages/lt-LT.json @@ -83,12 +83,6 @@ "value": "Vidurkis" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Vidutinė vizito trukmė" - } - ], "label.back": [ { "type": 0, @@ -1354,6 +1348,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Vidutinė vizito trukmė" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/mn-MN.json b/public/intl/messages/mn-MN.json index 48334902..484b6752 100644 --- a/public/intl/messages/mn-MN.json +++ b/public/intl/messages/mn-MN.json @@ -83,12 +83,6 @@ "value": "Дундаж" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Зочилсон дундаж хугацаа" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Зочилсон дундаж хугацаа" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/ms-MY.json b/public/intl/messages/ms-MY.json index 58034742..7d9b8369 100644 --- a/public/intl/messages/ms-MY.json +++ b/public/intl/messages/ms-MY.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Purata tempoh masa lawatan" - } - ], "label.back": [ { "type": 0, @@ -1241,6 +1235,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Purata tempoh masa lawatan" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/my-MM.json b/public/intl/messages/my-MM.json index 18c1a2b9..f56429aa 100644 --- a/public/intl/messages/my-MM.json +++ b/public/intl/messages/my-MM.json @@ -83,12 +83,6 @@ "value": "ပျမ်းမျှ" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "ဝဘက်ဘ်ဆိုဒ်တွင် ပျမ်းမျှကုန်ဆုံးချိန်" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "ဝဘက်ဘ်ဆိုဒ်တွင် ပျမ်းမျှကုန်ဆုံးချိန်" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/nb-NO.json b/public/intl/messages/nb-NO.json index 2f7132ef..7b110ee4 100644 --- a/public/intl/messages/nb-NO.json +++ b/public/intl/messages/nb-NO.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Gjennomsnittlig besøkstid" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Gjennomsnittlig besøkstid" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/nl-NL.json b/public/intl/messages/nl-NL.json index c0a3add4..5b0cfdbf 100644 --- a/public/intl/messages/nl-NL.json +++ b/public/intl/messages/nl-NL.json @@ -83,12 +83,6 @@ "value": "Gemiddelde" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Gemiddelde bezoektijd" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Gemiddelde bezoektijd" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/pl-PL.json b/public/intl/messages/pl-PL.json index 547a70a9..4a5a41ee 100644 --- a/public/intl/messages/pl-PL.json +++ b/public/intl/messages/pl-PL.json @@ -83,12 +83,6 @@ "value": "Średnia" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Średni czas wizyty" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Średni czas wizyty" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/pt-BR.json b/public/intl/messages/pt-BR.json index 7c41e5ef..6e3bb03e 100644 --- a/public/intl/messages/pt-BR.json +++ b/public/intl/messages/pt-BR.json @@ -83,12 +83,6 @@ "value": "Média" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Tempo médio de visita" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Visualizações por visita" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Tempo médio de visita" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/pt-PT.json b/public/intl/messages/pt-PT.json index 3e16a55e..1b19e8d3 100644 --- a/public/intl/messages/pt-PT.json +++ b/public/intl/messages/pt-PT.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Tempo médio de visita" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Tempo médio de visita" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/ro-RO.json b/public/intl/messages/ro-RO.json index da1413f6..6a0b77fe 100644 --- a/public/intl/messages/ro-RO.json +++ b/public/intl/messages/ro-RO.json @@ -83,12 +83,6 @@ "value": "Mediu" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Timp mediu de vizitare" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Timp mediu de vizitare" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/ru-RU.json b/public/intl/messages/ru-RU.json index 4b97f225..4f851f46 100644 --- a/public/intl/messages/ru-RU.json +++ b/public/intl/messages/ru-RU.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Среднее время посещения" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Среднее время посещения" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/si-LK.json b/public/intl/messages/si-LK.json index 67e32f90..749d830b 100644 --- a/public/intl/messages/si-LK.json +++ b/public/intl/messages/si-LK.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Average visit time" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Visit duration" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/sk-SK.json b/public/intl/messages/sk-SK.json index f4e8a5e4..ff9d4e65 100644 --- a/public/intl/messages/sk-SK.json +++ b/public/intl/messages/sk-SK.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Priemerný čas návštevy" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Priemerný čas návštevy" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/sl-SI.json b/public/intl/messages/sl-SI.json index e96723ae..b2091166 100644 --- a/public/intl/messages/sl-SI.json +++ b/public/intl/messages/sl-SI.json @@ -83,12 +83,6 @@ "value": "Povprečno" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Povprečni čas obiska" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Povprečni čas obiska" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/sv-SE.json b/public/intl/messages/sv-SE.json index 45dc754d..28992e10 100644 --- a/public/intl/messages/sv-SE.json +++ b/public/intl/messages/sv-SE.json @@ -83,12 +83,6 @@ "value": "Genomsnitt" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Genomsnittlig besökstid" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Genomsnittlig besökstid" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/ta-IN.json b/public/intl/messages/ta-IN.json index b1fcd700..70d7b87e 100644 --- a/public/intl/messages/ta-IN.json +++ b/public/intl/messages/ta-IN.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "சராசரி வருகை நேரம்" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "சராசரி வருகை நேரம்" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/th-TH.json b/public/intl/messages/th-TH.json index 1206840b..351d30f8 100644 --- a/public/intl/messages/th-TH.json +++ b/public/intl/messages/th-TH.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "ระยะเวลาเข้าชมเฉลี่ย" - } - ], "label.back": [ { "type": 0, @@ -1241,6 +1235,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "ระยะเวลาเข้าชมเฉลี่ย" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/tr-TR.json b/public/intl/messages/tr-TR.json index 22442612..c0caf470 100644 --- a/public/intl/messages/tr-TR.json +++ b/public/intl/messages/tr-TR.json @@ -83,12 +83,6 @@ "value": "Ortalama" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Ortalama ziyaret süresi" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Ziyaret başına görüntüleme" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Ortalama ziyaret süresi" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/uk-UA.json b/public/intl/messages/uk-UA.json index ae947f9a..4d693756 100644 --- a/public/intl/messages/uk-UA.json +++ b/public/intl/messages/uk-UA.json @@ -83,12 +83,6 @@ "value": "Середнє" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Середній час візиту" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Перегляди за візит" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Середній час візиту" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/ur-PK.json b/public/intl/messages/ur-PK.json index 184043b4..0316d299 100644 --- a/public/intl/messages/ur-PK.json +++ b/public/intl/messages/ur-PK.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "وزٹ کا اوسط وقت" - } - ], "label.back": [ { "type": 0, @@ -1249,6 +1243,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "وزٹ کا اوسط وقت" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/vi-VN.json b/public/intl/messages/vi-VN.json index fe5943ac..0cc0c183 100644 --- a/public/intl/messages/vi-VN.json +++ b/public/intl/messages/vi-VN.json @@ -83,12 +83,6 @@ "value": "Average" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "Thời gian truy cập trung bình" - } - ], "label.back": [ { "type": 0, @@ -1241,6 +1235,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "Thời gian truy cập trung bình" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/zh-CN.json b/public/intl/messages/zh-CN.json index 144b4f17..e4240022 100644 --- a/public/intl/messages/zh-CN.json +++ b/public/intl/messages/zh-CN.json @@ -83,12 +83,6 @@ "value": "平均" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "平均访问时间" - } - ], "label.back": [ { "type": 0, @@ -1257,6 +1251,12 @@ "value": "每次访问的浏览量" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "平均访问时间" + } + ], "label.visitors": [ { "type": 0, diff --git a/public/intl/messages/zh-TW.json b/public/intl/messages/zh-TW.json index e703beb9..a39aea19 100644 --- a/public/intl/messages/zh-TW.json +++ b/public/intl/messages/zh-TW.json @@ -83,12 +83,6 @@ "value": "平均" } ], - "label.average-visit-time": [ - { - "type": 0, - "value": "平均造訪時間" - } - ], "label.back": [ { "type": 0, @@ -1253,6 +1247,12 @@ "value": "Views per visit" } ], + "label.visit-duration": [ + { + "type": 0, + "value": "平均造訪時間" + } + ], "label.visitors": [ { "type": 0, diff --git a/src/app/(main)/profile/DateRangeSetting.tsx b/src/app/(main)/profile/DateRangeSetting.tsx index c57a209a..25b5afbd 100644 --- a/src/app/(main)/profile/DateRangeSetting.tsx +++ b/src/app/(main)/profile/DateRangeSetting.tsx @@ -7,11 +7,11 @@ import styles from './DateRangeSetting.module.css'; export function DateRangeSetting() { const { formatMessage, labels } = useMessages(); - const [dateRange, setDateRange] = useDateRange(); + const { dateRange, saveDateRange } = useDateRange(); const { value } = dateRange; - const handleChange = (value: string | DateRange) => setDateRange(value); - const handleReset = () => setDateRange(DEFAULT_DATE_RANGE); + const handleChange = (value: string | DateRange) => saveDateRange(value); + const handleReset = () => saveDateRange(DEFAULT_DATE_RANGE); return (