import { Component } from '@angular/core'; import { FormControl, FormGroup, Validators } from '@angular/forms'; import { environment } from 'environments/environment'; import { Subject } from 'rxjs'; import { MessageService } from 'app/data-access/message/message.service'; @Component({ templateUrl: './contact.component.html', styleUrls: ['./contact.component.scss'], }) export class ContactComponent { recaptchaSiteKey = environment.recaptchaSiteKey; resolved(captchaResponse: string) { console.log(`Resolved captcha with response: ${captchaResponse}`); } success$ = new Subject(); error$ = new Subject(); form: FormGroup = new FormGroup({ email: new FormControl(null, [Validators.required, Validators.email]), msg: new FormControl(null, [Validators.required]), recaptchaReactive: new FormControl(null, Validators.required), }); onSubmit(form): void { this.success$.next(false); this.error$.next(false); this.messageService .create({ id: +new Date(), createDate: new Date(), content: this.form.controls.msg.value, email: this.form.controls.email.value, }) .subscribe({ next: (message) => { // console.log(message); this.success$.next(true); }, error: (error) => { // console.log(error.message); this.error$.next(error); }, }); } constructor(private messageService: MessageService) {} }