From add1d377d21a1a9ddf2b433a2c0b626f42e40598 Mon Sep 17 00:00:00 2001 From: Florin Zarafu <48326563+FlorinZarafu@users.noreply.github.com> Date: Mon, 3 Jul 2023 09:47:01 +0300 Subject: [PATCH] Added donor pages, started evolution page (#71) --- app/Http/Controllers/DonorController.php | 150 ++++ app/Http/Controllers/EvolutionController.php | 78 ++ package-lock.json | 676 ++++++++++++++++++ package.json | 2 + public/images/badges/donor.png | Bin 0 -> 15299 bytes public/images/badges/long_race.png | Bin 0 -> 10652 bytes public/images/badges/month_volunteer.png | Bin 0 -> 12605 bytes public/images/badges/multiple_donor.png | Bin 0 -> 11772 bytes public/images/badges/subscriber.png | Bin 0 -> 13408 bytes public/images/badges/supporter.png | Bin 0 -> 12098 bytes public/images/badges/top_donor.png | Bin 0 -> 11772 bytes public/images/svg/check.svg | 3 + resources/js/Components/Navbar.vue | 30 +- resources/js/Components/charts/AppChart.vue | 96 +++ resources/js/Components/charts/LineChart.vue | 102 +++ .../js/Components/charts/ProjectsChart.vue | 96 +++ .../js/Components/charts/TimeEvolution.vue | 96 +++ resources/js/Pages/Donor/Dashboard.vue | 91 +++ resources/js/Pages/Donor/Donations.vue | 44 ++ resources/js/Pages/Public/Donor/ThankYou.vue | 67 +- .../js/Pages/Public/Evolution/Evolution.vue | 30 + resources/js/locales/ro.js | 31 + routes/donor.php | 16 + routes/evolution.php | 10 + routes/web.php | 5 + 25 files changed, 1610 insertions(+), 13 deletions(-) create mode 100644 app/Http/Controllers/DonorController.php create mode 100644 app/Http/Controllers/EvolutionController.php create mode 100644 public/images/badges/donor.png create mode 100644 public/images/badges/long_race.png create mode 100644 public/images/badges/month_volunteer.png create mode 100644 public/images/badges/multiple_donor.png create mode 100644 public/images/badges/subscriber.png create mode 100644 public/images/badges/supporter.png create mode 100644 public/images/badges/top_donor.png create mode 100644 public/images/svg/check.svg create mode 100644 resources/js/Components/charts/AppChart.vue create mode 100644 resources/js/Components/charts/LineChart.vue create mode 100644 resources/js/Components/charts/ProjectsChart.vue create mode 100644 resources/js/Components/charts/TimeEvolution.vue create mode 100644 resources/js/Pages/Donor/Dashboard.vue create mode 100644 resources/js/Pages/Donor/Donations.vue create mode 100644 resources/js/Pages/Public/Evolution/Evolution.vue create mode 100644 routes/donor.php create mode 100644 routes/evolution.php diff --git a/app/Http/Controllers/DonorController.php b/app/Http/Controllers/DonorController.php new file mode 100644 index 00000000..8be3c4c9 --- /dev/null +++ b/app/Http/Controllers/DonorController.php @@ -0,0 +1,150 @@ + + '

Mulțumim că ești alături de noi. Prin participarea ta activă la această inițiativă, ne arăți că ești preocupat de problemele sociale și că vrei să faci o diferență pozitivă în lumea în care trăim, iar contribuția ta este extrem de valoroasă.

+

Prin distribuirea informațiilor despre proiectele de pe Bursa Binelui și încurajând prietenii și familia să se alăture, devii un promotor important al inițiativei noastre.

+

Fiecare pas pe care îl facem împreună contează și, împreună, putem face o diferență semnificativă.

', + 'donations_place' => '5%', + 'donations_status' => [ + 'Ai donat către mai mult de 5 organizații', + 'Volunariezi la 3 organizații', + 'Ești abonat la newsletterul de bine', + 'Ai distribuit de multiple ori informații utile' + ], + ]; + + $badges = [ + [ + 'name' => 'multiple_donor', + 'title' => 'multiple_donor_title', + 'description' => 'multiple_donor_description' + ], + [ + 'name' => 'subscriber', + 'title' => 'subscriber_donor_title', + 'description' => 'subscriber_donor_description' + ], + [ + 'name' => 'long_race', + 'title' => 'long_race_title', + 'description' => 'long_race_description' + ], + [ + 'name' => 'supporter', + 'title' => 'supporter_donor_title', + 'description' => 'supporter_donor_description' + ], + [ + 'name' => 'month_volunteer', + 'title' => 'month_volunteer_title', + 'description' => 'month_volunteer_description' + ], + [ + 'name' => 'top_donor', + 'title' => 'top_donor_title', + 'description' => 'top_donor_description' + ], + [ + 'name' => 'donor', + 'title' => 'recurent_donor_title', + 'description' => 'recurent_donor_description' + ] + ]; + + return Inertia::render('Donor/Dashboard', [ + 'profile' => $profile, + 'badges' => $badges + ]); + } + + public function donations() + { + $donations = [ + "current_page" => 2, + "data" => [ + [ + 'id' => 1, + 'organization' => 'Asociația Un Zâmbet pentru copilul tău', + 'project' => 'Zambet pentru copiii noștri', + 'created_at' => '12.08.2022', + 'amount' => '300' + ], + [ + 'id' => 2, + 'organization' => 'Asociația Un Zâmbet pentru copilul tău', + 'project' => 'Zambet pentru copiii noștri', + 'created_at' => '12.08.2022', + 'amount' => '300' + ], + + [ + 'id' => 3, + 'organization' => 'Asociația Un Zâmbet pentru copilul tău', + 'project' => 'Zambet pentru copiii noștri', + 'created_at' => '12.08.2022', + 'amount' => '300' + ], + [ + 'id' => 4, + 'organization' => 'Asociația Un Zâmbet pentru copilul tău', + 'project' => 'Zambet pentru copiii noștri', + 'created_at' => '12.08.2022', + 'amount' => '300' + ] + ], + "first_page_url" => "http=>//bursabinelui.test/proiecte?page=1", + "from"=> 1, + "last_page"=> 2, + "last_page_url"=> "http://bursabinelui.test/proiecte?page=2", + "links"=> [ + [ + "url"=> "http://bursabinelui.test/proiecte?page=1", + "label"=> "1", + "active"=> true + ], + [ + "url"=> "http://bursabinelui.test/proiecte?page=1", + "label"=> "1", + "active"=> true + ], + [ + "url"=> "http://bursabinelui.test/proiecte?page=2", + "label"=> "2", + "active"=> false + ], + [ + "url"=> "http://bursabinelui.test/proiecte?page=3", + "label"=> "3", + "active"=> false + ], + [ + "url"=> "http://bursabinelui.test/proiecte?page=1", + "label"=> "1", + "active"=> true + ], + ], + "next_page_url"=> "http://bursabinelui.test/proiecte?page=3", + "path"=> "http://bursabinelui.test/proiecte", + "per_page"=> 15, + "prev_page_url"=> 'http://bursabinelui.test/proiecte?page=1', + "to"=> 15, + "total"=> 20 + ]; + + return Inertia::render('Donor/Donations', [ + 'donations' => $donations, + ]); + } +} diff --git a/app/Http/Controllers/EvolutionController.php b/app/Http/Controllers/EvolutionController.php new file mode 100644 index 00000000..f52619a3 --- /dev/null +++ b/app/Http/Controllers/EvolutionController.php @@ -0,0 +1,78 @@ + 'Ian', + 'number' => 23, + ], + [ + 'month' => 'Feb', + 'number' => 80, + ], + [ + 'month' => 'Mar', + 'number' => 50, + ], + [ + 'month' => 'Apr', + 'number' => 100, + ], + [ + 'month' => 'Mai', + 'number' => 150, + ], + [ + 'month' => 'Iun', + 'number' => 30, + ] + ]; + + $donations_amount = [ + [ + 'month' => 'Ian', + 'amount' => 1023, + ], + [ + 'month' => 'Feb', + 'amount' => 180, + ], + [ + 'month' => 'Mar', + 'amount' => 5200, + ], + [ + 'month' => 'Apr', + 'amount' => 22100, + ], + [ + 'month' => 'Mai', + 'amount' => 1250, + ], + [ + 'month' => 'Iun', + 'amount' => 2230, + ] + ]; + + + return Inertia::render('Public/Evolution/Evolution', [ + 'donations' => $donations, + 'amount' => $amount, + 'donations_number' => $donations_number, + 'donations_amount' => $donations_amount + ]); + } +} diff --git a/package-lock.json b/package-lock.json index 8fb1903b..00628a00 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,11 @@ "@headlessui/vue": "^1.7.13", "@heroicons/vue": "^2.0.17", "@tailwindcss/aspect-ratio": "^0.4.2", + "@types/d3": "^7.4.0", + "chart.js": "^4.3.0", + "d3": "^7.8.5", "vite-svg-loader": "^4.0.0", + "vue-chartjs": "^5.2.0", "vue-i18n": "^9.2.2", "vue3-carousel": "^0.3.1" }, @@ -552,6 +556,11 @@ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" }, + "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", @@ -650,6 +659,233 @@ "node": ">=10.13.0" } }, + "node_modules/@types/d3": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.0.tgz", + "integrity": "sha512-jIfNVK0ZlxcuRDKtRS/SypEyOQ6UHaFQBKv032X45VvxSJ6Yi5G9behy9h6tNTHTDGh5Vq+KbmBjUWLgY4meCA==", + "dependencies": { + "@types/d3-array": "*", + "@types/d3-axis": "*", + "@types/d3-brush": "*", + "@types/d3-chord": "*", + "@types/d3-color": "*", + "@types/d3-contour": "*", + "@types/d3-delaunay": "*", + "@types/d3-dispatch": "*", + "@types/d3-drag": "*", + "@types/d3-dsv": "*", + "@types/d3-ease": "*", + "@types/d3-fetch": "*", + "@types/d3-force": "*", + "@types/d3-format": "*", + "@types/d3-geo": "*", + "@types/d3-hierarchy": "*", + "@types/d3-interpolate": "*", + "@types/d3-path": "*", + "@types/d3-polygon": "*", + "@types/d3-quadtree": "*", + "@types/d3-random": "*", + "@types/d3-scale": "*", + "@types/d3-scale-chromatic": "*", + "@types/d3-selection": "*", + "@types/d3-shape": "*", + "@types/d3-time": "*", + "@types/d3-time-format": "*", + "@types/d3-timer": "*", + "@types/d3-transition": "*", + "@types/d3-zoom": "*" + } + }, + "node_modules/@types/d3-array": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.0.5.tgz", + "integrity": "sha512-Qk7fpJ6qFp+26VeQ47WY0mkwXaiq8+76RJcncDEfMc2ocRzXLO67bLFRNI4OX1aGBoPzsM5Y2T+/m1pldOgD+A==" + }, + "node_modules/@types/d3-axis": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.2.tgz", + "integrity": "sha512-uGC7DBh0TZrU/LY43Fd8Qr+2ja1FKmH07q2FoZFHo1eYl8aj87GhfVoY1saJVJiq24rp1+wpI6BvQJMKgQm8oA==", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-brush": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.2.tgz", + "integrity": "sha512-2TEm8KzUG3N7z0TrSKPmbxByBx54M+S9lHoP2J55QuLU0VSQ9mE96EJSAOVNEqd1bbynMjeTS9VHmz8/bSw8rA==", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-chord": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.2.tgz", + "integrity": "sha512-abT/iLHD3sGZwqMTX1TYCMEulr+wBd0SzyOQnjYNLp7sngdOHYtNkMRI5v3w5thoN+BWtlHVDx2Osvq6fxhZWw==" + }, + "node_modules/@types/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-HKuicPHJuvPgCD+np6Se9MQvS6OCbJmOjGvylzMJRlDwUXjKTTXs6Pwgk79O09Vj/ho3u1ofXnhFOaEWWPrlwA==" + }, + "node_modules/@types/d3-contour": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.2.tgz", + "integrity": "sha512-k6/bGDoAGJZnZWaKzeB+9glgXCYGvh6YlluxzBREiVo8f/X2vpTEdgPy9DN7Z2i42PZOZ4JDhVdlTSTSkLDPlQ==", + "dependencies": { + "@types/d3-array": "*", + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-delaunay": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.1.tgz", + "integrity": "sha512-tLxQ2sfT0p6sxdG75c6f/ekqxjyYR0+LwPrsO1mbC9YDBzPJhs2HbJJRrn8Ez1DBoHRo2yx7YEATI+8V1nGMnQ==" + }, + "node_modules/@types/d3-dispatch": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.2.tgz", + "integrity": "sha512-rxN6sHUXEZYCKV05MEh4z4WpPSqIw+aP7n9ZN6WYAAvZoEAghEK1WeVZMZcHRBwyaKflU43PCUAJNjFxCzPDjg==" + }, + "node_modules/@types/d3-drag": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.2.tgz", + "integrity": "sha512-qmODKEDvyKWVHcWWCOVcuVcOwikLVsyc4q4EBJMREsoQnR2Qoc2cZQUyFUPgO9q4S3qdSqJKBsuefv+h0Qy+tw==", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-76pBHCMTvPLt44wFOieouXcGXWOF0AJCceUvaFkxSZEu4VDUdv93JfpMa6VGNFs01FHfuP4a5Ou68eRG1KBfTw==" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.0.tgz", + "integrity": "sha512-aMo4eaAOijJjA6uU+GIeW018dvy9+oH5Y2VPPzjjfxevvGQ/oRDs+tfYC9b50Q4BygRR8yE2QCLsrT0WtAVseA==" + }, + "node_modules/@types/d3-fetch": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.2.tgz", + "integrity": "sha512-gllwYWozWfbep16N9fByNBDTkJW/SyhH6SGRlXloR7WdtAaBui4plTP+gbUgiEot7vGw/ZZop1yDZlgXXSuzjA==", + "dependencies": { + "@types/d3-dsv": "*" + } + }, + "node_modules/@types/d3-force": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.4.tgz", + "integrity": "sha512-q7xbVLrWcXvSBBEoadowIUJ7sRpS1yvgMWnzHJggFy5cUZBq2HZL5k/pBSm0GdYWS1vs5/EDwMjSKF55PDY4Aw==" + }, + "node_modules/@types/d3-format": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.1.tgz", + "integrity": "sha512-5KY70ifCCzorkLuIkDe0Z9YTf9RR2CjBX1iaJG+rgM/cPP+sO+q9YdQ9WdhQcgPj1EQiJ2/0+yUkkziTG6Lubg==" + }, + "node_modules/@types/d3-geo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.0.3.tgz", + "integrity": "sha512-bK9uZJS3vuDCNeeXQ4z3u0E7OeJZXjUgzFdSOtNtMCJCLvDtWDwfpRVWlyt3y8EvRzI0ccOu9xlMVirawolSCw==", + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-9hjRTVoZjRFR6xo8igAJyNXQyPX6Aq++Nhb5ebrUF414dv4jr2MitM2fWiOY475wa3Za7TOS2Gh9fmqEhLTt0A==" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-jx5leotSeac3jr0RePOH1KdR9rISG91QIE4Q2PYTu4OymLTZfA3SrnURSLzKH48HmXVUru50b8nje4E79oQSQw==", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.0.0.tgz", + "integrity": "sha512-0g/A+mZXgFkQxN3HniRDbXMN79K3CdTpLsevj+PXiTcb2hVyvkZUBg37StmgCQkaD84cUJ4uaDAWq7UJOQy2Tg==" + }, + "node_modules/@types/d3-polygon": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.0.tgz", + "integrity": "sha512-D49z4DyzTKXM0sGKVqiTDTYr+DHg/uxsiWDAkNrwXYuiZVd9o9wXZIo+YsHkifOiyBkmSWlEngHCQme54/hnHw==" + }, + "node_modules/@types/d3-quadtree": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.2.tgz", + "integrity": "sha512-QNcK8Jguvc8lU+4OfeNx+qnVy7c0VrDJ+CCVFS9srBo2GL9Y18CnIxBdTF3v38flrGy5s1YggcoAiu6s4fLQIw==" + }, + "node_modules/@types/d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-IIE6YTekGczpLYo/HehAy3JGF1ty7+usI97LqraNa8IiDur+L44d0VOjAvFQWJVdZOJHukUJw+ZdZBlgeUsHOQ==" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.3.tgz", + "integrity": "sha512-PATBiMCpvHJSMtZAMEhc2WyL+hnzarKzI6wAHYjhsonjWJYGq5BXTzQjv4l8m2jO183/4wZ90rKvSeT7o72xNQ==", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-scale-chromatic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", + "integrity": "sha512-dsoJGEIShosKVRBZB0Vo3C8nqSDqVGujJU6tPznsBJxNJNwMF8utmS83nvCBKQYPpjCzaaHcrf66iTRpZosLPw==" + }, + "node_modules/@types/d3-selection": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.5.tgz", + "integrity": "sha512-xCB0z3Hi8eFIqyja3vW8iV01+OHGYR2di/+e+AiOcXIOrY82lcvWW8Ke1DYE/EUVMsBl4Db9RppSBS3X1U6J0w==" + }, + "node_modules/@types/d3-shape": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.1.tgz", + "integrity": "sha512-6Uh86YFF7LGg4PQkuO2oG6EMBRLuW9cbavUW46zkIO5kuS2PfTqo2o9SkgtQzguBHbLgNnU90UNsITpsX1My+A==", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.0.tgz", + "integrity": "sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==" + }, + "node_modules/@types/d3-time-format": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.0.tgz", + "integrity": "sha512-yjfBUe6DJBsDin2BMIulhSHmr5qNR5Pxs17+oW4DoVPyVIXZ+m6bs7j1UVKP08Emv6jRmYrYqxYzO63mQxy1rw==" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.0.tgz", + "integrity": "sha512-HNB/9GHqu7Fo8AQiugyJbv6ZxYz58wef0esl4Mv828w1ZKpAshw/uFWVDUcIB9KKFeFKoxS3cHY07FFgtTRZ1g==" + }, + "node_modules/@types/d3-transition": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.3.tgz", + "integrity": "sha512-/S90Od8Id1wgQNvIA8iFv9jRhCiZcGhPd2qX0bKF/PS+y0W5CrXKgIiELd2CvG1mlQrWK/qlYh3VxicqG1ZvgA==", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-zoom": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.3.tgz", + "integrity": "sha512-OWk1yYIIWcZ07+igN6BeoG6rqhnJ/pYe+R1qWFM2DtW49zsoSjgb9G5xB0ZXA8hh2jAzey1XuRmMSoXdKw8MDA==", + "dependencies": { + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" + } + }, + "node_modules/@types/geojson": { + "version": "7946.0.10", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.10.tgz", + "integrity": "sha512-Nmh0K3iWQJzniTuPRcJn5hxXkfB1T1pgB89SBig5PlJQU5yocazeu4jATJlaA0GYFKWMqDdvYemoSnF2pXgLVA==" + }, "node_modules/@vitejs/plugin-vue": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.2.1.tgz", @@ -949,6 +1185,17 @@ } ] }, + "node_modules/chart.js": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.3.0.tgz", + "integrity": "sha512-ynG0E79xGfMaV2xAHdbhwiPLczxnNNnasrmPEXriXsPJGjmhOBYzFVEsB65w2qMDz+CaBJJuJD0inE/ab/h36g==", + "dependencies": { + "@kurkle/color": "^0.3.0" + }, + "engines": { + "pnpm": ">=7" + } + }, "node_modules/chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", @@ -1095,6 +1342,384 @@ "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" }, + "node_modules/d3": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.5.tgz", + "integrity": "sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==", + "dependencies": { + "d3-array": "3", + "d3-axis": "3", + "d3-brush": "3", + "d3-chord": "3", + "d3-color": "3", + "d3-contour": "4", + "d3-delaunay": "6", + "d3-dispatch": "3", + "d3-drag": "3", + "d3-dsv": "3", + "d3-ease": "3", + "d3-fetch": "3", + "d3-force": "3", + "d3-format": "3", + "d3-geo": "3", + "d3-hierarchy": "3", + "d3-interpolate": "3", + "d3-path": "3", + "d3-polygon": "3", + "d3-quadtree": "3", + "d3-random": "3", + "d3-scale": "4", + "d3-scale-chromatic": "3", + "d3-selection": "3", + "d3-shape": "3", + "d3-time": "3", + "d3-time-format": "4", + "d3-timer": "3", + "d3-transition": "3", + "d3-zoom": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-axis": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-brush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "3", + "d3-transition": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-chord": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", + "dependencies": { + "d3-path": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-contour": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", + "dependencies": { + "d3-array": "^3.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "dependencies": { + "delaunator": "5" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "dependencies": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "dependencies": { + "d3-dsv": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==", + "dependencies": { + "d3-array": "2.5.0 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-polygon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale-chromatic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", + "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==", + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "dependencies": { + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "d3-selection": "2 - 3" + } + }, + "node_modules/d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/deepmerge": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", @@ -1104,6 +1729,14 @@ "node": ">=0.10.0" } }, + "node_modules/delaunator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz", + "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==", + "dependencies": { + "robust-predicates": "^3.0.0" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -1424,6 +2057,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -1438,6 +2082,14 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "engines": { + "node": ">=12" + } + }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -1981,6 +2633,11 @@ "node": ">=0.10.0" } }, + "node_modules/robust-predicates": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", + "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" + }, "node_modules/rollup": { "version": "3.21.4", "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.4.tgz", @@ -2019,6 +2676,16 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -2316,6 +2983,15 @@ "@vue/shared": "3.2.47" } }, + "node_modules/vue-chartjs": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vue-chartjs/-/vue-chartjs-5.2.0.tgz", + "integrity": "sha512-d3zpKmGZr2OWHQ1xmxBcAn5ShTG917+/UCLaSpaCDDqT0U7DBsvFzTs69ZnHCgKoXT55GZDW8YEj9Av+dlONLA==", + "peerDependencies": { + "chart.js": "^4.1.1", + "vue": "^3.0.0-0 || ^2.7.0" + } + }, "node_modules/vue-i18n": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.2.2.tgz", diff --git a/package.json b/package.json index 83d2f143..7eca26b8 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,9 @@ "@headlessui/vue": "^1.7.13", "@heroicons/vue": "^2.0.17", "@tailwindcss/aspect-ratio": "^0.4.2", + "chart.js": "^4.3.0", "vite-svg-loader": "^4.0.0", + "vue-chartjs": "^5.2.0", "vue-i18n": "^9.2.2", "vue3-carousel": "^0.3.1" } diff --git a/public/images/badges/donor.png b/public/images/badges/donor.png new file mode 100644 index 0000000000000000000000000000000000000000..5cf4a5579c29c28b6b8fe82e208a68b03f9ed09c GIT binary patch literal 15299 zcmb`OV{;}v8-{D!w(hO%ySA~_c57qnZf)DPZQHhO+s3=ke|R&KT$4<`WG0j3I?gkp zit-YOaCmSaARvfRlA_B0;>dp$2I^m1sZo{nFTmPLYC3>`z@z_HK|#_oaQ+Q~Iw(sB zgH%lsoc`-TmLT!++>Qf`IU9NQnxmx`1AK!g~B#O#GT=BeW!I(mAi_yK?~#RvdGGS`8NfHp!F zuJH`6QR{c;r1+UTL$4y!3YxMoJ~-%hKb6W9k{Kqol!rwO#A`xt!Ab2S2JKppTcx}^ zQRyPK4-OUHp5_j3fwGc16Uthy;)z{#|94d3h%$H`4FzfJm5-05HpjYh^sqx_aq%%> zb#w9j@%<04Zkw6$@Joj1U$<`j(te)8D_1uz8;p*B|9Te}7n{Dxac&k+h1&TpknD#% zJvrCUnsrE)FKQ#u+W~c6bHbf>tWDWb5CTj3=SA9iD;*b3bF@2slMasN3Bm)}EZEsb zdL#z7m0yK>XP8lJ9Y}CK_H#vok*c&?=M>PS{3#^SddXiEyxle(DRcN$3V-V6Dwi(% zV2EKH1B3NAUj2l4W-s$BiZh@7Iw=P)ON{yO(`(UBj!)$dy1uGr#7b#uWv&2Im@q&z zqkodTGGxBH6mV+~`DGg(aKmaZq*8xQ< zHqAVIMEaxmWoQkmoA;e2tV+7d3ds_ zN=j;C2U192S)gpI`WDx;N?1~pEZNE!%NEld1jAT73Zm*6gPu?t-T53>w#3@4)huqG z6q$N!UwzF;UxY|cD*#Z}{nV+}V?~rRKUi

va_HE^vaGCM4XMa9r?>T8X`{MMS6fG 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 k^govu{?jTJv3 literal 0 HcmV?d00001 diff --git a/public/images/badges/month_volunteer.png b/public/images/badges/month_volunteer.png new file mode 100644 index 0000000000000000000000000000000000000000..01753e1e641f875c5d881b31373bb24655839c3f GIT binary patch literal 12605 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 literal 0 HcmV?d00001 diff --git a/public/images/badges/supporter.png b/public/images/badges/supporter.png new file mode 100644 index 0000000000000000000000000000000000000000..9b249296f5a20bd685b2d2152d49a75307ea44a7 GIT binary patch literal 12098 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 + + diff --git a/resources/js/Components/Navbar.vue b/resources/js/Components/Navbar.vue index 27fc487a..89896cf3 100644 --- a/resources/js/Components/Navbar.vue +++ b/resources/js/Components/Navbar.vue @@ -94,10 +94,19 @@ - {{ $t('administrate_link') }} + {{ 'donor' === $page.props.auth.user.role ? $t('dashbord') : $t('administrate_link') }} + + + + {{ $t('my_donations') }} @@ -197,10 +206,19 @@ + {{ 'donor' === $page.props.auth.user.role ? $t('dashbord') : $t('administrate_link') }} + + + - {{ $t('administrate_link') }} + {{ $t('my_donations') }} diff --git a/resources/js/Components/charts/AppChart.vue b/resources/js/Components/charts/AppChart.vue new file mode 100644 index 00000000..20da031e --- /dev/null +++ b/resources/js/Components/charts/AppChart.vue @@ -0,0 +1,96 @@ + + + diff --git a/resources/js/Components/charts/LineChart.vue b/resources/js/Components/charts/LineChart.vue new file mode 100644 index 00000000..d8c15d79 --- /dev/null +++ b/resources/js/Components/charts/LineChart.vue @@ -0,0 +1,102 @@ + + + diff --git a/resources/js/Components/charts/ProjectsChart.vue b/resources/js/Components/charts/ProjectsChart.vue new file mode 100644 index 00000000..20da031e --- /dev/null +++ b/resources/js/Components/charts/ProjectsChart.vue @@ -0,0 +1,96 @@ + + + diff --git a/resources/js/Components/charts/TimeEvolution.vue b/resources/js/Components/charts/TimeEvolution.vue new file mode 100644 index 00000000..20da031e --- /dev/null +++ b/resources/js/Components/charts/TimeEvolution.vue @@ -0,0 +1,96 @@ + + + diff --git a/resources/js/Pages/Donor/Dashboard.vue b/resources/js/Pages/Donor/Dashboard.vue new file mode 100644 index 00000000..e78f7fe0 --- /dev/null +++ b/resources/js/Pages/Donor/Dashboard.vue @@ -0,0 +1,91 @@ + + + diff --git a/resources/js/Pages/Donor/Donations.vue b/resources/js/Pages/Donor/Donations.vue new file mode 100644 index 00000000..8b7cacc6 --- /dev/null +++ b/resources/js/Pages/Donor/Donations.vue @@ -0,0 +1,44 @@ + + + diff --git a/resources/js/Pages/Public/Donor/ThankYou.vue b/resources/js/Pages/Public/Donor/ThankYou.vue index 105abdef..35c21ea8 100644 --- a/resources/js/Pages/Public/Donor/ThankYou.vue +++ b/resources/js/Pages/Public/Donor/ThankYou.vue @@ -3,19 +3,72 @@ -

+
+
+
+ +
+
+ +
+

{{ $t('thank_you') }}

+
+ +

{{ $t('reward_auth') }}

+ +
+ +
+

{{ $t(`${badge.title}`) }}

+

{{ $t(`${badge.description}`) }}

+
+
+
+ +
+
+ +
+
+ {{ $t('woohoo') }} +
+

{{ donation.place }}

+

{{ $t('donations_place_1') }} {{ donation.place }} {{ $t('donations_place_2') }}

+
+ +
+ +
+ +

{{ info }}

+
+ +
+ + {{ $t('see_all_donations') }} + +
+
+
+
+
+
-
+
+
-
+
-

{{ $t('thank_you') }}

+

{{ $t('thank_you') }}

-

{{ $t('reward') }}

+

{{ $t('reward') }}

-
diff --git a/resources/js/Pages/Public/Evolution/Evolution.vue b/resources/js/Pages/Public/Evolution/Evolution.vue new file mode 100644 index 00000000..093b3ee7 --- /dev/null +++ b/resources/js/Pages/Public/Evolution/Evolution.vue @@ -0,0 +1,30 @@ + + + diff --git a/resources/js/locales/ro.js b/resources/js/locales/ro.js index ee4839fa..a586c371 100644 --- a/resources/js/locales/ro.js +++ b/resources/js/locales/ro.js @@ -341,4 +341,35 @@ export default { "social": "Social", "animal-protection": "Protecția animalelor", "sport": "Sport", + "my_profile": "Profilul meu", + "see_all_donations": "Vezi toate donațiile", + "donations_place_1": "Te afli în top", + "donations_place_2": "donatori Bursa Binelui", + "my_prizes": "Premiile mele", + "multiple_donor_title": "Donator multiplu", + "multiple_donor_description" : "Ai câștigat acest badge pentru că ai donat pentru cel puțin 3 organizații din Bursa Binelui!", + "subscriber_donor_title": "Abonat la știri de bine!", + "subscriber_donor_description": "Ai câștigat acest badge pentru că ai donat pentru cel puțin 3 organizații din Bursa Binelui!", + "long_race_title": "Voluntar de cursă lungă", + "long_race_description": "Ai câștigat acest badge pentru că te-ai înscris ca voluntar la cel puțin 3 organizații", + "supporter_donor_title": "Social supporter", + "supporter_donor_description": "Ai câștigat acest badge pentru că ai distribuit informații despre 10 proiecte pe social media!", + "month_volunteer_title": "Voluntarul lunii", + "month_volunteer_description": "Ai câștigat acest badge pentru că organizația World Vision te-a declarat voluntarul lunii iunie 2021. ", + "top_donor_title": "Donator de top!", + "top_donor_description": "Ai câștigat acest badge pentru că ai donat pentru peste 10 organizații", + "recurent_donor_title": "Donator recurent", + "recurent_donor_description": "Ai câștigat acest badge pentru că ai donat de cel puțin 3 ori către aceeași organizație! ", + "my_donations": "Donațiile mele", + "organization": "Organizație", + "reward_auth": "Ai câștigat un nou badge și suntem foarte mândri de tine!", + "woohoo": 'WOOHOO!', + "dashbord": "Dashboard", + "time_evolution": "Evoluția în timp", + "donations_per_domain": "Donații per domenii", + "donation_number": "Numar donatii", + "donation_amount": "Suma donatii", + "evolution": "Evolutie", + "donations": "donatii", + "currency": "RON" } diff --git a/routes/donor.php b/routes/donor.php new file mode 100644 index 00000000..bd0fbba4 --- /dev/null +++ b/routes/donor.php @@ -0,0 +1,16 @@ +middleware('auth')->group(function () { +// Route::get('dashboard', [DonorController::class, 'index'])->name('admin.donor.index'); +// Route::get('donatii', [DonorController::class, 'index'])->name('admin.donor.donations'); +// }); + + +Route::get('donor-dashboard', [DonorController::class, 'index'])->name('donor.index'); +Route::get('donatiile-mele', [DonorController::class, 'donations'])->name('donor.donations'); diff --git a/routes/evolution.php b/routes/evolution.php new file mode 100644 index 00000000..86720b40 --- /dev/null +++ b/routes/evolution.php @@ -0,0 +1,10 @@ +name('donor.donations'); +Route::get('/evolutia-faptelor-bune', [EvolutionController::class, 'index'])->name('evolution'); diff --git a/routes/web.php b/routes/web.php index 06e01668..ec2bc740 100644 --- a/routes/web.php +++ b/routes/web.php @@ -62,6 +62,7 @@ return Inertia::render('Public/Bcr/Projects'); })->name('bcr.projects'); + require __DIR__ . '/auth.php'; require __DIR__ . '/organizations.php'; @@ -79,3 +80,7 @@ require __DIR__ . '/regional.php'; require __DIR__ . '/articles.php'; + +require __DIR__ . '/donor.php'; + +require __DIR__ . '/evolution.php';