feat: mobile UX improvements across admin and public site
- Team carousel: simple swipe on mobile instead of drag - Schedule: filter button inline with hall tabs, larger on mobile - Schedule filters: fix nested button hydration error - Admin bookings: select dropdown on mobile, filter highlight on dashboard cards - Admin bookings: searchable dropdowns in add booking modal with class selector - Admin bookings: waiting list divider inside groups - Admin bookings: new bookings appear without page reload - Admin open-day: action buttons visible on mobile, confirm dialog, click-outside to close edit - API: pass groupInfo on group booking creation - SignupModal: Instagram link on success popup
This commit is contained in:
@@ -173,11 +173,25 @@ export function GenericBookingsList<T extends BaseBooking>({
|
||||
</div>
|
||||
)}
|
||||
</button>
|
||||
{isOpen && (
|
||||
<div className="px-4 pb-3 pt-1 space-y-2">
|
||||
{group.items.map((item) => renderItem(item, group.isArchived))}
|
||||
</div>
|
||||
)}
|
||||
{isOpen && (() => {
|
||||
const regular = group.items.filter((i) => !i.notes?.includes("Лист ожидания"));
|
||||
const waiting = group.items.filter((i) => i.notes?.includes("Лист ожидания"));
|
||||
return (
|
||||
<div className="px-4 pb-3 pt-1 space-y-2">
|
||||
{regular.map((item) => renderItem(item, group.isArchived))}
|
||||
{waiting.length > 0 && (
|
||||
<>
|
||||
<div className="flex items-center gap-2 pt-1">
|
||||
<div className="flex-1 h-px bg-amber-500/20" />
|
||||
<span className="text-[10px] text-amber-400 shrink-0">лист ожидания</span>
|
||||
<div className="flex-1 h-px bg-amber-500/20" />
|
||||
</div>
|
||||
{waiting.map((item) => renderItem(item, group.isArchived))}
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
})()}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user