/* global React */
/* BOHAM — dedicated kitesurf page (Kitesurf Barra Grande) */
(function () {
const { Tag } = window.BOHAMDesignSystem_8e9a1f;
const L = window.L;
const PRICES = 'https://drive.google.com/file/d/1V4wpFTFZEXam-83n-LdLN14nbA9ZtaJl/view?usp=drive_link';
const IG_SCHOOL = 'https://www.instagram.com/bohamkiteschool/';
function PillLink({ href, children, tone = 'teal' }) {
const bg = tone === 'teal' ? 'var(--boham-teal)' : 'var(--boham-butter)';
const fg = tone === 'teal' ? 'var(--boham-butter)' : 'var(--boham-teal)';
return (
{children});
}
// ---- Hero ---------------------------------------------------------------
function KiteHero() {
const lang = window.useBohamLang();
const IgIcon = window.BohamIgIcon;
return (
{L(lang, 'Barra Grande · Piauí · Brazil', 'Barra Grande · Piauí · Brasil', 'Barra Grande · Piauí · Brésil')}
{L(lang, 'Kitesurf in Barra Grande', 'Kitesurf em Barra Grande', 'Kitesurf à Barra Grande')}
{L(lang,
'Flat water, side-onshore trades from July to January, and a kite school on the sand at BOHAM: lessons, brand-new Reedin 2026 rental gear, storage, beach assistance and guided downwinders.',
'Água plana, alísios side-onshore de julho a janeiro e uma escola de kite na areia do BOHAM: aulas, equipamento Reedin 2026 novo para alugar, guardaria, assistência na praia e downwinds guiados.',
'Eau plate, alizés side-on de juillet à janvier, et une école de kite sur le sable du BOHAM : cours, matériel Reedin 2026 neuf en location, stockage, assistance plage et downwinds guidés.')}
{L(lang, 'Lessons & rental prices ↗', 'Tabela de preços ↗', 'Tarifs cours & location ↗')}
{IgIcon && }
);
}
// ---- The spot: conditions + live forecast --------------------------------
function Spot() {
const lang = window.useBohamLang();
const stats = [
{ n: '18–30', u: L(lang, 'knots', 'nós', 'nœuds'), k: L(lang, 'Gusts to 35 in peak season', 'Rajadas até 35 na alta temporada', 'Rafales jusqu’à 35 en haute saison') },
{ n: 'SIDE-ON', u: L(lang, 'shore', 'shore'), k: L(lang, 'A downed kite drifts you back in', 'Kite na água te traz de volta à praia', 'Un vent régulier qui ramène vers la plage') },
{ n: 'JUL–JAN', u: '', k: L(lang, 'Wind season, peak Sep–Nov', 'Temporada de vento, pico set–nov', 'Saison de vent, pic sept–nov') },
{ n: '27°', u: 'C', k: L(lang, 'Warm water, no wetsuit', 'Água quente o ano todo', 'Eau chaude toute l’année') }];
const facts = [
{ k: L(lang, 'Flat water at low tide', 'Água plana na maré baixa', 'Flat à marée basse'), v: L(lang, 'Large shallow areas open up right in front of BOHAM: waist-deep, forgiving, and ideal for first lessons, water starts and freestyle.', 'Grandes áreas rasas surgem bem na frente do BOHAM: água na cintura, perdoa erros, ideal para as primeiras aulas, water start e freestyle.', 'De grandes zones peu profondes s’ouvrent juste devant BOHAM : eau à la taille, indulgente, idéale pour les premiers cours, les water starts et le freestyle.') },
{ k: L(lang, 'Choppier at high tide', 'Mais mexido na maré alta', 'Plus clapoteux à marée haute'), v: L(lang, 'The water gets livelier as the tide fills in, with enough push to work on jumps and transitions. All levels, all tides.', 'A água fica mais viva conforme a maré enche, com impulso suficiente para treinar saltos e transições. Todos os níveis, todas as marés.', 'Le plan d’eau s’anime à marée montante, avec assez de relief pour travailler sauts et transitions. Tous niveaux, toutes marées.') },
{ k: L(lang, 'Space on the water', 'Espaço na água', 'De l’espace sur l’eau'), v: L(lang, 'Barra Grande is still a fishing village. Even in peak season the beach stays wide and the line-up uncrowded.', 'Barra Grande ainda é uma vila de pescadores. Mesmo na alta temporada a praia é larga e a água, vazia.', 'Barra Grande reste un village de pêcheurs. Même en pleine saison, la plage est large et l’eau peu fréquentée.') }];
return (
{L(lang, 'The spot', 'O pico', 'Le spot')}
{L(lang, 'Kitesurfing conditions in Barra Grande', 'Condições de kitesurf em Barra Grande', 'Les conditions de kitesurf à Barra Grande')}
{stats.map((s) =>
{s.n}
{s.u && {s.u}}
{s.k}
)}
{facts.map((f) =>
{f.k}
{f.v}
)}
{L(lang, 'Live forecast · Windguru', 'Previsão ao vivo · Windguru', 'Prévisions en direct · Windguru')}
);
}
// ---- How a course works ---------------------------------------------------
function Lessons() {
const lang = window.useBohamLang();
const levels = [
{ t: L(lang, 'Never kited', 'Nunca velejou', 'Jamais kité'), h: L(lang, '6–9 h, usually 3 days', '6–9 h, normalmente 3 dias', '6–9 h, souvent 3 jours'), d: L(lang, 'Wind window and safety systems, body drag, board recovery, first water starts and first rides in the shallows.', 'Janela de vento e sistemas de segurança, body drag, recuperar a prancha, primeiros water starts e primeiras navegadas na água rasa.', 'Fenêtre de vent et systèmes de sécurité, body drag, récupération de planche, premiers water starts et premiers bords dans le shallow.') },
{ t: L(lang, 'Riding, not independent', 'Já navega, sem autonomia', 'Navigue, pas autonome'), h: L(lang, '2–4 h', '2–4 h', '2–4 h'), d: L(lang, 'Upwind riding, transitions, self-launch and self-rescue, reading the tide and choosing the right kite size.', 'Navegar contra o vento, transições, decolagem e auto-resgate, ler a maré e escolher o tamanho de kite certo.', 'Remonter au vent, transitions, décollage seul et auto-sauvetage, lire la marée et choisir la bonne taille d’aile.') },
{ t: L(lang, 'Progression & coaching', 'Evolução & coaching', 'Progression & coaching'), h: L(lang, 'By the hour', 'Por hora', 'À l’heure'), d: L(lang, 'Jumps, first tricks, strapless or foil sessions, filmed and reviewed between runs, plus guided downwinders.', 'Saltos, primeiras manobras, sessões strapless ou foil, filmadas e analisadas entre as séries, além de downwinds guiados.', 'Sauts, premières figures, sessions strapless ou foil, filmées et débriefées entre deux bords, et downwinds guidés.') }];
const included = [
L(lang, 'Reedin 2026 kite, board, bar and harness', 'Kite, prancha, barra e trapézio Reedin 2026', 'Aile, planche, barre et harnais Reedin 2026'),
L(lang, 'Helmet, impact vest and radio helmet', 'Capacete, colete de impacto e capacete com rádio', 'Casque, gilet d’impact et casque radio'),
L(lang, 'One instructor, individual lessons', 'Um instrutor, aulas individuais', 'Un moniteur, cours individuels'),
L(lang, 'Beach assistance, launch and landing', 'Assistência na praia, decolagem e pouso', 'Assistance plage, décollage et atterrissage')];
const bring = [
L(lang, 'Lycra or rashguard, boardshorts or bikini', 'Lycra, bermuda ou biquíni', 'Lycra, boardshort ou maillot'),
L(lang, 'Reef-safe sunscreen and a cap', 'Protetor solar e boné', 'Crème solaire et casquette'),
L(lang, 'Sunglasses with a leash', 'Óculos de sol com cordinha', 'Lunettes avec cordon'),
L(lang, 'No wetsuit needed: the water is 27 °C', 'Sem roupa de neoprene: a água tem 27 °C', 'Pas de combinaison : l’eau est à 27 °C')];
const Col = ({ title, items }) =>
{L(lang, 'How a kite course works', 'Como funciona um curso de kite', 'Comment se déroule un cours')}
{L(lang, 'Lessons run in the morning when the wind is lighter, or in the afternoon once it fills in. We follow the tide: shallow flat water for the first hours, deeper water as you get independent.', 'As aulas acontecem de manhã, com vento mais leve, ou à tarde quando ele entra. Seguimos a maré: água rasa e plana nas primeiras horas, água mais funda conforme você ganha autonomia.', 'Les cours ont lieu le matin quand le vent est plus léger, ou l’après-midi une fois qu’il est établi. On suit la marée : eau plate et peu profonde pour les premières heures, plus profonde à mesure que vous devenez autonome.')}
{levels.map((l) =>
{l.t}{l.h}
{l.d}
)}
);
}
// ---- Downwinds, lagoons & the Delta --------------------------------------
function Downwind() {
const lang = window.useBohamLang();
return (
{L(lang, 'Beyond the beach', 'Além da praia', 'Au-delà de la plage')}
{L(lang, 'Downwinds, lagoons & the Delta', 'Downwinds, lagoas & o Delta', 'Downwinds, lagunes & le Delta')}
{L(lang,
'A few minutes downwind of BOHAM: the Macapá lagoons, mangrove channels and kilometres of empty beach. Further west, the Delta do Parnaíba opens into one of the wildest kite playgrounds in northeast Brazil. We run guided downwinders with boat and support.',
'A poucos minutos de downwind do BOHAM: as lagoas de Macapá, os canais de mangue e quilômetros de praia vazia. Mais a oeste, o Delta do Parnaíba abre um dos cenários de kite mais selvagens do nordeste. Organizamos downwinds guiados com barco e apoio.',
'À quelques minutes de downwind de BOHAM : les lagunes de Macapá, les chenaux de mangrove et des kilomètres de plage déserte. Plus à l’ouest, le Delta do Parnaíba ouvre l’un des terrains de jeu les plus sauvages du nordeste. Nous organisons des downwinds guidés avec bateau et assistance.')}
{L(lang, 'Macapá lagoons', 'Lagoas de Macapá', 'Lagunes de Macapá')}{L(lang, 'Mangroves', 'Manguezais', 'Mangroves')}{L(lang, 'Delta do Parnaíba', 'Delta do Parnaíba', 'Delta do Parnaíba')}
);
}
// ---- FAQ ------------------------------------------------------------------
function FAQ() {
const lang = window.useBohamLang();
const qs = [
{ q: L(lang, 'When is the kite season in Barra Grande?', 'Qual é a temporada de kite em Barra Grande?', 'Quelle est la saison de kite à Barra Grande ?'),
a: L(lang, 'Wind blows from July to January, with the strongest and most consistent conditions from September to November. Kite in the morning at Barrinha and from 11h at Barra Grande, right at BOHAM.', 'O vento sopra de julho a janeiro, com as condições mais fortes e constantes de setembro a novembro. De manhã velejamos na Barrinha e a partir das 11h em Barra Grande, bem na frente do BOHAM.', 'Le vent souffle de juillet à janvier, avec les conditions les plus fortes et les plus régulières de septembre à novembre. Le matin on kite à Barrinha, et à partir de 11h à Barra Grande, juste devant BOHAM.') },
{ q: L(lang, 'Is Barra Grande good for beginners?', 'Barra Grande é bom para iniciantes?', 'Barra Grande convient-il aux débutants ?'),
a: L(lang, 'Yes. At low tide there are large shallow, flat-water areas right in front of the school, and the side-onshore wind brings a downed kite back to the beach.', 'Sim. Na maré baixa há grandes áreas rasas e de água plana em frente à escola, e o vento side-onshore traz o kite de volta à praia.', 'Oui. À marée basse, de grandes zones d’eau plate et peu profonde s’ouvrent devant l’école, et le vent side-on ramène l’aile vers la plage.') },
{ q: L(lang, 'What equipment do you use?', 'Qual equipamento vocês usam?', 'Quel matériel utilisez-vous ?'),
a: L(lang, 'The whole school and rental fleet is brand-new Reedin 2026: kites, twintips, bars and harnesses, in every size.', 'Toda a frota da escola e do aluguel é Reedin 2026 nova: kites, pranchas, barras e trapézios, em todos os tamanhos.', 'Toute la flotte école et location est en Reedin 2026 neuf : ailes, twintips, barres et harnais, dans toutes les tailles.') },
{ q: L(lang, 'Which languages do you teach in?', 'Em quais idiomas vocês dão aula?', 'Dans quelles langues enseignez-vous ?'),
a: L(lang, 'Portuguese, English, French and Spanish.', 'Português, inglês, francês e espanhol.', 'Portugais, anglais, français et espagnol.') },
{ q: L(lang, 'Can I store my own gear at BOHAM?', 'Posso guardar meu equipamento no BOHAM?', 'Puis-je stocker mon matériel à BOHAM ?'),
a: L(lang, 'Yes. Leave your kit with us between sessions or for your whole stay, and our beach team will rig, launch and land it for you.', 'Sim. Deixe seu equipamento com a gente entre as sessões ou durante toda a estadia, e nosso time na praia monta, ajuda a decolar e a pousar.', 'Oui. Laissez votre matériel entre deux sessions ou pour tout votre séjour, et notre équipe plage le gréé, vous aide au décollage et à l’atterrissage.') },
{ q: L(lang, 'How do I get to Barra Grande?', 'Como chegar em Barra Grande?', 'Comment venir à Barra Grande ?'),
a: L(lang, 'Fly into Parnaíba (about 1 h by road) or Fortaleza (about 5 h). Jericoacoara is roughly 2 h away, so Barra Grande fits naturally into a Rota das Emoções kite trip.', 'Voe para Parnaíba (cerca de 1 h de carro) ou Fortaleza (cerca de 5 h). Jericoacoara fica a cerca de 2 h, então Barra Grande encaixa bem numa viagem de kite pela Rota das Emoções.', 'Volez sur Parnaíba (environ 1 h de route) ou Fortaleza (environ 5 h). Jericoacoara est à environ 2 h : Barra Grande s’intègre naturellement à un kite trip sur la Rota das Emoções.') }];
return (
FAQ
{L(lang, 'Kiting here, in short', 'Kite aqui, em resumo', 'Le kite ici, en bref')}
{qs.map((x) =>
{x.q}
{x.a}
)}
{L(lang, 'Prices ↗', 'Preços ↗', 'Tarifs ↗')}
);
}
// ---- Back to the club -----------------------------------------------------
function BackHome() {
const lang = window.useBohamLang();
const home = (document.querySelector('meta[name="boham-home"]') || {}).content || 'index.html';
return (
{L(lang, 'After the session', 'Depois da sessão', 'Après la session')}
{L(lang, 'The beach club is right there', 'O beach club está logo ali', 'Le beach club est juste là')}
{L(lang, 'Pool, long lunches, fresh fish, caipirinhas and a DJ at sunset. The board goes down and the afternoon keeps going.', 'Piscina, almoços longos, peixe fresco, caipirinhas e DJ no pôr do sol. A prancha desce e a tarde continua.', 'Piscine, longs déjeuners, poisson frais, caipirinhas et DJ au coucher du soleil. La planche se pose, l’après-midi continue.')}