refactor: consolidate formations into trails
All checks were successful
CI / Validate frontend and API (push) Successful in 43s
CI / Build and publish Docker images (push) Successful in 17s

This commit is contained in:
Cauê Faleiros
2026-09-04 17:04:26 -03:00
parent 895b0dd00e
commit c18e63f0e4
7 changed files with 21 additions and 21 deletions

View File

@@ -17,8 +17,8 @@ export const LearningPathRow: React.FC<LearningPathRowProps> = ({ paths, courses
return <>
<section className="mx-auto w-full max-w-[1440px] px-6 py-6 md:px-12">
<div className="mb-4 flex items-baseline gap-3">
<h2 className="font-display text-xl font-bold text-gray-100 md:text-2xl">Formações</h2>
<span className="text-xs font-semibold uppercase tracking-wider text-gray-500">{paths.length} {paths.length === 1 ? 'formação' : 'formações'}</span>
<h2 className="font-display text-xl font-bold text-gray-100 md:text-2xl">Trilhas</h2>
<span className="text-xs font-semibold uppercase tracking-wider text-gray-500">{paths.length} {paths.length === 1 ? 'trilha' : 'trilhas'}</span>
</div>
<div className="flex gap-5 overflow-x-auto pb-4 hide-scrollbar snap-x snap-mandatory">
{paths.map((path) => <button key={path.id} onClick={() => setSelectedPath(path)} className="group relative w-[300px] shrink-0 snap-start overflow-hidden rounded-xl border border-white/10 bg-zinc-950 text-left shadow-xl transition hover:-translate-y-1 hover:border-orange-500/60">
@@ -27,7 +27,7 @@ export const LearningPathRow: React.FC<LearningPathRowProps> = ({ paths, courses
<div className="absolute inset-0 bg-gradient-to-t from-black/70 to-transparent" />
<span className="absolute bottom-3 left-3 rounded-full bg-black/60 px-2.5 py-1 text-[10px] font-bold uppercase tracking-wider text-white backdrop-blur">{path.courses.length} {path.courses.length === 1 ? 'curso' : 'cursos'}</span>
</div>
<div className="p-4"><h3 className="truncate font-semibold text-white group-hover:text-orange-300">{path.title}</h3><p className="mt-1 line-clamp-2 min-h-10 text-sm leading-relaxed text-gray-500">{path.description || 'Uma trilha organizada para avançar passo a passo.'}</p><span className="mt-3 inline-flex items-center gap-1 text-sm font-semibold text-orange-400">Ver formação <ArrowRight className="h-4 w-4" /></span></div>
<div className="p-4"><h3 className="truncate font-semibold text-white group-hover:text-orange-300">{path.title}</h3><p className="mt-1 line-clamp-2 min-h-10 text-sm leading-relaxed text-gray-500">{path.description || 'Uma trilha organizada para avançar passo a passo.'}</p><span className="mt-3 inline-flex items-center gap-1 text-sm font-semibold text-orange-400">Ver trilha <ArrowRight className="h-4 w-4" /></span></div>
</button>)}
</div>
</section>