import React, { useState } from 'react'; import { useForm } from 'react-hook-form'; import { __ } from '@wordpress/i18n'; import { apiService } from '../../../../../services/api.service'; import { AppInput } from '../../../../../shared/form'; import { ErrorMessage } from '../../../../../shared/error-message'; export interface LoginFormData { email: string; password: string; } export interface LoginProps { onBackToRegister: () => void; } export function Login({ onBackToRegister }: LoginProps): JSX.Element { const [isSubmitting, setIsSubmitting] = useState(false); const [submitError, setSubmitError] = useState(null); const { register, handleSubmit, formState: { errors }, } = useForm({ defaultValues: { email: '', password: '', }, }); const onSubmitForm = async (data: LoginFormData): Promise => { setIsSubmitting(true); setSubmitError(null); try { await apiService.login(data.email, data.password); // On success, reload the page (same as original JS behavior) window.location.reload(); } catch (err) { const errorMsg = apiService.getErrorMessage(err); setSubmitError(errorMsg); setIsSubmitting(false); } }; const handleBackToRegister = (): void => { onBackToRegister(); }; return (

{__('Login', 'timetailor-salon-booking')}

{submitError && (
)}
{__("Don't have an account?", 'timetailor-salon-booking')}  {__('Sign up', 'timetailor-salon-booking')}
); }