From 61b7bba5af70854fa44e66d39df96501b35d18e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cau=C3=AA=20Faleiros?= Date: Tue, 8 Sep 2026 16:37:18 -0300 Subject: [PATCH] fix: make trail course selection explicit --- pages/TrailDetail.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pages/TrailDetail.tsx b/pages/TrailDetail.tsx index f297af2..8c02579 100644 --- a/pages/TrailDetail.tsx +++ b/pages/TrailDetail.tsx @@ -22,6 +22,7 @@ export const TrailDetail: React.FC = () => { const [isLoading, setIsLoading] = useState(true); const [isSaving, setIsSaving] = useState(false); const [isUploading, setIsUploading] = useState(false); + const [courseToAdd, setCourseToAdd] = useState(''); const load = async () => { setIsLoading(true); @@ -51,6 +52,11 @@ export const TrailDetail: React.FC = () => { const selectedCourses = useMemo(() => input.courseIds.map((id) => courses.find((course) => course.id === id)).filter((course): course is CourseOption => Boolean(course)), [courses, input.courseIds]); const availableCourses = useMemo(() => courses.filter((course) => !input.courseIds.includes(course.id)), [courses, input.courseIds]); + const addSelectedCourse = () => { + if (!courseToAdd) return; + setInput((current) => ({ ...current, courseIds: [...current.courseIds, courseToAdd] })); + setCourseToAdd(''); + }; const moveCourse = (courseId: string, direction: -1 | 1) => setInput((current) => { const index = current.courseIds.indexOf(courseId); const target = index + direction; if (index < 0 || target < 0 || target >= current.courseIds.length) return current; @@ -102,5 +108,5 @@ export const TrailDetail: React.FC = () => { if (isLoading) return
; - return
{trail?.status === 'published' && }
{ void uploadCover(event.target.files?.[0]); event.currentTarget.value = ''; }} />

{isNew ? 'Nova trilha' : 'Trilha de cursos'}