Files
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

42 lines
2.9 KiB
Markdown

# Assets de front-end desta app
Estado real a 25/09/2026 (auditoria em `CLAUDE_GITEA/audits/fitme3070-auditoria-2026-09-24.html`,
ponto 7.4). Composer real desde 25/09 (`composer.json`/`composer.lock`, ver `PLATFORM_TOOLS.md`),
mas ainda sem versão no nome das pastas dos ficheiros hand-vendored.
## O que está vendorizado e onde
| Biblioteca | Versão | Caminho | Usado em |
|------------------------|--------|----------------------------------------|----------------------|
| Bootstrap | 5.3.3 | `assets/vendor/bootstrap5/` | Site público + backoffice (unificado 25/09) |
| Bootstrap Icons | — | `assets/vendor/bootstrap-icons/` | Backoffice (agora carregado do pacote partilhado `bootstrap-icons` 1.13.1; esta cópia só como recurso) |
| jQuery | 3.7.1 | `assets/vendor/jquery/jquery-3.7.1.min.js` | Site público + backoffice (deduplicado 25/09) |
| Font Awesome Free | 5.13.1 | `site/assets/fonts/fontawesome/` | Site público: agora FA 6.7.2 do pacote partilhado `fontawesome`; esta cópia (~18 MB) só como recurso, sem uso se o submódulo tiver `functions_icons.php` |
| PHPMailer | 7.1.1 | `vendor/PHPMailer/` | Envio de email (`config/functions_mail.php`, partilhado) |
`assets/vendor/bootstrap/` (a cópia 4.3.1) ficou sem nenhuma referência depois da migração —
ainda no disco, ninguém a carrega, por remover (`git rm -r`, não feito ainda).
Nenhuma pasta hand-vendored tem a versão no nome; para confirmar a versão real de cada uma, ver
os comentários de cabeçalho dos `.min.css`/`.min.js` ou `VERSION`/`const VERSION` no caso do
PHPMailer. `composer.lock` já fixa a versão exata do que o Composer instala.
## Porque não segue por completo a convenção da frota
- **PHPMailer continua hand-vendored** em vez de vir do Composer da app: `shared/platform-tools/
functions_mail.php` (partilhado por toda a frota) exige `vendor/PHPMailer/src/PHPMailer.php` por
caminho fixo, não o layout `vendor/phpmailer/phpmailer/...` que o Composer geraria — mudar isso é
código partilhado, fora do alcance de uma app só (mesma razão que a fotografia mantém as duas
árvores). `composer.json` declara a dependência mesmo assim, para `composer audit`/`outdated`
saberem da versão.
- **Google Fonts ainda vem de CDN** (`site/includes/include.php`) — pendente self-hosting do
Roboto (ver [[fitme-audit-2026-09]] na memória do projeto, "Pending for André").
## Antes de adicionar ou atualizar uma biblioteca
1. Preferir Composer sempre que o pacote exista (ver a convenção da frota).
2. Sem Composer: descarregar uma vez, commitar, e nomear a pasta com a versão
(`vendor/<lib>-<versão>/`), não um nome genérico.
3. Nunca duplicar a mesma versão em duas pastas — importar de um único sítio.
4. Atualizar esta tabela.