feat: structured victories/education with photos, links, and editorial profile layout
- Add VictoryItem type (place, category, competition, location, date, image, link) - Add RichListItem type for education with image/link support - Backward-compatible DB parsing for old string[] formats - Admin forms with structured fields and image upload per item - Victory/education cards with photo overlay and lightbox - Remove max-width constraint from trainer profile for full-width layout Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -36,33 +36,35 @@ export function Team({ data: team }: TeamProps) {
|
||||
<Reveal>
|
||||
<SectionHeading centered>{team.title}</SectionHeading>
|
||||
</Reveal>
|
||||
</div>
|
||||
|
||||
<Reveal>
|
||||
<div className="mt-10">
|
||||
{!showProfile ? (
|
||||
<>
|
||||
<TeamCarousel
|
||||
members={team.members}
|
||||
activeIndex={activeIndex}
|
||||
onActiveChange={setActiveIndex}
|
||||
/>
|
||||
<Reveal>
|
||||
<div className="mt-10 px-4 sm:px-6">
|
||||
{!showProfile ? (
|
||||
<>
|
||||
<TeamCarousel
|
||||
members={team.members}
|
||||
activeIndex={activeIndex}
|
||||
onActiveChange={setActiveIndex}
|
||||
/>
|
||||
|
||||
<div className="mx-auto max-w-6xl">
|
||||
<TeamMemberInfo
|
||||
members={team.members}
|
||||
activeIndex={activeIndex}
|
||||
onSelect={setActiveIndex}
|
||||
onOpenBio={() => setShowProfile(true)}
|
||||
/>
|
||||
</>
|
||||
) : (
|
||||
<TeamProfile
|
||||
member={team.members[activeIndex]}
|
||||
onBack={() => setShowProfile(false)}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
</Reveal>
|
||||
</div>
|
||||
</div>
|
||||
</>
|
||||
) : (
|
||||
<TeamProfile
|
||||
member={team.members[activeIndex]}
|
||||
onBack={() => setShowProfile(false)}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
</Reveal>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user