diff --git a/.gitignore b/.gitignore index 54b9dc5..95fba5f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /node_modules/ /dist/ /.idea/ -*.env \ No newline at end of file +*.env +/src/generated-types \ No newline at end of file diff --git a/package.json b/package.json index c745c07..f764580 100644 --- a/package.json +++ b/package.json @@ -29,8 +29,14 @@ "@iconify-json/svg-spinners": "^1.1.2", "@unhead/vue": "^1.9.10", "@vueuse/core": "^10.9.0", + "chart.js": "^4.4.3", + "chartjs-adapter-date-fns": "^3.0.0", + "date-fns": "^3.6.0", "lodash-es": "^4.17.21", + "nanoid": "^5.0.7", + "temporal-polyfill": "^0.2.4", "vue": "^3.4.27", + "vue-chartjs": "^5.3.1", "vue-router": "^4.3.2" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6715d86..5abc112 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,12 +26,30 @@ importers: '@vueuse/core': specifier: ^10.9.0 version: 10.9.0(vue@3.4.27(typescript@5.4.5)) + chart.js: + specifier: ^4.4.3 + version: 4.4.3 + chartjs-adapter-date-fns: + specifier: ^3.0.0 + version: 3.0.0(chart.js@4.4.3)(date-fns@3.6.0) + date-fns: + specifier: ^3.6.0 + version: 3.6.0 lodash-es: specifier: ^4.17.21 version: 4.17.21 + nanoid: + specifier: ^5.0.7 + version: 5.0.7 + temporal-polyfill: + specifier: ^0.2.4 + version: 0.2.4 vue: specifier: ^3.4.27 version: 3.4.27(typescript@5.4.5) + vue-chartjs: + specifier: ^5.3.1 + version: 5.3.1(chart.js@4.4.3)(vue@3.4.27(typescript@5.4.5)) vue-router: specifier: ^4.3.2 version: 4.3.2(vue@3.4.27(typescript@5.4.5)) @@ -418,6 +436,9 @@ packages: resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==} engines: {node: '>=10'} + '@kurkle/color@0.3.2': + resolution: {integrity: sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -742,6 +763,16 @@ packages: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} + chart.js@4.4.3: + resolution: {integrity: sha512-qK1gkGSRYcJzqrrzdR6a+I0vQ4/R+SoODXyAjscQ/4mzuNzySaMCd+hyVxitSY1+L2fjPD1Gbn+ibNqRmwQeLw==} + engines: {pnpm: '>=8'} + + chartjs-adapter-date-fns@3.0.0: + resolution: {integrity: sha512-Rs3iEB3Q5pJ973J93OBTpnP7qoGwvq3nUnoMdtxO+9aoJof7UFcRbWcIDteXuYd1fgAvct/32T9qaLyLuZVwCg==} + peerDependencies: + chart.js: '>=2.8.0' + date-fns: '>=2.0.0' + chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} @@ -776,6 +807,9 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + date-fns@3.6.0: + resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==} + debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -976,6 +1010,11 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nanoid@5.0.7: + resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==} + engines: {node: ^18 || >=20} + hasBin: true + node-fetch-native@1.6.4: resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} @@ -1095,6 +1134,12 @@ packages: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} + temporal-polyfill@0.2.4: + resolution: {integrity: sha512-WA5p0CjQTkMjF9m8sP4wSYgpqI8m2d4q7wPUyaJOWhy4bI9mReLb2yGvTV4qf/DPMTe6H6M/Dig5KmTMB7ev6Q==} + + temporal-spec@0.2.4: + resolution: {integrity: sha512-lDMFv4nKQrSjlkHKAlHVqKrBG4DyFfa9F74cmBZ3Iy3ed8yvWnlWSIdi4IKfSqwmazAohBNwiN64qGx4y5Q3IQ==} + to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -1210,6 +1255,12 @@ packages: terser: optional: true + vue-chartjs@5.3.1: + resolution: {integrity: sha512-rZjqcHBxKiHrBl0CIvcOlVEBwRhpWAVf6rDU3vUfa7HuSRmGtCslc0Oc8m16oAVuk0erzc1FCtH1VCriHsrz+A==} + peerDependencies: + chart.js: ^4.1.1 + vue: ^3.0.0-0 || ^2.7.0 + vue-demi@0.14.7: resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} engines: {node: '>=12'} @@ -1601,6 +1652,8 @@ snapshots: string-argv: 0.3.2 type-detect: 4.0.8 + '@kurkle/color@0.3.2': {} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -1998,6 +2051,15 @@ snapshots: escape-string-regexp: 1.0.5 supports-color: 5.5.0 + chart.js@4.4.3: + dependencies: + '@kurkle/color': 0.3.2 + + chartjs-adapter-date-fns@3.0.0(chart.js@4.4.3)(date-fns@3.6.0): + dependencies: + chart.js: 4.4.3 + date-fns: 3.6.0 + chokidar@3.6.0: dependencies: anymatch: 3.1.3 @@ -2037,6 +2099,8 @@ snapshots: csstype@3.1.3: {} + date-fns@3.6.0: {} + debug@4.3.4: dependencies: ms: 2.1.2 @@ -2218,6 +2282,8 @@ snapshots: nanoid@3.3.7: {} + nanoid@5.0.7: {} + node-fetch-native@1.6.4: {} node-releases@2.0.14: {} @@ -2338,6 +2404,12 @@ snapshots: dependencies: has-flag: 3.0.0 + temporal-polyfill@0.2.4: + dependencies: + temporal-spec: 0.2.4 + + temporal-spec@0.2.4: {} + to-fast-properties@2.0.0: {} to-regex-range@5.0.1: @@ -2456,6 +2528,11 @@ snapshots: fsevents: 2.3.3 sass: 1.77.2 + vue-chartjs@5.3.1(chart.js@4.4.3)(vue@3.4.27(typescript@5.4.5)): + dependencies: + chart.js: 4.4.3 + vue: 3.4.27(typescript@5.4.5) + vue-demi@0.14.7(vue@3.4.27(typescript@5.4.5)): dependencies: vue: 3.4.27(typescript@5.4.5) diff --git a/src/App.vue b/src/App.vue index a9cfa11..5065035 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,6 +1,7 @@