Recommendations for Types Naming Conventions
Schemas:
- LoginSchema- When it's a general schema for login-related data
- LoginFormSchema- When it's specifically for form validation (this is better for your case since it's form-specific)
- CreateLoginSchema/- UpdateLoginSchema- If you have different schemas for different operations
DTOs (Data Transfer Objects):
- LoginPayload- More descriptive than- LoginDto, clearly indicates it's data being sent
- LoginRequest- Alternative that clearly shows it's for API requests
- LoginFormData- When specifically for form data
- Avoid generic LoginDtoas it's less descriptive of the purpose
Responses:
- LoginResponse- Clear and explicit, good for API responses
- LoginResult- Alternative that works well
- Avoid just Loginas it's too generic and unclear
- LoginResponseData- When you need to be very explicit
export const LoginFormSchema = z.object({
  email: z.string().min(1).email(),
  password: z.string().min(1),
});
export type LoginPayload = z.infer<typeof LoginFormSchema>;
export interface LoginResponse {
  token: string;
  user: {
    id: string;
    email: string;
  };
}
export const LoginForm = () => {
  const handleSubmit = async (data: LoginPayload) => {
    
  };
};