Commit Graph
30 Commits
Author SHA1 Message Date
andre e804c52b4e feat(site): Comunidade section with Instagram posts the gym was tagged in
Per-gym Graph API /tags fetch with file cache and local thumbnails, section after the gallery, navbar link and admin page (Gestão > Site).
2026-10-26 14:19:43 +00:00
andre 6ac5213624 feat(galerias): upload several images at once, clear errors and JPEG XL placeholders 2026-10-26 13:48:02 +00:00
andre 6abc486630 feat(site): YourFit brand glyphs as modalidade icons, light plate for the other-gym logo button 2026-10-26 12:55:36 +00:00
andre 725f5b9c26 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
2026-10-26 12:15:37 +00:00
andre 785d1f6ceb style(hero): event card border in its button colour, no glow on hero text, lighter subtitle 2026-10-26 12:06:15 +00:00
andre 0bc14f5f72 style(navbar): match head slash in the colour of the gym it links to 2026-10-26 12:03:30 +00:00
andre e7ab661f4c feat(navbar): match head shows the other gym's brand, centred logo on CrossFit, mobile band
The match head is painted in the other gym's colours with a strip in this site's accent; below 992px it is a slashed band at the bottom of the open menu (menu height from the real header height). The CrossFit page gets the centred logo crossfade, the hero logo has a fixed 52px height, and the hero h1 shadow is softer with the frosted blur at .8.
2026-10-26 12:00:56 +00:00
andre 4b54a777b7 style(navbar): logo crossfade, match-head end, full-screen mobile menu, brand slash template 2026-10-26 11:53:44 +00:00
andre c2b1f98e96 docs: libjxl-tools in the production Dockerfile, pending rebuild 2026-10-26 11:30:35 +00:00
andre 04df7f8997 style(site): truly centred navbar, smoother logo docking, grain on logos and buttons, slashed title underlines 2026-10-26 11:27:28 +00:00
andre f72292fc02 docs: centred home logo, nav underline and hero event card 2026-10-26 11:24:15 +00:00
andre 4f44bc1609 feat(images): JPEG XL optimizer with webp/jpg fallback and <picture> serving
img_optimize() decodes .jxl with djxl or Imagick, resizes with GD, re-encodes
with cjxl and writes foto.jxl.webp beside it; skips cleanly without a decoder.
Gallery, hero, navbar logos and JSON-LD serve the JXL with the fallback, and
trash/removal move the fallback with its .jxl.
2026-10-26 11:18:13 +00:00
andre 8fe73eb5d6 style(navbar): dark outline instead of white halo on gym logo buttons 2026-10-26 10:15:22 +00:00
andre 1eb2a61031 fix(admin): empty DataTables listings no longer error; their message becomes emptyTable
docs: JPEG XL optimizer plan and image-input rule
2026-10-26 10:13:29 +00:00
andre 7fa2da73dc feat(galerias): accept JPEG XL photos and list every uploaded format 2026-10-26 10:00:18 +00:00
andre bab6eb87bf feat(site): slow brand-colour sweep along the bottom of the navbar 2026-10-26 09:54:32 +00:00
andre 3ffcf0fe38 fix(gyms): migration adding gyms.logo where the edited brand-colour migration had already run 2026-10-26 09:48:53 +00:00
andre d445ba64b9 feat(gyms): show gym logos in navbar buttons and brand; accept JPEG XL uploads 2026-10-26 09:35:46 +00:00
andreandClaude Sonnet 5.5 a85bec6851 fix(gyms): saving no longer fails before the brand-colour migration; upload header image and logo instead of typing paths
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-13 19:12:25 +01:00
andre 18676ad6d0 feat(icons): load Bootstrap Icons and Font Awesome from the shared platform-tools packs
Register the icons packs in platform_connect, add fit_icon_assets() with local
fallback, and add a sysadmin 'Pacotes de icones' link to platform?tool=icons.
2026-10-13 18:55:12 +01:00
andreandClaude Sonnet 5.5 58d5199883 feat(gyms): gym logo field; other-gym navbar button uses that gym's brand colour and logo
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-13 17:45:17 +01:00
andreandClaude Sonnet 5.5 32f8d7a613 feat(branding): re-theme Bootstrap to the brand colour; 3D neon button hover; hide Mensalidades link without plans
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-13 17:16:50 +01:00
andreandClaude Sonnet 5.5 4b2823d1e5 feat(gyms): per-gym brand colour; CrossFit pill follows it
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-13 17:08:30 +01:00
andreandClaude Sonnet 5.5 716eec9f6d feat(site): root opens the main gym; other gyms as navbar buttons
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-13 17:06:59 +01:00
andreandClaude Sonnet 5.5 aa55d44406 feat(sidebar): fleet sidebar standard (header row, user in sidebar, collapsible groups, mini mode, no-flash transitions)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-13 16:56:46 +01:00
andreandClaude Sonnet 5.5 5f64ae57db feat(dev): adopt shared platform-tools dev toolbar and one-click dev login
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-09 22:10:58 +01:00
andreandClaude Sonnet 5.5 4446224c19 feat(settings): save uploaded logos to uploads/public/logo
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-09 19:41:01 +01:00
andreandClaude Sonnet 5.5 79a0047f29 feat(brand): adopt platform-tools Brand feed; logo path convention in emails
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-09 15:37:31 +01:00
andreandClaude Sonnet 5 7482dc98f2 docs: atualiza CLAUDE.md e ASSETS.md pós-migração Bootstrap/Composer
Ficaram desatualizados depois da sessão de fixes: CLAUDE.md ainda
dizia "Bootstrap 4+5 em simultâneo" (já não, ver 1e2068b) e listava
"sem srcset"/"sem create/edit unificado" sem as razões reais por trás
de cada um continuar em aberto. ASSETS.md ainda tinha a tabela de
antes da migração (duas versões de Bootstrap, jQuery duplicado,
"sem Composer") — reescrito para o estado real: Bootstrap 5.3.3
único, jQuery uma cópia, Composer ligado (composer.json/lock),
PHPMailer hand-vendored por decisão documentada (não por falta de
tentar).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-25 22:01:29 +01:00
andreandClaude Sonnet 5 8300f2c421 docs: CLAUDE.md — decisão de arquitetura escrita (fecha 6.1)
Documenta o padrão atual (páginas = controller+vista, config/functions_*.php
como models, sem front controller próprio) como decisão mantida, não
herança silenciosa do CodeIgniter — mais auth partilhado, trash,
CSRF, audit, multi-ginásio, platform-tools, deploy e Composer. Já
bloqueado por HTTP (.htaccess já negava CLAUDE.md por nome).

Inclui uma secção "What's not done" honesta: sem front controller
real, sem DataTables, Bootstrap 4+5 em simultâneo — para não passar a
imagem de que isto já está resolvido.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-25 17:44:27 +01:00