Compare commits

..

2 Commits

Author SHA1 Message Date
9f1697fd93 feat: add real content and team photos from Notion
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>
2026-03-09 21:30:33 +03:00
0cbb818b72 feat: add real content from Notion page
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>
2026-03-09 20:44:04 +03:00
18 changed files with 157 additions and 51 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

View File

@@ -1,4 +1,4 @@
import { Flame, Sparkles, Wind, Music } from "lucide-react"; import { Flame, Sparkles, Wind, Zap, Star, Monitor } from "lucide-react";
import { siteContent } from "@/data/content"; import { siteContent } from "@/data/content";
import { SectionHeading } from "@/components/ui/SectionHeading"; import { SectionHeading } from "@/components/ui/SectionHeading";
import { Reveal } from "@/components/ui/Reveal"; import { Reveal } from "@/components/ui/Reveal";
@@ -7,7 +7,9 @@ const iconMap: Record<string, React.ReactNode> = {
flame: <Flame size={32} />, flame: <Flame size={32} />,
sparkles: <Sparkles size={32} />, sparkles: <Sparkles size={32} />,
wind: <Wind size={32} />, wind: <Wind size={32} />,
music: <Music size={32} />, zap: <Zap size={32} />,
star: <Star size={32} />,
monitor: <Monitor size={32} />,
}; };
export function Classes() { export function Classes() {

View File

@@ -14,10 +14,12 @@ export function Contact() {
<SectionHeading>{contact.title}</SectionHeading> <SectionHeading>{contact.title}</SectionHeading>
<div className="mt-12 space-y-6"> <div className="mt-12 space-y-6">
<div className="contact-item"> {contact.addresses.map((address, i) => (
<MapPin size={20} className="contact-icon" /> <div key={i} className="contact-item">
<p className="body-text">{contact.address}</p> <MapPin size={20} className="contact-icon" />
</div> <p className="body-text">{address}</p>
</div>
))}
<div className="contact-item"> <div className="contact-item">
<Phone size={20} className="contact-icon" /> <Phone size={20} className="contact-icon" />

View File

@@ -1,4 +1,5 @@
import { User } from "lucide-react"; import Image from "next/image";
import { Instagram } from "lucide-react";
import { siteContent } from "@/data/content"; import { siteContent } from "@/data/content";
import { SectionHeading } from "@/components/ui/SectionHeading"; import { SectionHeading } from "@/components/ui/SectionHeading";
import { Reveal } from "@/components/ui/Reveal"; import { Reveal } from "@/components/ui/Reveal";
@@ -17,11 +18,30 @@ export function Team() {
{team.members.map((member, i) => ( {team.members.map((member, i) => (
<Reveal key={i}> <Reveal key={i}>
<div className="card text-center"> <div className="card text-center">
<div className="mx-auto flex h-32 w-32 items-center justify-center overflow-hidden rounded-full bg-neutral-200 dark:bg-neutral-800"> <div className="mx-auto h-32 w-32 overflow-hidden rounded-full">
<User size={48} className="muted-text" /> <Image
src={member.image}
alt={member.name}
width={128}
height={128}
className="h-full w-full object-cover"
/>
</div> </div>
<h3 className="heading-text mt-4 text-lg font-semibold">{member.name}</h3> <h3 className="heading-text mt-4 text-lg font-semibold">{member.name}</h3>
<p className="muted-text mt-1 text-sm">{member.role}</p> <p className="muted-text mt-1 text-sm">{member.role}</p>
{member.instagram && (
<a
href={member.instagram}
target="_blank"
rel="noopener noreferrer"
className="nav-link mt-2 inline-flex items-center gap-1 text-sm"
>
<Instagram size={14} />
<span>
@{member.instagram.split("/").filter(Boolean).pop()}
</span>
</a>
)}
</div> </div>
</Reveal> </Reveal>
))} ))}

View File

@@ -4,74 +4,155 @@ export const siteContent: SiteContent = {
meta: { meta: {
title: "BLACK HEART DANCE HOUSE | Школа танцев", title: "BLACK HEART DANCE HOUSE | Школа танцев",
description: description:
"Школа танцев BLACK HEART DANCE HOUSE — pole dance, exotic, stretching и другие направления", "Школа танцев BLACK HEART DANCE HOUSE — pole dance, exotic, body plastic и другие направления в Минске",
}, },
hero: { hero: {
headline: "BLACK HEART DANCE HOUSE", headline: "BLACK HEART DANCE HOUSE",
subheadline: "Раскрой свою силу через танец", subheadline:
"Открой для себя яркий, завораживающий и незабываемый мир танцев на пилоне!",
ctaText: "Записаться", ctaText: "Записаться",
ctaHref: "#contact", ctaHref: "#contact",
}, },
team: {
title: "Наша команда",
members: [
{
name: "Имя Фамилия",
role: "Pole Dance / Exotic",
image: "/images/team-placeholder.jpg",
},
{
name: "Имя Фамилия",
role: "Stretching",
image: "/images/team-placeholder.jpg",
},
{
name: "Имя Фамилия",
role: "Strip Plastic",
image: "/images/team-placeholder.jpg",
},
],
},
about: { about: {
title: "О нас", title: "О нас",
paragraphs: [ paragraphs: [
"Мы — студия танцев, где каждый найдёт своё направление. BLACK HEART DANCE HOUSE — это пространство для тех, кто хочет раскрыть свою женственность, силу и грацию.", "Топовые тренеры, стильные залы, чувственные хореографии и мощная спортивная подготовка.",
"Наши преподаватели — действующие спортсмены и победители соревнований. Мы создаём атмосферу поддержки и вдохновения для учеников любого уровня подготовки.", "Обучаем с нуля до профи!",
],
},
team: {
title: "Настоящие профи!",
members: [
{
name: "Виктор Артемов",
role: "Тренер",
image: "/images/team/viktor-artyomov.webp",
instagram: "https://instagram.com/viktor.artyomov/",
},
{
name: "Анна Тарыба",
role: "Тренер",
image: "/images/team/anna-taryba.webp",
instagram: "https://instagram.com/annataryba/",
},
{
name: "Анастасия Чалей",
role: "Тренер",
image: "/images/team/anastasia-chaley.webp",
instagram: "https://instagram.com/nastya_chaley/",
},
{
name: "Ольга Демидова",
role: "Тренер",
image: "/images/team/olga-demidova.webp",
instagram: "https://instagram.com/don_olga_red/",
},
{
name: "Галина Савицкая",
role: "Тренер",
image: "/images/team/galina-savitskaya.webp",
},
{
name: "Ирина Третьюкович",
role: "Тренер",
image: "/images/team/irina-tretyukovich.webp",
instagram: "https://instagram.com/irkatretya/",
},
{
name: "Надежда Сух",
role: "Тренер",
image: "/images/team/nadezhda-sukh.webp",
instagram: "https://instagram.com/nadja.dance/",
},
{
name: "Ирина Карпусь",
role: "Тренер",
image: "/images/team/irina-karpus.webp",
instagram: "https://instagram.com/karpus_iri/",
},
{
name: "Юлия Книга",
role: "Тренер",
image: "/images/team/yuliya-kniga.webp",
instagram: "https://instagram.com/knigynzel/",
},
{
name: "Елена Чигилейчик",
role: "Тренер",
image: "/images/team/elena-chigileychik.webp",
instagram: "https://instagram.com/alenachygi/",
},
{
name: "Елена Тарасевич",
role: "Тренер",
image: "/images/team/elena-tarasevic.webp",
instagram: "https://instagram.com/cerceia/",
},
{
name: "Ольга Грабовец",
role: "Тренер",
image: "/images/team/olga-grabovets.webp",
instagram: "https://instagram.com/lo_woolf/",
},
{
name: "Кристина Войтович",
role: "Тренер",
image: "/images/team/kristina-voytovich.webp",
instagram: "https://instagram.com/chris_voytovich/",
},
], ],
}, },
classes: { classes: {
title: "Направления", title: "Скорее, мы ждём!",
items: [ items: [
{ {
name: "Pole Dance", name: "Exotic Pole Dance",
description: "Сила, грация и пластика на пилоне. Для любого уровня подготовки.", description:
icon: "flame", "Чувственная хореография с элементами pole dance в каблуках.",
},
{
name: "Exotic Pole",
description: "Чувственная хореография с элементами pole dance в каблуках.",
icon: "sparkles", icon: "sparkles",
}, },
{ {
name: "Stretching", name: "Pole Dance",
description: "Развитие гибкости и пластичности тела. Шпагаты, мостики, складки.", description:
"Сила, грация и пластика на пилоне. Для любого уровня подготовки.",
icon: "flame",
},
{
name: "Body Plastic",
description:
"Танцевальное направление, раскрывающее женственность и пластику тела.",
icon: "wind", icon: "wind",
}, },
{ {
name: "Strip Plastic", name: "Партерная акробатика",
description: "Танцевальное направление, раскрывающее женственность и пластику тела.", description:
icon: "music", "Акробатические элементы в партере для развития силы и гибкости.",
icon: "zap",
},
{
name: "Мастер классы",
description:
"Уникальные занятия с приглашёнными топовыми тренерами.",
icon: "star",
},
{
name: "Онлайн занятия",
description: "Тренировки в удобное время из любой точки мира.",
icon: "monitor",
}, },
], ],
}, },
contact: { contact: {
title: "Контакты", title: "Контакты",
address: "г. Минск, ул. Примерная, 1", addresses: [
phone: "+375 (XX) XXX-XX-XX", "г. Минск, Матерова, 17к4",
"г. Минск, Притыцкого, 62к1",
],
phone: "+375 29 389-70-01",
email: "info@blackheartdance.by", email: "info@blackheartdance.by",
instagram: "https://instagram.com/blackheartdancehouse", instagram: "https://instagram.com/blackheartdancehouse/",
mapEmbedUrl: mapEmbedUrl:
"https://yandex.ru/map-widget/v1/?um=constructor%3Aexample&source=constructor", "https://yandex.ru/map-widget/v1/?ll=27.512%2C53.912&z=12&l=map&pt=27.5656%2C53.91583%2Cpm2rdm~27.45974%2C53.90832%2Cpm2rdm",
workingHours: "Пн — Сб: 10:00 — 22:00", workingHours: "Пн — Сб: 10:00 — 22:00",
}, },
}; };

View File

@@ -8,11 +8,12 @@ export interface TeamMember {
name: string; name: string;
role: string; role: string;
image: string; image: string;
instagram?: string;
} }
export interface ContactInfo { export interface ContactInfo {
title: string; title: string;
address: string; addresses: string[];
phone: string; phone: string;
email: string; email: string;
instagram: string; instagram: string;