diff --git a/Makefile b/Makefile index 4ab1471b4..89a21813a 100644 --- a/Makefile +++ b/Makefile @@ -68,8 +68,8 @@ release-version: .env docker-compose.yml: base.yml $(DEPLOY_ENVIRONMENT).yml config.mk $(DB_DATA_PATH) $(DATA_DUMP_PATH) $(LOG_DATA_PATH) $(DYNAMIC_SETTINGS_PATH) secrets $(PGPASS_PATH) release-version case "$(DEPLOY_ENVIRONMENT)" in \ - dev|staging|prod) docker compose -f base.yml -f "$(DEPLOY_ENVIRONMENT).yml" config > docker-compose.yml;; \ - *) echo "invalid environment. must be either dev, staging or prod" 1>&2; exit 1;; \ + dev|staging|prod|learn) docker compose -f base.yml -f "$(DEPLOY_ENVIRONMENT).yml" config > docker-compose.yml;; \ + *) echo "invalid environment. must be either dev, staging, prod, or learn" 1>&2; exit 1;; \ esac .PHONY: build diff --git a/client/package-lock.json b/client/package-lock.json index 9b791fb2f..442e300b8 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -17,6 +17,7 @@ "bootstrap": "^4.5.3", "bootstrap-vue": "^2.21.2", "calendar-link": "^2.0.8", + "chart.js": "^4.4.4", "colyseus.js": "^0.14.12", "howler": "^2.2.3", "jquery": "^3.5.1", @@ -25,6 +26,7 @@ "popper.js": "^1.16.0", "vue": "2.7", "vue-carousel-3d": "^1.0.1", + "vue-chartjs": "^5.3.1", "vue-class-component": "^7.2.6", "vue-gtag": "^1.16.1", "vue-meta": "^2.4.0", @@ -846,6 +848,11 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@kurkle/color": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz", + "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==" + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -2526,6 +2533,17 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/chart.js": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.4.tgz", + "integrity": "sha512-emICKGBABnxhMjUjlYRR12PmOXhJ2eJjEHL2/dZlWjxRAZT1D8xplLFq5M0tMQK8ja+wBS/tuVEJB5C6r7VxJA==", + "dependencies": { + "@kurkle/color": "^0.3.0" + }, + "engines": { + "pnpm": ">=8" + } + }, "node_modules/check-error": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", @@ -7258,6 +7276,15 @@ "vue": "^2.6.11" } }, + "node_modules/vue-chartjs": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/vue-chartjs/-/vue-chartjs-5.3.1.tgz", + "integrity": "sha512-rZjqcHBxKiHrBl0CIvcOlVEBwRhpWAVf6rDU3vUfa7HuSRmGtCslc0Oc8m16oAVuk0erzc1FCtH1VCriHsrz+A==", + "peerDependencies": { + "chart.js": "^4.1.1", + "vue": "^3.0.0-0 || ^2.7.0" + } + }, "node_modules/vue-class-component": { "version": "7.2.6", "resolved": "https://registry.npmjs.org/vue-class-component/-/vue-class-component-7.2.6.tgz", diff --git a/client/package.json b/client/package.json index c8d4ed751..5a60ac978 100644 --- a/client/package.json +++ b/client/package.json @@ -24,6 +24,7 @@ "bootstrap": "^4.5.3", "bootstrap-vue": "^2.21.2", "calendar-link": "^2.0.8", + "chart.js": "^4.4.4", "colyseus.js": "^0.14.12", "howler": "^2.2.3", "jquery": "^3.5.1", @@ -32,6 +33,7 @@ "popper.js": "^1.16.0", "vue": "2.7", "vue-carousel-3d": "^1.0.1", + "vue-chartjs": "^5.3.1", "vue-class-component": "^7.2.6", "vue-gtag": "^1.16.1", "vue-meta": "^2.4.0", diff --git a/client/src/App.vue b/client/src/App.vue index 2d95996b8..ed2ce77dd 100644 --- a/client/src/App.vue +++ b/client/src/App.vue @@ -1,7 +1,10 @@