feat: add Записаться button to group cards with pre-filled Instagram DM

- BookingModal now accepts optional groupInfo for pre-filled message
- Trainer profile: each group card has Записаться button
- Schedule group view: each group card has Записаться button
- Message includes class type, trainer, days, and time

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-15 16:45:27 +03:00
parent 4f92057411
commit 6981376171
4 changed files with 37 additions and 3 deletions

View File

@@ -55,6 +55,7 @@ interface GroupViewProps {
filterTrainer: string | null;
setFilterTrainer: (trainer: string | null) => void;
showLocation?: boolean;
onBook?: (groupInfo: string) => void;
}
export function GroupView({
@@ -65,6 +66,7 @@ export function GroupView({
filterTrainer,
setFilterTrainer,
showLocation,
onBook,
}: GroupViewProps) {
const groups = buildGroups(filteredDays);
@@ -177,6 +179,14 @@ export function GroupView({
</div>
))}
</div>
{onBook && (
<button
onClick={() => onBook(`${group.type}, ${group.trainer}, ${group.slots.map(s => s.dayShort).join("/")} ${group.slots[0]?.time ?? ""}`)}
className="w-full mt-3 rounded-xl bg-gold/15 border border-gold/25 py-2 text-xs font-semibold text-gold-dark dark:text-gold hover:bg-gold/25 transition-colors cursor-pointer"
>
Записаться
</button>
)}
</div>
</div>
);