- Hero: diagonal 3-video split on desktop, single center video on mobile (CSS breakpoint)
- Videos render client-side only to avoid hydration mismatch
- Loading overlay (z-5) hides buffering without blocking text content
- Admin hero editor: 3 fixed slots (left/center/right) with upload, preview, remove
- Center slot marked as main (used on mobile), save blocked until all 3 filled
- Upload API: supports MP4/WebM (50MB) in hero folder alongside existing image uploads
- Added videos field to hero type and fallback data
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- NewsItem type with title, text, date, optional image and link
- Admin page at /admin/news with image upload and auto-date
- Public section between Pricing and FAQ, hidden when empty
- Nav link auto-hides when no news items exist
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>
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>
- 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>
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>
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>