From a6bf1c09fe9ad7c899293ba2de318c7036e6a5e5 Mon Sep 17 00:00:00 2001 From: josh Date: Fri, 21 Aug 2026 22:17:53 +1000 Subject: [PATCH] Added "Save Flight And Add Another Button" --- app/Http/Controllers/FlightController.php | 12 ++++++---- resources/js/Pages/AddFlight.vue | 29 ++++++++++++++++------- 2 files changed, 29 insertions(+), 12 deletions(-) diff --git a/app/Http/Controllers/FlightController.php b/app/Http/Controllers/FlightController.php index 2115b7c..7747999 100644 --- a/app/Http/Controllers/FlightController.php +++ b/app/Http/Controllers/FlightController.php @@ -245,15 +245,19 @@ class FlightController extends Controller $newFlight = auth()->user()->flights()->create($this->flightPayload($validated)); UserAction::create([ - 'user_id' => $newFlight->user_id, - 'type' => $newFlight->departure_date->isFuture() ? 'flight_booked' : 'flight_logged', - 'data' => [ + 'user_id' => $newFlight->user_id, + 'type' => $newFlight->departure_date->isFuture() ? 'flight_booked' : 'flight_logged', + 'data' => [ 'flight' => $newFlight->snapshot($newFlight->id), ], ]); + if ($request->boolean('add_more')) { + return redirect()->route('flights.add') + ->with('success', 'Flight saved. Add another below.'); + } - return redirect()->route('profile.departure-board', [Auth::user()->name, $newFlight->id]); + return redirect()->route('profile.flight', [Auth::user()->name, $newFlight->id]); } diff --git a/resources/js/Pages/AddFlight.vue b/resources/js/Pages/AddFlight.vue index 0ee90ba..5efafef 100644 --- a/resources/js/Pages/AddFlight.vue +++ b/resources/js/Pages/AddFlight.vue @@ -154,9 +154,9 @@ const submitForm = useForm({ crew_type_id: null as number | null, note: '' as string | null, auto_update: false, + add_more: false, }) - const departureIsFuture = computed(() => { if (!form.departure_date) return false return new Date(form.departure_date) > new Date() @@ -168,7 +168,7 @@ watch(departureIsFuture, (isFuture) => { }, { immediate: true }) -function submit() { +function submit(addMore = false) { submitForm.flight_number = flightNumber.value submitForm.departure_date = form.departure_date submitForm.arrival_date = form.arrival_date @@ -184,6 +184,7 @@ function submit() { submitForm.crew_type_id = form.crew_type?.id ?? null submitForm.note = form.note submitForm.auto_update = form.auto_update + submitForm.add_more = addMore if (isEdit) { submitForm.put(route('flights.update', { flight: props.flight!.id })) @@ -897,15 +898,27 @@ function commitArrivalTimeInput() { - + - {{ isEdit ? 'Save Changes' : 'Add Flight' }} + Save Flight and Add Another + + + + + {{ isEdit ? 'Save Changes' : 'Save Flight' }} @@ -927,8 +940,8 @@ function commitArrivalTimeInput() { gap: 10px; min-height: 56px; padding: 8px 12px; - border: 1px solid rgba(255, 255, 255, 0.24); - border-radius: 4px; + border: 1px none rgba(255, 255, 255, 0.24); + border-bottom-style: solid; background: transparent; transition: border-color 0.15s ease; }