{"ast":null,"code":"import { __decorate } from \"tslib\";\nimport { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule, Validators } from '@angular/forms';\nlet ContactComponent = class ContactComponent {\n constructor(fb, emailService) {\n this.fb = fb;\n this.emailService = emailService;\n this.isSubmitting = false;\n this.showSuccessMessage = false;\n // Set minimum date to today\n const today = new Date();\n this.minDate = today.toISOString().split('T')[0];\n this.contactForm = this.fb.group({\n firstName: ['', Validators.required],\n lastName: ['', Validators.required],\n email: ['', [Validators.required, Validators.email]],\n phone: [''],\n eventType: ['', Validators.required],\n eventDate: [''],\n guestCount: [''],\n budget: [''],\n message: ['', Validators.required],\n privacy: [false, Validators.requiredTrue]\n });\n }\n onSubmit() {\n if (this.contactForm.valid) {\n this.isSubmitting = true;\n const formData = this.contactForm.value;\n this.emailService.sendContactForm(formData).subscribe({\n next: response => {\n this.isSubmitting = false;\n this.showSuccessMessage = true;\n this.contactForm.reset();\n // Hide success message after 5 seconds\n setTimeout(() => {\n this.showSuccessMessage = false;\n }, 5000);\n },\n error: error => {\n this.isSubmitting = false;\n console.error('Error sending contact form:', error);\n // You could show an error message here\n }\n });\n } else {\n // Mark all fields as touched to show validation errors\n Object.keys(this.contactForm.controls).forEach(key => {\n this.contactForm.get(key)?.markAsTouched();\n });\n }\n }\n};\nContactComponent = __decorate([Component({\n selector: 'app-contact',\n standalone: true,\n imports: [CommonModule, ReactiveFormsModule],\n template: `\n
\n \n
\n
\n

\n Kontakt\n

\n

\n Haben Sie Fragen oder möchten Sie ein unverbindliches Angebot für Ihr Event? \n Wir freuen uns auf Ihre Nachricht und beraten Sie gerne persönlich.\n

\n
\n
\n\n
\n
\n
\n \n
\n

\n Anfrage senden\n

\n \n
\n \n
\n
\n \n \n
\n Vorname ist erforderlich\n
\n
\n \n
\n \n \n
\n Nachname ist erforderlich\n
\n
\n
\n\n
\n \n \n
\n E-Mail ist erforderlich\n Bitte geben Sie eine gültige E-Mail ein\n
\n
\n\n
\n \n \n
\n\n \n
\n

Event-Details

\n \n
\n
\n \n \n
\n Bitte wählen Sie eine Event-Art\n
\n
\n\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n\n
\n \n \n
\n Bitte beschreiben Sie Ihre Anfrage\n
\n
\n\n \n
\n \n \n
\n
\n Bitte stimmen Sie der Datenschutzerklärung zu\n
\n\n \n
\n \n
\n
\n\n \n
\n
\n \n \n \n Vielen Dank für Ihre Anfrage!\n
\n

Wir werden uns schnellstmöglich bei Ihnen melden.

\n
\n
\n\n \n
\n \n
\n

\n Kontaktinformationen\n

\n \n
\n
\n \n \n \n \n
\n

E-Mail

\n

info@florale-emotion.de

\n
\n
\n\n
\n \n \n \n
\n

Standort

\n

Deutschland
Termine nach Vereinbarung

\n
\n
\n\n
\n \n \n \n
\n

Beratungszeiten

\n

\n Montag - Freitag: 9:00 - 18:00
\n Samstag: 10:00 - 16:00
\n Sonntag: Nach Vereinbarung\n

\n
\n
\n
\n
\n\n \n
\n

\n Unser Team\n

\n \n
\n
\n
\n V\n
\n
\n

Veronika

\n

Floristmeisterin & Geschäftsführung

\n

veronika@florale-emotion.de

\n
\n
\n\n
\n
\n C\n
\n
\n

Corinna

\n

Floristin & Eventplanung

\n

corinna@florale-emotion.de

\n
\n
\n
\n
\n\n \n
\n

\n Häufige Fragen\n

\n \n
\n
\n

Wie weit im Voraus sollte ich buchen?

\n

Für Hochzeiten empfehlen wir eine Buchung 3-6 Monate im Voraus. Bei anderen Events reichen meist 2-4 Wochen.

\n
\n \n
\n

Liefern Sie auch außerhalb der Region?

\n

Ja, wir liefern deutschlandweit. Die Lieferkosten werden individuell berechnet.

\n
\n \n
\n

Bieten Sie auch Beratungstermine an?

\n

Selbstverständlich! Wir kommen gerne zu Ihnen oder Sie besuchen uns in unserem Atelier.

\n
\n
\n
\n
\n
\n
\n
\n
\n `\n})], ContactComponent);\nexport { ContactComponent };","map":{"version":3,"names":["Component","CommonModule","ReactiveFormsModule","Validators","ContactComponent","constructor","fb","emailService","isSubmitting","showSuccessMessage","today","Date","minDate","toISOString","split","contactForm","group","firstName","required","lastName","email","phone","eventType","eventDate","guestCount","budget","message","privacy","requiredTrue","onSubmit","valid","formData","value","sendContactForm","subscribe","next","response","reset","setTimeout","error","console","Object","keys","controls","forEach","key","get","markAsTouched","__decorate","selector","standalone","imports","template"],"sources":["/Users/julianvollmer/workspace/florale-emotion/src/app/pages/contact/contact.component.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { EmailService, ContactFormData } from '../../services/email.service';\n\n@Component({\n selector: 'app-contact',\n standalone: true,\n imports: [CommonModule, ReactiveFormsModule],\n template: `\n
\n \n
\n
\n

\n Kontakt\n

\n

\n Haben Sie Fragen oder möchten Sie ein unverbindliches Angebot für Ihr Event? \n Wir freuen uns auf Ihre Nachricht und beraten Sie gerne persönlich.\n

\n
\n
\n\n
\n
\n
\n \n
\n

\n Anfrage senden\n

\n \n
\n \n
\n
\n \n \n
\n Vorname ist erforderlich\n
\n
\n \n
\n \n \n
\n Nachname ist erforderlich\n
\n
\n
\n\n
\n \n \n
\n E-Mail ist erforderlich\n Bitte geben Sie eine gültige E-Mail ein\n
\n
\n\n
\n \n \n
\n\n \n
\n

Event-Details

\n \n
\n
\n \n \n
\n Bitte wählen Sie eine Event-Art\n
\n
\n\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n\n
\n \n \n
\n Bitte beschreiben Sie Ihre Anfrage\n
\n
\n\n \n
\n \n \n
\n
\n Bitte stimmen Sie der Datenschutzerklärung zu\n
\n\n \n
\n \n
\n
\n\n \n
\n
\n \n \n \n Vielen Dank für Ihre Anfrage!\n
\n

Wir werden uns schnellstmöglich bei Ihnen melden.

\n
\n
\n\n \n
\n \n
\n

\n Kontaktinformationen\n

\n \n
\n
\n \n \n \n \n
\n

E-Mail

\n

info@florale-emotion.de

\n
\n
\n\n
\n \n \n \n
\n

Standort

\n

Deutschland
Termine nach Vereinbarung

\n
\n
\n\n
\n \n \n \n
\n

Beratungszeiten

\n

\n Montag - Freitag: 9:00 - 18:00
\n Samstag: 10:00 - 16:00
\n Sonntag: Nach Vereinbarung\n

\n
\n
\n
\n
\n\n \n
\n

\n Unser Team\n

\n \n
\n
\n
\n V\n
\n
\n

Veronika

\n

Floristmeisterin & Geschäftsführung

\n

veronika@florale-emotion.de

\n
\n
\n\n
\n
\n C\n
\n
\n

Corinna

\n

Floristin & Eventplanung

\n

corinna@florale-emotion.de

\n
\n
\n
\n
\n\n \n
\n

\n Häufige Fragen\n

\n \n
\n
\n

Wie weit im Voraus sollte ich buchen?

\n

Für Hochzeiten empfehlen wir eine Buchung 3-6 Monate im Voraus. Bei anderen Events reichen meist 2-4 Wochen.

\n
\n \n
\n

Liefern Sie auch außerhalb der Region?

\n

Ja, wir liefern deutschlandweit. Die Lieferkosten werden individuell berechnet.

\n
\n \n
\n

Bieten Sie auch Beratungstermine an?

\n

Selbstverständlich! Wir kommen gerne zu Ihnen oder Sie besuchen uns in unserem Atelier.

\n
\n
\n
\n
\n
\n
\n
\n
\n `\n})\nexport class ContactComponent {\n contactForm: FormGroup;\n isSubmitting = false;\n showSuccessMessage = false;\n minDate: string;\n\n constructor(\n private fb: FormBuilder,\n private emailService: EmailService\n ) {\n // Set minimum date to today\n const today = new Date();\n this.minDate = today.toISOString().split('T')[0];\n\n this.contactForm = this.fb.group({\n firstName: ['', Validators.required],\n lastName: ['', Validators.required],\n email: ['', [Validators.required, Validators.email]],\n phone: [''],\n eventType: ['', Validators.required],\n eventDate: [''],\n guestCount: [''],\n budget: [''],\n message: ['', Validators.required],\n privacy: [false, Validators.requiredTrue]\n });\n }\n\n onSubmit() {\n if (this.contactForm.valid) {\n this.isSubmitting = true;\n \n const formData: ContactFormData = this.contactForm.value;\n \n this.emailService.sendContactForm(formData).subscribe({\n next: (response) => {\n this.isSubmitting = false;\n this.showSuccessMessage = true;\n this.contactForm.reset();\n \n // Hide success message after 5 seconds\n setTimeout(() => {\n this.showSuccessMessage = false;\n }, 5000);\n },\n error: (error) => {\n this.isSubmitting = false;\n console.error('Error sending contact form:', error);\n // You could show an error message here\n }\n });\n } else {\n // Mark all fields as touched to show validation errors\n Object.keys(this.contactForm.controls).forEach(key => {\n this.contactForm.get(key)?.markAsTouched();\n });\n }\n }\n}"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}