content = config("content.themes.{$theme}.contact_form", []); } public function getSubjectsProperty() { return $this->content['form']['subjects'] ?? []; } public function getContactInfoProperty() { return $this->content['contact_info'] ?? []; } public function getSocialMediaProperty() { return $this->content['social_media']['platforms'] ?? []; } public function submit() { $this->validate([ 'firstName' => 'required|string|max:255', 'lastName' => 'required|string|max:255', 'email' => 'required|email|max:255', 'subject' => 'required|string', 'message' => 'required|string|max:2000', 'company' => 'nullable|string|max:255', 'phone' => 'nullable|string|max:255', ]); // Here you would typically save to database or send email // For now, we'll just show a success message $successMessage = $this->content['form']['success_message'] ?? 'Vielen Dank für Ihre Nachricht! Wir werden uns schnellstmöglich bei Ihnen melden.'; session()->flash('message', $successMessage); $this->reset(['firstName', 'lastName', 'company', 'email', 'phone', 'subject', 'message']); } public function render() { return view('livewire.web.components.ui.contact-form'); } }