Files
fitme3070.pt/site/crossfit.php
T
andreandClaude Sonnet 5 7e2798d0b7 feat(site): informações e contactos sem ícones, horário em texto; entra na frota
- Informações e contactos: os ícones fas ao lado do texto saem (desalinhavam
  em layout centrado — fa-envelope é mais largo que os outros e o texto ficava
  a começar em posições diferentes). Horário de Funcionamento deixa de ser
  cartões (dt/dd com barra escura) e passa a texto simples centrado, uma
  linha por dia, a condizer com o resto da coluna.
- Textarea "Mensagem" deixa de esticar até à base do mapa (chegava a 763px
  de altura, vazio) — volta ao min-height:150px + resize:vertical do CSS.
- CrossFit: removida a secção "A nossa Localização" duplicada, agora que a
  página tem a sua própria secção de Contactos com mapa incluído.
- Reviews: "Ver todas no Google" passa a link de texto simples (sublinhado);
  "Deixa a tua review" mantém-se o botão em destaque.
- api/health.php, api/hub_ops.php, api/hub_pair.php: stubs de uma linha para
  o platform-tools (mesmo padrão da fotografia/design/dance) — preparam a
  entrada do fitme3070 na Frota do hub.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-26 08:46:49 +01:00

69 lines
3.3 KiB
PHP

<?php
// Was Home::crossfit.
$current_uri_2 = 'crossfit';
// Old /home/crossfit links → the default gym's CrossFit page.
if (($_GET['gym'] ?? '') === '') {
require_once __DIR__ . '/../config/db.php';
require_once __DIR__ . '/../config/functions.php';
$to = db_gyms_default($pdo) ?? gym_fallback();
header('Location: ' . gym_url($to, 'crossfit'), true, 301);
exit;
}
require __DIR__ . '/_open.php';
// Only gyms with a CrossFit box have this page.
if (empty($gym['has_crossfit'])) { ob_get_level() && ob_end_clean(); require __DIR__ . '/404.php'; exit; }
$data = [
'title' => 'CrossFit',
'schedule_h2' => 'Horário Crossfit',
'bg_img' => '',
'gallery_h2' => 'CrossFit',
'gallery_path' => 'uploads/gallery/2/',
'header_video_video' => 'site/assets/img/crossfit.mp4',
'header_video_img' => 'site/assets/img/crossfit.jpg',
'rel_footer_h2' => 'Precisas de um<span>Personal Trainer?</span><br> Entra em contacto connosco.',
'ad_footer_link' => rawurlencode($gym['slug']) . '/?assunto=pt_cf#contactos',
'ad_footer_text' => 'Tens objetivos específicos na área do CrossFit? Temos a solução para ti. Atinge e melhora os teus resultados com os nossos profissionais especializados na área. Todas as viagens são melhores quando vividas com a companhia certa. ',
'ad_footer_h2' => 'Precisas de um <span>Personal Trainer</span> especializado em CrossFit?',
'ad_footer_bg' => '',
'ad_footer_text_btn' => 'Entra em contacto connosco',
];
$data['data'] = site_horario($pdo, 'crossfit', (int) $gym['id']);
echo view('header_video', $data);
echo view('crossfit', $data);
echo view('crossfit_badge', $data);
echo view('gallery', $data);
echo view('horario', $data);
// ── Informações e contactos ───────────────────────────────────────────────────
// Same partial as the home page (site/includes/contactos.php), so visitors get
// the gym's contact info + form without leaving the CrossFit page.
$gid = (int) $gym['id'];
$on = fn(string $key) => gym_section_on($gym, $key);
$whours = $on('workhours') ? site_work_hours($pdo, $gid) : [];
$work_hours_days = ['Segunda-Sexta' => 'segunda', 'Sábado' => 'sabado', 'Domingo/Feriados' => 'domingo'];
usort($whours, fn($x, $y) => strcmp((string) $x['open'], (string) $y['open']));
$assunto = '';
if (isset($_GET['assunto'])) {
$assunto = $_GET['assunto'];
if ($assunto == 'pt'): $assunto = 'Informações - Personal Trainer';
elseif ($assunto == 'pt_cf'): $assunto = 'Informações - Personal Trainer CrossFit';
elseif ($assunto == 'insc'): $assunto = 'Informações - Inscrição no Ginásio';
elseif ($assunto == 'aula'): $assunto = 'Informações - Aula Experimental';
elseif ($assunto == 'nut'): $assunto = 'Informações - Nutricionista';
elseif ($assunto == 'fis'): $assunto = 'Informações - Fisioterapia';
endif;
}
echo view('contactos', [
'whours' => $whours,
'work_hours_days' => $work_hours_days,
'assunto' => $assunto,
'show' => $on('contactos'),
]);
echo view('ad_footer', $data);
echo view('footer', $data);