From ee4f530bb1140543edcb47a0fb814499e1a3ba3b Mon Sep 17 00:00:00 2001 From: NANDO9322 Date: Thu, 11 Dec 2025 13:32:57 -0300 Subject: [PATCH] feat: (eventos) vincula dropdown com api --- frontend/components/EventForm.tsx | 57 ++++++++++++++----------------- frontend/services/apiService.ts | 10 ++++-- 2 files changed, 34 insertions(+), 33 deletions(-) diff --git a/frontend/components/EventForm.tsx b/frontend/components/EventForm.tsx index 632dd2c..080f763 100644 --- a/frontend/components/EventForm.tsx +++ b/frontend/components/EventForm.tsx @@ -26,7 +26,7 @@ import { useData } from "../contexts/DataContext"; import { UserRole } from "../types"; import { InstitutionForm } from "./InstitutionForm"; import { MapboxMap } from "./MapboxMap"; -import { getEventTypes } from "../services/apiService"; +import { getEventTypes, EventTypeResponse } from "../services/apiService"; interface EventFormProps { onCancel: () => void; @@ -56,7 +56,7 @@ export const EventForm: React.FC = ({ const [showToast, setShowToast] = useState(false); const [showInstitutionForm, setShowInstitutionForm] = useState(false); const [availableCourses, setAvailableCourses] = useState([]); - const [eventTypes, setEventTypes] = useState([]); + const [eventTypes, setEventTypes] = useState([]); const [isBackendDown, setIsBackendDown] = useState(false); const [isLoadingEventTypes, setIsLoadingEventTypes] = useState(true); @@ -101,15 +101,15 @@ export const EventForm: React.FC = ({ const formTitle = initialData ? "Editar Evento" : isClientRequest - ? "Solicitar Orçamento/Evento" - : "Cadastrar Novo Evento"; + ? "Solicitar Orçamento/Evento" + : "Cadastrar Novo Evento"; // Buscar tipos de eventos do backend useEffect(() => { const fetchEventTypes = async () => { setIsLoadingEventTypes(true); const response = await getEventTypes(); - + if (response.isBackendDown) { setIsBackendDown(true); setEventTypes([]); @@ -117,7 +117,7 @@ export const EventForm: React.FC = ({ setIsBackendDown(false); setEventTypes(response.data); } - + setIsLoadingEventTypes(false); }; @@ -126,8 +126,8 @@ export const EventForm: React.FC = ({ const submitLabel = initialData ? "Salvar Alterações" : isClientRequest - ? "Enviar Solicitação" - : "Criar Evento"; + ? "Enviar Solicitação" + : "Criar Evento"; // Carregar cursos disponíveis quando instituição for selecionada useEffect(() => { @@ -342,16 +342,14 @@ export const EventForm: React.FC = ({ {["details", "location", "briefing", "files"].map((tab, idx) => (
{idx + 1} @@ -377,11 +375,10 @@ export const EventForm: React.FC = ({ @@ -478,8 +474,8 @@ export const EventForm: React.FC = ({ > {eventTypes.map((type) => ( - ))} @@ -888,9 +884,8 @@ export const EventForm: React.FC = ({ /> diff --git a/frontend/services/apiService.ts b/frontend/services/apiService.ts index d68a787..610fde2 100644 --- a/frontend/services/apiService.ts +++ b/frontend/services/apiService.ts @@ -46,11 +46,17 @@ export async function getProfessionalRoles(): Promise> { return fetchFromBackend('/professional-roles'); } +export interface EventTypeResponse { + id: string; + nome: string; + precos: any[]; +} + /** * Busca os tipos de eventos disponíveis */ -export async function getEventTypes(): Promise> { - return fetchFromBackend('/event-types'); +export async function getEventTypes(): Promise> { + return fetchFromBackend('/api/tipos-eventos'); } /**