iachat/progresso/2026-03-03_generalizacao_nomenclatura_galeria.md

3.1 KiB

Generalização da Nomenclatura da Galeria (Captain)

Objetivo

Remover a restrição da galeria de itens de estar atrelada apenas a "Suítes" (com campos específicos como Categoria de Suíte e Número da Suíte). O objetivo é usar uma nomenclatura mais genérica (Categoria e Nome/Identificador) para que a galeria possa exibir fotos e informações de outras comodidades e áreas, não apenas suítes.

Contexto

O modelo de dados atual da Galeria no backend salva os valores nos campos suite_category e suite_number. Como a mudança do esquema de banco de dados, API e payloads no backend exigiria um esforço alto de migração, refatoração de código e causaria risco de downtime, priorizou-se uma solução arquitetural baseada apenas no Frontend e em Internacionalização (i18n). Dessa forma, mantemos o banco intacto, mas permitimos aos usuários inserirem qualquer tipo de agrupamento de imagens.

Passos Realizados

  1. Análise do Schema: Foi verificado que os campos da galeria (active, suite_category, suite_number, etc) poderiam receber nomenclaturas genéricas (String).
  2. Atualização de Traduções (i18n):
    • Arquivo: app/javascript/dashboard/i18n/locale/pt_BR/captain.json.
    • Mudou-se de "Categoria da Suíte" para "Categoria" e de "Número da Suíte" para "Nome/Identificador".
    • Ajustadas descrições e subtextos das labels para deixá-las abrangentes.
  3. Atualização Visual (UI):
    • Arquivo: app/javascript/dashboard/routes/dashboard/settings/captain/gallery/Index.vue.
    • Removidas as duas colunas separadas para "Categoria" e "Número" na listagem.
    • Criada uma coluna única e concisa, mostrando "Categoria - Identificador" no grid para economizar espaço e suportar nomes de áreas comuns de hotéis/imóveis.
  4. Resolução de Code Smells/Lints:
    • Arquivo: app/javascript/dashboard/routes/dashboard/settings/inbox/settingsPage/LandingHostsConfig.vue.
    • Modificado para remover usos indevidos de window.confirm omitindo comentários de lint e formatado com o padrão de quebras de linha (prettier) de forma local para permitir o push no repositório.

Principais Códigos e Arquivos Alterados

  • app/javascript/dashboard/i18n/locale/pt_BR/captain.json
  • app/javascript/dashboard/routes/dashboard/settings/captain/gallery/Index.vue
  • app/javascript/dashboard/routes/dashboard/settings/inbox/settingsPage/LandingHostsConfig.vue (arquivos de configuração de host também subiram juntos no commit)

Como Validar

  1. Acesse o painel do Captain (Settings > Captain > Galeria) e tente criar um novo item.
  2. Verifique que as labels lidas já são "Categoria" e "Nome/Identificador".
  3. Crie uma categoria que não seja de quarto (ex: "Piscina" / "Área de Lazer"). A tabela exibirá Piscina - Área de Lazer.

Como Reverter

Dê rollback através de git revert, buscando o commit específico (feat: configuração de landing pages por domínio e generalização da galeria). Por se tratar de atualizações de frontend (tradução e UI), a reversão não quebrará os dados gravados durante esta sessão, reestabelecendo apenas a nomenclatura antiga ("Suítes").