- Auto-detect class groups (same trainer + type + time across days)
- Edit modal shows all group days pre-selected (e.g., ВТ/ПТ both lit)
- Toggle days to add/remove class from specific days
- Delete removes class from all days in the group
- New class modal lets you pick multiple days at once
- Visual hints: green +day / red −day for pending changes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add clickable color picker in schedule legend (16 distinct colors)
- Two-pass smart assignment: explicit colors first, then unused palette slots
- Hide already-used colors from the picker (both explicit and fallback)
- Colors saved to classes section and flow to public site schedule dots
- Expanded palette: rose, orange, amber, yellow, lime, emerald, teal, cyan,
sky, blue, indigo, violet, purple, fuchsia, pink, red
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Card-body drag was causing accidental drags in complex form cards
(classes, FAQ, pricing). Keep grip-icon-only drag for ArrayEditor,
card-body drag remains on team page (simple cards).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Defer onChange call in ArrayEditor drag drop to queueMicrotask to
avoid calling parent setState inside React updater. Add hover
highlight on draggable cards for better visual feedback.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Drag from grip icon (instant) or card body (8px movement threshold)
- Floating clone + placeholder at drop position
- Disable text selection during drag
- Auto-resize textareas, hidden scrollbar/resize handle
- Dark admin scrollbar styles
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Textareas auto-grow with content and on window resize, no scrollbar
or resize handle needed. Added dark admin scrollbar styles for cases
where overflow is needed.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace arrow buttons with mouse-based drag-and-drop in ArrayEditor
and team page. Dragged card follows cursor with floating clone, empty
placeholder shows at drop position. SectionEditor now auto-saves with
800ms debounce instead of manual save button.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Complete admin panel for content management:
- SQLite database with better-sqlite3, seed script from content.ts
- Simple password auth with HMAC-signed cookies (Edge + Node compatible)
- 9 section editors: meta, hero, about, team, classes, schedule, pricing, FAQ, contact
- Team CRUD with image upload and drag reorder
- Schedule editor with Google Calendar-style visual timeline (colored blocks, overlap detection, click-to-add)
- All public components refactored to accept data props from DB (with fallback to static content)
- Middleware protecting /admin/* and /api/admin/* routes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Dynamic class concatenation ("xl:grid-cols-" + n) isn't detected by
Tailwind's scanner. Use explicit literal class names for 5/6/7 columns.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Subscription cards in responsive grid (1/2/3 cols)
- Popular badge with sparkle floating above first card
- Unlimited plan as featured card with glitter border and crown icon
- Rental items as individual rounded cards
- Rules in numbered card layout
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Animated gold border glitter effect on active team card and class image
- Classes selector: 2-column grid on mobile (no scroll), list on desktop
- Selector appears above detail on mobile (flex-col-reverse)
- Compact selector items on mobile (icon + name only)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
On mobile, tapping a trainer name or class type in the agenda list
filters to show all their sessions across the week. Active filter
shown as a banner with clear button. Desktop filters unchanged.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Mobile shows all days as a vertical timeline with compact class rows
(time + trainer + type on each line). Desktop keeps the card grid.
Filters are horizontally scrollable on mobile.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Two locations (Притыцкого 62/М, Машерова 17/4) with day-grid layout,
class type/trainer/status filters, and badges for availability and recruiting.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- About: add 3 stat cards (13 trainers, 6 styles, 2 locations)
- Pricing: highlight first plan with gold "Популярный" badge
- BackToTop: floating gold button appears after 600px scroll
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- FAQ: split into 2 columns on desktop to reduce section height
- Team: remove description line-clamp, show full bio
- ShowcaseLayout: add swipe navigation on mobile, optional counter
- Counter shows current/total with gold accent styling
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add animated gold sparkle dots on heart surface with glow filter
- Brighten heart metal fill for better visibility against dark bg
- Update headline gradient to dark metallic gold (no white tones)
- Apply gradient-text to all section headings for consistency
- Warm gold subtitle color in hero
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Split heart SVG into 3 sub-paths with independent staggered
stroke-dashoffset animations for continuous gold glint effect.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace modals with ShowcaseLayout for Team and Classes sections
- Add warm photo filter matching dark/gold color scheme
- Replace generic "Тренер" with actual specializations per member
- Fix heart logo color animation loop (seamless repeat)
- Style scrollbar with gold theme, pause auto-rotation on hover
- Auto-scroll only when active item is out of view
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Complete visual overhaul: dark-only mode, rose/crimson accent system,
glassmorphism header, animated hero with floating hearts and glow orbs,
photo-backed cards, infinite team carousel with drag support,
redesigned modals with hero images, black heart logo with rose glow silhouette.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Click on a team card to see a popup with larger photo, Instagram link,
and personal description. All 13 team members now have descriptions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove role text, add clickable Instagram usernames with icon,
and align card heights consistently.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add 13 team members with photos and Instagram links, 6 class types,
real contact info with two addresses, and Yandex Maps with markers.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fill in team members, classes, contact info, and Yandex Maps with
actual data from the BLACK HEART DANCE HOUSE Notion page.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace default Next.js favicon with the Blackheart logo. Remove white
background from logo PNG for proper transparency in dark mode. Add
unoptimized prop to next/image to preserve alpha channel.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>