# GotechBr Site - Progresso Detalhado (2026-03-04) Projeto: `D:\xampp\htdocs\GotechBr` (CI4, separado do intranet) DB: `gotechbr_intranete` (mesmo banco do intranet) Idiomas: PT/EN/ES em `app/Language/{pt,en,es}/Site.php` CSS principal: `tema/assets/css/estilo.css` Uploads: Via `upload_url()` helper em `app/Helpers/site_helper.php` (usa `UPLOAD_BASE_URL` do .env) ## Arquivos-Chave Modificados ### Views Criadas - `app/Views/site/portfolio_detalhes.php` - Detalhe de projeto (header verde, imagem, sidebar, relacionados) - `app/Views/site/noticia_detalhes.php` - Detalhe de notícia (header verde, conteúdo, tags, share, sidebar FAQ) ### Views Modificadas - `app/Views/site/contato.php` - **REDESIGN COMPLETO**: 3 cards canal rápido + form melhorado + mapa + FAQ - `app/Views/site/podcast.php` - Reescrito: "Estúdio de Filmagens e Conteúdo" (era Podcast) - `app/Views/site/loja.php` - Fix `upload_url($produto['imagem'])` sem prefix - `app/Views/site/produto_detalhes.php` - Fix upload_url + cart badge global - `app/Views/site/carrinho.php` - Fix upload_url sem prefix - `app/Views/site/includes/header.php` - Cart badge: ``→``, `window.atualizarBadgeCarrinho()` - `app/Views/site/midias.php` - Metodologia padronizada `.creative-process` - `app/Views/site/desenvolvimento.php` - Metodologia padronizada - `app/Views/site/manutencao.php` - Metodologia padronizada - `app/Views/site/consultoria.php` - Metodologia padronizada ### Config/Controllers - `app/Config/App.php` L92: `permittedURIChars` inclui `àáâãçéêíóôõúü` - `app/Controllers/Portfolio.php` L55-67: Join com `site_portfolio_categorias` para nome da categoria - `app/Models/SiteCarrinhoModel.php` L148: `contarItens()` retorna `(int)` - `app/Helpers/site_helper.php` L69-97: `upload_url()` auto-detecta HTTPS da requisição ### Language (3 idiomas) - `nav_podcast` → "Estúdio de Filmagens" / "Filming Studio" / "Estudio de Filmación" - `service_podcast_*` → Conteúdo atualizado para filmagens/cursos ### CSS (estilo.css) - L167-178: `.topbar-badge` - Redesign (font-size 11px, min-width 18px, tabular-nums) - L3884-3937: `.contato-form-wrap`, `.contato-sidebar`, `.contato-info-*` (existente) - NOVO: `.contato-channel-card` + variantes (icon, badge, btn, title, desc, info) - Cards de canal com animação hover ### .env - `UPLOAD_BASE_URL = 'https://localhost/intranet/uploads/site/'` (era http) ## Padrão CSS de Metodologia/Processo Referência: `design.php` linhas 302-417 Classes: `.creative-process` > `.process-step-design` (com `.reverse` alternado) Cada step: `.step-visual` (`.step-circle` + `.step-number`) + `.step-content-design` (h5 + p + `.step-activities` ul) CSS: `estilo.css` linhas 3096-3191 ## Padrão de Cards de Portfólio/Blog Classes: `.gtc-pf-card` (a tag) > `.gtc-pf-card__img` + `.gtc-pf-card__body` Sub: `__title`, `__desc`, `__sub`, `__tag`, `__shine`, `__overlay`, `__result`, `__ph` CSS: `estilo.css` linhas 1966-2120 ## Problemas Conhecidos / Decisões - DB `site_produtos.imagem` armazena path completo: `uploads/site/produtos/filename.png` - `upload_url()` remove `uploads/site/` automaticamente para evitar duplicação - Imagens de produtos estão no intranet (subdomínio), não no site GotechBr - Produção: `UPLOAD_BASE_URL` deve ser `https://sistema.gotechbr.com.br/uploads/site/` - Rotas de estúdio: `/estudio` (GET) - controller interno ainda se chama `Podcast.php` (nome interno não importa) ## Pendente Site GotechBr 1. Deploy para produção (ajustar .env UPLOAD_BASE_URL) 2. Verificar se todas as imagens de produtos/blog/portfolio carregam corretamente em produção 3. Testar envio de formulário de contato com email SMTP configurado 4. Verificar responsividade dos novos cards de canal no contato (mobile)