import { Component, inject } from '@angular/core'; import { CommonModule } from '@angular/common'; import { FormBuilder, FormGroup, Validators, ReactiveFormsModule } from '@angular/forms'; import { Router, RouterModule } from '@angular/router'; import { AuthService } from '../../../core/services/auth.service'; import { DevkitInputComponent } from '@devstroupe/ui/input/input.component'; import { DevkitButtonComponent } from '@devstroupe/ui/button/button.component'; @Component({ selector: 'app-register', standalone: true, imports: [CommonModule, ReactiveFormsModule, DevkitInputComponent, DevkitButtonComponent, RouterModule], templateUrl: './register.component.html', }) export class RegisterComponent { private fb = inject(FormBuilder); private authService = inject(AuthService); private router = inject(Router); form: FormGroup = this.fb.group({ name: ['', [Validators.required, Validators.minLength(2)]], email: ['', [Validators.required, Validators.email]], password: ['', [Validators.required, Validators.minLength(6)]], }); errorMessage = ''; loading = false; onSubmit(): void { if (this.form.invalid) return; this.loading = true; this.errorMessage = ''; this.authService.register(this.form.value).subscribe({ next: () => { // Redireciona para o login após cadastro com sucesso alert('Cadastro realizado com sucesso! Faça login para continuar.'); this.router.navigate(['/login']); }, error: (err) => { this.loading = false; this.errorMessage = err.error?.message || 'Erro ao realizar cadastro. Tente novamente.'; }, }); } }