From 95624f345c87334ad16c80304529ec58b157a2e8 Mon Sep 17 00:00:00 2001 From: josh Date: Sat, 11 Apr 2026 20:49:01 +1000 Subject: [PATCH] Added Charts --- .../Controllers/FlightProfileController.php | 2 + app/Models/Region.php | 5 + .../FlightsGoneBy/Charts/ChartTooltip.vue | 59 ++++ .../FlightsGoneBy/Charts/ContinentsChart.vue | 127 +++++++ .../FlightsGoneBy/Charts/CountriesChart.vue | 119 ++++--- .../FlightsGoneBy/Charts/FlightTypeChart.vue | 126 +++++++ .../Charts/FlightsPerDayChart.vue | 113 +++++++ .../Charts/FlightsPerMonthChart.vue | 14 +- .../Charts/FlightsPerYearChart.vue | 13 +- .../FlightsGoneBy/Charts/TopAirlinesChart.vue | 80 +++-- .../FlightsGoneBy/Charts/TopAirportsChart.vue | 156 ++++----- .../Components/FlightsGoneBy/FlightCharts.vue | 68 +++- .../js/Components/FlightsGoneBy/FlightMap.vue | 319 ++++++++++-------- .../Components/FlightsGoneBy/ProfileMap.vue | 145 +++++--- resources/js/Composables/useChartTooltip.ts | 18 + resources/js/Types/types.d.ts | 1 + 16 files changed, 979 insertions(+), 386 deletions(-) create mode 100644 resources/js/Components/FlightsGoneBy/Charts/ChartTooltip.vue create mode 100644 resources/js/Components/FlightsGoneBy/Charts/ContinentsChart.vue create mode 100644 resources/js/Components/FlightsGoneBy/Charts/FlightTypeChart.vue create mode 100644 resources/js/Components/FlightsGoneBy/Charts/FlightsPerDayChart.vue create mode 100644 resources/js/Composables/useChartTooltip.ts diff --git a/app/Http/Controllers/FlightProfileController.php b/app/Http/Controllers/FlightProfileController.php index 83b723b..01e82b1 100644 --- a/app/Http/Controllers/FlightProfileController.php +++ b/app/Http/Controllers/FlightProfileController.php @@ -17,7 +17,9 @@ class FlightProfileController extends Controller $flights = UserFlight::where('user_id', $user->id) ->with([ 'departureAirport.region.country', + 'departureAirport.region.continent', 'arrivalAirport.region.country', + 'arrivalAirport.region.continent', 'airline.country', 'aircraft', 'seatType', diff --git a/app/Models/Region.php b/app/Models/Region.php index 4cb6ee2..4cef77a 100644 --- a/app/Models/Region.php +++ b/app/Models/Region.php @@ -19,4 +19,9 @@ class Region extends Model { return $this->belongsTo(Country::class); } + + public function continent(): BelongsTo + { + return $this->belongsTo(Continent::class); + } } diff --git a/resources/js/Components/FlightsGoneBy/Charts/ChartTooltip.vue b/resources/js/Components/FlightsGoneBy/Charts/ChartTooltip.vue new file mode 100644 index 0000000..b5e39d2 --- /dev/null +++ b/resources/js/Components/FlightsGoneBy/Charts/ChartTooltip.vue @@ -0,0 +1,59 @@ + + + + + diff --git a/resources/js/Components/FlightsGoneBy/Charts/ContinentsChart.vue b/resources/js/Components/FlightsGoneBy/Charts/ContinentsChart.vue new file mode 100644 index 0000000..b9ce517 --- /dev/null +++ b/resources/js/Components/FlightsGoneBy/Charts/ContinentsChart.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/resources/js/Components/FlightsGoneBy/Charts/CountriesChart.vue b/resources/js/Components/FlightsGoneBy/Charts/CountriesChart.vue index 02421c1..f2698bd 100644 --- a/resources/js/Components/FlightsGoneBy/Charts/CountriesChart.vue +++ b/resources/js/Components/FlightsGoneBy/Charts/CountriesChart.vue @@ -3,7 +3,7 @@
Top countries
-
+
+ + +
+ + {{ tooltipItem?.name }} +
+
Flights{{ tooltipItem?.past }}
+
Upcoming{{ tooltipItem?.upcoming }}
+
+