+ {item.title} +
++ {item.text} +
+diff --git a/src/components/sections/MasterClasses.tsx b/src/components/sections/MasterClasses.tsx index 808b60f..609bba5 100644 --- a/src/components/sections/MasterClasses.tsx +++ b/src/components/sections/MasterClasses.tsx @@ -35,7 +35,6 @@ function formatSlots(slots: MasterClassSlot[]): string { const dates = sorted.map((s) => parseDate(s.date)).filter((d) => !isNaN(d.getTime())); if (dates.length === 0) return ""; - // Time part from first slot const timePart = sorted[0].startTime ? `, ${sorted[0].startTime}–${sorted[0].endTime}` : ""; @@ -80,6 +79,107 @@ function isUpcoming(item: MasterClassItem): boolean { return lastDate >= today; } +function MasterClassCard({ + item, + onSignup, +}: { + item: MasterClassItem; + onSignup: () => void; +}) { + const duration = item.slots[0] ? calcDuration(item.slots[0]) : ""; + const slotsDisplay = formatSlots(item.slots); + + return ( +
+ {item.text} +
++ {item.text} +
+- {item.text} -
- {item.link && ( - -+ {item.text} +
+ + {item.link && ( + + Подробнее +