diff --git a/package-lock.json b/package-lock.json index b9a1a50..bb50c8d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31871,23 +31871,6 @@ "node": ">= 0.8.0" } }, - "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "license": "MIT", - "optional": true, - "peer": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "node_modules/pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", @@ -33013,20 +32996,6 @@ "node": ">=14.0.0" } }, - "node_modules/react-scripts/node_modules/yaml": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", - "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", - "license": "ISC", - "optional": true, - "peer": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14.6" - } - }, "node_modules/react-toastify": { "version": "11.0.5", "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-11.0.5.tgz", diff --git a/src/components/doctors/DoctorForm.css b/src/components/doctors/DoctorForm.css index d5f2379..81ef2e4 100644 --- a/src/components/doctors/DoctorForm.css +++ b/src/components/doctors/DoctorForm.css @@ -198,4 +198,15 @@ font-size: 1.1rem; padding: 0.6rem 1.2rem; } +} + +@media (max-width: 576px) { + .doctor-form-container { padding: 0.75rem; } + .doctor-form-title { font-size: 1.75rem; } + .form-section { padding: 0.75rem; } + .section-header { font-size: 1.25rem; } + .form-label { font-size: 1rem; } + .form-control-custom { font-size: 1rem; } + .btns-container { display: flex; flex-direction: column; gap: 8px; } + .btn-submit, .btn-cancel { width: 100%; margin-right: 0; } } \ No newline at end of file diff --git a/src/components/doctors/DoctorForm.jsx b/src/components/doctors/DoctorForm.jsx index 8f553ab..f11e835 100644 --- a/src/components/doctors/DoctorForm.jsx +++ b/src/components/doctors/DoctorForm.jsx @@ -135,14 +135,11 @@ function DoctorForm({ onSave, onCancel, formData, setFormData, isLoading }) { } }; - const handleAvailabilityUpdate = useCallback((newAvailability) => { - setFormData((prev) => { - if (JSON.stringify(prev.availability) !== JSON.stringify(newAvailability)) { +const handleAvailabilityUpdate = useCallback((newAvailability) => { + setFormData((prev) => { return { ...prev, availability: newAvailability }; - } - return prev; }); - }, []); +}, [setFormData]); const handleCepBlur = async () => { const cep = formData.cep?.replace(/\D/g, ""); @@ -326,17 +323,9 @@ function DoctorForm({ onSave, onCancel, formData, setFormData, isLoading }) { } try { - const savedDoctor = await onSave({ ...formData }); - - if (formData.availability && formData.availability.length > 0 && savedDoctor.id) { - if (formData.availabilityId) { - - await handlePatchAvailability(formData.availabilityId, formData.availability); - } else { - - await handleCreateAvailability(savedDoctor.id, formData.availability); - } - } + // Chama a função onSave (handleSave no DoctorEditPage) com o formData completo. + // A lógica de salvamento do médico e da disponibilidade é responsabilidade do componente pai. + await onSave({ ...formData }); } catch (error) { console.error("Erro ao salvar médico ou disponibilidade:", error); @@ -760,7 +749,7 @@ function DoctorForm({ onSave, onCancel, formData, setFormData, isLoading }) { Defina seus horários de atendimento para cada dia da semana. Marque um dia para começar a adicionar blocos de tempo.
-