feat(site): per-gym SEO texts, event gym selector, hero/navbar polish

- Generated SEO titles/descriptions per gym; gym seo fields override each on its own
- Keywords, author, og:site_name, favicon and JSON-LD logo follow the gym
- CrossFit page 404s before output for gyms without a box
- Events: «Mostrar em» gym selector; event page uses its gym's brand
- Hero event button text colour from the event colour (--ev-on)
- Navbar bottom line stops at the other-gym head (--switch-w)
- Diagonal hero blur mask; remove the trial link
This commit is contained in:
andre committed 2026-10-26 12:15:37 +00:00
1 parent 785d1f6ceb
commit 725f5b9c26
12 files changed
+93 -58

No files matched your search

+11
View File
@@ -21,6 +21,17 @@ $dt = static function ($v): string {
<input type="color" class="form-control form-control-color" name="cor" value="<?= htmlspecialchars($data['cor'] ?? '#C2D500') ?>">
</div>
<div class="col-md-6">
<label class="form-label">Mostrar em</label>
<select class="form-select" name="gym_id">
<option value="">Todos os ginásios</option>
<?php foreach (db_gyms_list($pdo) as $g): ?>
<option value="<?= (int) $g['id'] ?>"<?= (int) ($data['gym_id'] ?? 0) === (int) $g['id'] ? ' selected' : '' ?>><?= htmlspecialchars($g['name']) ?></option>
<?php endforeach; ?>
</select>
<div class="form-text">Ginásio em cujo topo da página inicial o destaque aparece.</div>
</div>
<div class="col-12">
<label class="form-label">Subtítulo</label>
<input class="form-control" name="subtitle" maxlength="255" value="<?= htmlspecialchars($data['subtitle'] ?? '') ?>">
+1
View File
@@ -24,6 +24,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
'cta_label' => trim($_POST['cta_label'] ?? ''),
'cta_url' => trim($_POST['cta_url'] ?? ''),
'show_lead_form' => isset($_POST['show_lead_form']) ? 1 : 0,
'gym_id' => (int) ($_POST['gym_id'] ?? 0) ?: null,
'hero_image' => '',
];
+1
View File
@@ -48,6 +48,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['save_event'])) {
'cta_label' => trim($_POST['cta_label'] ?? ''),
'cta_url' => trim($_POST['cta_url'] ?? ''),
'show_lead_form' => isset($_POST['show_lead_form']) ? 1 : 0,
'gym_id' => (int) ($_POST['gym_id'] ?? 0) ?: null,
'hero_image' => $item['hero_image'],
];