feat/home-photo-hero
1 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
| 4001cd0e5d |
docs: adicionar runbook de atualização de conteúdo (MAN-106 AC4) (#33)
* docs: adicionar runbook de atualização de conteúdo (MAN-106 AC4) A dona do negócio precisa editar textos, fotos, casos de portfólio, depoimentos e dados de contato pelo painel admin sem depender de engenharia. Documenta as regras que mais confundem (publicação não é agendamento; home exige publicado + destaque, exceto depoimentos), os campos editáveis por tela, requisitos de imagem/alt text e o que não deve ser mexido sem apoio técnico. Também esclarece o status do depoimentos.md: é material bruto histórico que nunca foi lido por código (confirmado por busca no repo), então recebe uma nota de status no topo do arquivo em vez de ser movido ou apagado, já que ainda é citado por documentos técnicos antigos como origem do conteúdo. Co-Authored-By: Claude noreply@anthropic.com AI-Assisted: yes AI-Tool: claude-code * docs: reforçar avisos sobre resumo institucional e publicação em Configurações Ajusta o runbook de atualização de conteúdo: deixa explícito que o resumo institucional pode ser salvo em branco sem erro (produzindo um parágrafo vazio silencioso na página Sobre) e que a tela Configurações não tem passo de publicação — toda alteração entra no ar assim que é salva. Co-Authored-By: Claude noreply@anthropic.com AI-Assisted: yes AI-Tool: claude-code * docs: corrigir regra de imagem opcional para capa de caso e galeria A regra geral "sem imagem, texto alternativo pode ficar em branco" (seção Imagens) estava sendo lida como "a imagem em si é opcional" para todo campo do painel. Isso é falso para a capa de um caso de portfólio e para a imagem de um item de galeria: as colunas cover_image_path, cover_image_alt (portfolio_cases) e path, alt_text (portfolio_images) são NOT NULL no banco, mas o formulário do Filament nunca chama ->required() nesses uploads. Quem seguisse a doc e tentasse salvar sem imagem passaria pela validação do formulário e só então bateria num erro de banco não tratado, em vez da mensagem amigável de campo obrigatório usada para título, resumo etc. Confirmado em database/migrations/2026_07_28_230932_create_portfolio_cases_table.php, database/migrations/2026_07_28_230933_create_portfolio_images_table.php e app/Support/PublicImageUploadRules.php — os demais campos de imagem do painel (logo, foto de depoimento, imagem da página Sobre, imagem de SEO, capa de serviço) são de fato nullable no banco, então a ressalva fica restrita a portfólio. Co-Authored-By: Claude noreply@anthropic.com AI-Assisted: yes AI-Tool: claude-code * docs: avisar que Excluir apaga registros para sempre, sem lixeira O runbook só ensinava publicar/despublicar (preencher ou apagar "Publicado em") como forma de mostrar/esconder conteúdo em Portfólio, Depoimentos e Serviços, e nunca mencionava que cada linha dessas tabelas também tem um botão "Excluir" (e ação de exclusão em massa) bem ao lado do de editar. Nenhum model usa SoftDeletes (confirmado em app/Models) e as tabelas de Portfólio, Depoimentos e Serviços usam DeleteAction/DeleteBulkAction (app/Filament/Resources/{PortfolioCases, Testimonials,Services}/Tables/*.php e ImagesRelationManager.php), ou seja, um clique em Excluir apaga o registro para sempre, sem possibilidade de recuperação — inclusive apagando em cascata a galeria inteira de um caso de portfólio (cascadeOnDelete em portfolio_images.portfolio_case_id). Quem seguisse só a instrução de "apagar o Publicado em" não tinha como saber que existia esse outro controle, irreversível, na mesma linha. Co-Authored-By: Claude noreply@anthropic.com AI-Assisted: yes AI-Tool: claude-code * docs: explicar como converter foto HEIC do iPhone para o formato aceito A instrução para formato de imagem recusado dizia só "converta a imagem antes de enviar", sem dizer como. HEIC é o formato padrão de fotos do iPhone e está listado no próprio texto como um dos formatos recusados — é exatamente o erro que uma pessoa não técnica enviando foto do celular vai encontrar primeiro, e o guia não pressupõe em nenhum outro lugar que ela saiba converter formato de imagem. Adiciona duas instruções concretas e não técnicas: ajustar o iPhone para salvar fotos novas em JPEG, e usar o WhatsApp para converter fotos que já estão em HEIC. Co-Authored-By: Claude noreply@anthropic.com AI-Assisted: yes AI-Tool: claude-code * docs: avisar que o e-mail de Contato recebe os briefings do site O runbook descrevia o campo E-mail de Configurações → Contato só como algo que vira link clicável no rodapé e na página /contato. Não mencionava que esse mesmo endereço é o destino de todo envio do formulário de contato: ContactController::dispatchEmails() (app/Http/ Controllers/PublicSite/ContactController.php) chama Mail::to($settings->email)->send(new ContactBriefing(...)) para cada briefing enviado por um visitante. Alguém lendo só esta doc poderia trocar esse valor por um e-mail apenas decorativo e parar silenciosamente de receber notificações de leads, sem nenhum erro visível no admin. Co-Authored-By: Claude noreply@anthropic.com AI-Assisted: yes AI-Tool: claude-code * docs: documentar a tela Usuários para quem realmente pode acessá-la O runbook só citava "Usuários" na negativa ("se você não é Administradora, peça a uma Administradora"), mas toda política de autorização do painel (PortfolioCasePolicy, ServicePolicy, TestimonialPolicy, SiteSettingPolicy, UserPolicy — todas checando $user->isAdmin()) garante que quem consegue seguir qualquer outra seção deste guia é, por construção, uma Administradora com acesso total a Usuários. A doc nunca explicava os campos da tela (Nome, E-mail, Papel, Ativo, Senha) nem como usá-la para dar acesso a alguém, apesar de seções anteriores (Como entrar no painel) já dependerem de a leitora saber fazer exatamente isso. Adiciona uma seção "Usuários" ligando os campos ao comportamento já descrito em outras seções (Papel Assistente remove todo acesso; Ativo desligado bloqueia login via User::canAccessPanel()) e avisa sobre um risco real e não coberto: como UserPolicy não impede autoedição, uma Administradora pode trocar o próprio Papel ou desligar o próprio Ativo e ficar travada fora do painel sem nenhuma forma de recuperação self-service. Também reescreve o bullet de Usuários em "O que NÃO mexer" para não instruir a mesma leitora a evitar uma tela que, pela própria lógica de acesso do sistema, é dela. Co-Authored-By: Claude noreply@anthropic.com AI-Assisted: yes AI-Tool: claude-code --------- Co-authored-by: manoel.neto <manoel.neto@creditas.com> |