Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | 2x 27x 27x 8x 5x 27x 27x | import { useSettingForm } from './use-setting-form';
import type { PasswordFormData } from '../schemas/password.schema';
import { passwordSchema } from '../schemas/password.schema';
import { passwordService } from '../services/password.service';
export const usePasswordSettings = () => {
const settingForm = useSettingForm<PasswordFormData>(passwordSchema, {
successMessage: 'Password updated successfully!',
defaultValues: {
currentPassword: '',
newPassword: '',
confirmPassword: '',
},
});
const submitPassword = async (data: PasswordFormData): Promise<void> => {
// Call API to change password
await passwordService.changePassword({
currentPassword: data.currentPassword,
newPassword: data.newPassword,
});
// Clear form on success
settingForm.reset();
};
const handleSubmit = settingForm.handleFormSubmit(submitPassword);
return {
// Form state and methods
...settingForm,
// Password-specific actions
handleSubmit,
// Computed values
isSubmitting: settingForm.formState.isSubmitting,
};
};
|