Skip to content

Feature/faq resource#74

Open
franciscojuliao-star wants to merge 39 commits intodevelopmentfrom
feature/faq-resource
Open

Feature/faq resource#74
franciscojuliao-star wants to merge 39 commits intodevelopmentfrom
feature/faq-resource

Conversation

@franciscojuliao-star
Copy link
Copy Markdown

Nova função

  • Implementa CRUD completo de FAQs para administradores
  • Interface administrativa com accordion, ordenação drag-and-drop e toggle de status
  • Seleção múltipla com edição e exclusão em lote
  • Traduções completas em português e inglês
  • Página pública de visualização de FAQs

Detalhes Técnicos

  • Models: Faq e FaqTranslation com suporte a i18n
  • Controller com actions: index, show, new, create, edit, update, destroy, toggle_active, order
  • Views HAML com interface responsiva e acessível
  • JavaScript com accordion, drag-and-drop ordering e AJAX
  • Permissões restritas a perfil de administrador

Testes realizados

  • Criar novo FAQ com traduções em PT e EN
  • Editar FAQ existente
  • Alternar status ativo/inativo
  • Reordenar FAQs via drag-and-drop
  • Selecionar múltiplos FAQs e deletar em lote
  • Verificar página pública exibe apenas FAQs ativos
  • Testar accordion (abrir/fechar respostas)
  • Verificar permissões (apenas admin tem acesso)

biancastephani and others added 30 commits August 27, 2025 12:34
Atualização da equipe
Cria o recurso res247 que define o controller 'faqs' com a action 'index'
para listar perguntas e respostas.
Cria o menu admin_faq no painel administrativo com referência ao
recurso 247 (FAQ), permitindo acesso à funcionalidade de perguntas
e respostas.
Cria a permissão faq1 que permite ao perfil de administrador (profile_id: 6)
acessar o recurso de FAQ (resource_id: 247).
Resolved conflicts:
- app/views/exams/form/_info.html.haml: Kept complete development version
- app/views/pages/faq.html.haml: Kept dynamic FAQ system from HEAD
- config/locales/en_US.yml: Merged FAQ translations with new comment validation
- config/locales/pt_BR.yml: Merged FAQ translations with new comment validation
- test/fixtures/resources.yml: Kept both res246 and new res247 (FAQ)
franciscojuliao-star and others added 3 commits January 9, 2026 13:34
- Configurar controller para desabilitar layout nas actions new/edit/show
- Atualizar formulário para funcionar como popup
- Adicionar CKEditor ao campo de resposta
- Implementar submit via AJAX com função faq_save()
- Configurar links para abrir em popup (Novo/Editar/Visualizar)
- Formatar view de visualização para popup
- Adicionar traduções para mensagens de sucesso
- Criar validação unique_order_for_active_faqs no modelo
- Impedir que FAQs ativos tenham a mesma ordem
- Permitir que FAQs inativos tenham qualquer ordem
- Adicionar mensagem de erro ao tentar usar ordem duplicada
Copy link
Copy Markdown
Member

@biancastephani biancastephani left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Os erros não estão internacionalizados, aparece erro de que a tradução não existe
Captura de tela de 2026-01-14 08-32-58
  • O radio button pra ativo tá desalinhado com relação a sua label
Captura de tela de 2026-01-14 08-32-58
  • Seria interessante que o radio já viesse com o "Sim" marcado por default
  • Reduzir o tamanho do input da Ordem de exibição. Na verdade... eu acredito que seria mais interessante a ordem não ser um campo numérico. acredito que seria melhor se fosse um seletor pra escolher outra pergunta e o label ser algo tipo "aparecer depois de:"... só teríamos que pensar em como fazer pra ser a primeira pergunta do faq. o que acha?
  • Aumentar o tamanho do input da Pergunta
  • Remover esses links de Voltar do formulário
Captura de tela de 2026-01-14 08-37-05
  • Botão de "adicionar outra língua" não funciona
  • O formulário não tá pegando o conteúdo do ckeditor, sempre entende que o campo tá chegando vazio, apaga o conteúdo e dá erro
Captura de tela de 2026-01-14 08-39-06
  • Não consigo ordenar perguntas do FAQ. Dá erro, mas não especifica qual o problema (tentei com admin)
Captura de tela de 2026-01-14 08-39-40
  • Ajeitar o fancybox de visualização
Captura de tela de 2026-01-14 08-40-24
  • Mudei o status de uma pergunta, apareceu um retorno de sucesso, mas a coluna 'Ativo' não mudou, continuou como ativo. Só mudou depois que dei refresh na página
Captura de tela de 2026-01-14 08-42-48 Captura de tela de 2026-01-14 08-43-30
  • O status, após desativado, não reativa de volta pela tela de listagem. O sistema retorna mensagem de sucesso, mas o status continua desativado. Só consigo reativar se abrir a edição
  • Ao editar um FAQ, ele renderiza a tela toda dentro da tela
Captura de tela de 2026-01-14 08-45-02
  • Deixar o gemfile com ruby "2.7.2"
  • No formulário, o botão de "+ Adicionar outra língua" e "x Remover" estão como texto no código. Devem estar nos locales. E acredito que, se for ter o "x" e o "+", é interessante que eles sejam ícones e não texto. Acredito que o texto "x" e "+" não sejam estratégias acessíveis
  • O css das classes estão definidas no próprio html, deve-se criar um arquivo scss em app/assets/stylesheets/partials/_faq.scss e definir essas questões de estilo lá
  • No alto contraste, não dá pra ler o conteúdo da resposta do FAQ, nem na lista, nem na visualização, nem no form
Captura de tela de 2026-01-14 08-51-44 Exemplo de como é nas anotações de arquivo de trabalho: Captura de tela de 2026-01-14 08-54-54 Acho que pode manter a borda lateral esquerda branca, mas o fundo preto. Ao definir o faq-answer no css novo que vai criar (ponto anterior), deve-se usar uma variável já definida ou definir uma nova. É possível ver as variáveis de cores em: _theme_high_contrast.scss e _theme_blue.scss, daí pode-se verificar se alguma variável já contempla as cores que quer (cinza no tema blue e preto no tema de alto contraste) ou se precisa criar novas. Acredito que a $background_light já é exatamente o que precisa pro background-color.
  • A setinha pra expandir ou ocultar a resposta na própria lista não tem nenhuma indicação do que ela faz. Não há tooltip, não há descrição pra leitor de tela (aria-label)

- Internacionalização (pt_BR e en_US)
- Radio button ativo alinhado
- Radio com "sim" default
- Redução do input number
- Aumentar o tamanho do input pergunta
- Remover links duplicados
- Ajuste do fancybox
- Faq Editar dentro do fancybox
- Alto contraste
- Visual do status muda mas o comportamento não
- Erro na ordenação do faq
- Botão adicionar uma nova língua não funciona
- Descrição aria-label (acessibilidade para o accordion)
- Deletar não funcional
- Padroniza código seguindo convenções do Solar (controllers, models, views, JS, CSS)
- Adiciona suporte a alto contraste usando variáveis de tema ($background_light, $color_main)
- Remove estilos inline do show e aplica via SCSS
- Configura toolbar customizada do CKEditor adequada para FAQ
- Corrige bug de window.location.reload sem execução no index
- Remove link Voltar inconsistente do edit
- Adiciona _faq.scss com estilos do formulário e respostas
@franciscojuliao-star
Copy link
Copy Markdown
Author

Estou somente ajustando como fazer a lógica da ordem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants