diff --git a/resources/views/livewire/meetups/create-edit-events.blade.php b/resources/views/livewire/meetups/create-edit-events.blade.php new file mode 100644 index 0000000..f1f9d99 --- /dev/null +++ b/resources/views/livewire/meetups/create-edit-events.blade.php @@ -0,0 +1,141 @@ +country = request()->route('country'); + if ($this->event) { + $this->start = $this->event->start->format('Y-m-d\TH:i'); + $this->location = $this->event->location; + $this->description = $this->event->description; + $this->link = $this->event->link; + } else { + // Set default start time to next Monday at 19:00 + $this->start = now()->next('Monday')->setTime(19, 0)->format('Y-m-d\TH:i'); + } + } + + public function save(): void + { + $validated = $this->validate(); + + if ($this->event) { + // Update existing event + $this->event->update($validated); + session()->flash('status', __('Event erfolgreich aktualisiert!')); + } else { + // Create new event + $this->meetup->meetupEvents()->create([ + ...$validated, + 'created_by' => auth()->id(), + 'attendees' => [], + 'might_attendees' => [], + ]); + session()->flash('status', __('Event erfolgreich erstellt!')); + } + + $this->redirect(route('meetups.landingpage', ['meetup' => $this->meetup, 'country' => $this->country]), navigate: true); + } + + public function delete(): void + { + if ($this->event) { + $this->event->delete(); + session()->flash('status', __('Event erfolgreich gelöscht!')); + $this->redirect(route_with_country('meetups.edit', ['meetup' => $this->meetup]), navigate: true); + } + } +}; ?> + +