Refatorado o CmsDatabaseConfigController#index para agrupar configurações por group e usar pluck('value','key'), simplificando o acesso aos valores.
Aprimorada a lógica de update para detectar automaticamente o tipo de dado (json vs. string) via is_array(), garantindo salvamento correto.
Adicionado no controller a geração dinâmica de opções:
$serverTeams como array estático de equipes.
$serverVersions via loop for de Season 6 a 20 (incluindo “Part 2” e “Part 3” para Season 20).
$databaseVersions mapeando cada equipe para sua versão de banco correspondente.
Melhorias na View Blade
Substituído o único campo textarea de JSON cru por inputs individuais para cada chave e subchave, evitando edição manual de estrutura técnica.
Implementado mapeamento genérico $selectFields para as chaves:
muserver_team
muserver_version
muserver_database_version que passam a ser renderizadas como com opções dinâmicas.
Tratamento de arrays (is_array($value)) com @foreach para gerar múltiplos inputs de forma amigável.
Passagem dos arrays de opções ($serverTeams, $serverVersions, $databaseVersions) e $tooltips para a view via compact(), garantindo coesão e evitando hard-codes.
Traduções e Tooltips
Centralizadas as descrições em resources/lang/.../admin.php, permitindo tradução via funções __('admin.mapping_...').
Montagem do array $tooltips em PHP (sem {{ }}) para cada chave, garantindo strings já traduzidas.
Integração do Tippy.js:
Inclusão de CSS e scripts (@popperjs/core, tippy.js@6) no @push('scripts').
Uso de data-tippy-content="{{ $tooltips[$key] }}" em ícones SVG para exibir tooltips ricas.
Ajuste visual do ícone de informação:
Aumentado para h-6 w-6
Cor text-blue-500 com hover:text-blue-700
Espaçamento ml-2 e cursor de ajuda cursor-help
Estilização e UX
Layout organizando sidebar e conteúdo em grid responsivo (1 coluna em mobile, 4 em desktop) com gap consistente.
[0.1.5] – 2025-07-11
Melhorias no Backend
Refatorado o
CmsDatabaseConfigController#index
para agrupar configurações porgroup
e usarpluck('value','key')
, simplificando o acesso aos valores.Aprimorada a lógica de
update
para detectar automaticamente o tipo de dado (json
vs.string
) viais_array()
, garantindo salvamento correto.Adicionado no controller a geração dinâmica de opções:
$serverTeams
como array estático de equipes.$serverVersions
via loopfor
de Season 6 a 20 (incluindo “Part 2” e “Part 3” para Season 20).$databaseVersions
mapeando cada equipe para sua versão de banco correspondente.Melhorias na View Blade
Substituído o único campo
textarea
de JSON cru por inputs individuais para cada chave e subchave, evitando edição manual de estrutura técnica.Implementado mapeamento genérico
$selectFields
para as chaves:muserver_team
muserver_version
muserver_database_version
que passam a ser renderizadas como
com opções dinâmicas.
Tratamento de arrays (is_array($value)) com @foreach para gerar múltiplos inputs de forma amigável.
Passagem dos arrays de opções ($serverTeams, $serverVersions, $databaseVersions) e $tooltips para a view via compact(), garantindo coesão e evitando hard-codes.
Traduções e Tooltips
Centralizadas as descrições em
resources/lang/.../admin.php
, permitindo tradução via funções__('admin.mapping_...')
.Montagem do array
$tooltips
em PHP (sem{{ }}
) para cada chave, garantindo strings já traduzidas.Integração do Tippy.js:
Inclusão de CSS e scripts (
@popperjs/core
,tippy.js@6
) no@push('scripts')
.Uso de
data-tippy-content="{{ $tooltips[$key] }}"
em ícones SVG para exibir tooltips ricas.Ajuste visual do ícone de informação:
Aumentado para
h-6 w-6
Cor
text-blue-500
comhover:text-blue-700
Espaçamento
ml-2
e cursor de ajudacursor-help
Estilização e UX
Layout organizando sidebar e conteúdo em grid responsivo (1 coluna em mobile, 4 em desktop) com gap consistente.
Campos e
estilizados com classes Tailwind:
border border-gray-300 rounded px-3 py-2 focus:ring-indigo-500 focus:border-indigo-500
Botão de “Save” centralizado, com destaque bg-indigo-600 text-white rounded shadow hover:bg-indigo-700.
Títulos, labels e placeholders claros, eliminando ambiguidade.
Informações Colapsáveis
Inserido bloco <ol> numerado com <details><summary> nativo, sem dependência
Utilizadas classes Tailwind para:
Borda suave e sombra (
border-gray-200 rounded-lg shadow-sm
)Fundo diferenciado no (
bg-gray-50 hover:bg-gray-100
)Ícone de seta que gira com
group-open:rotate-180
Espaçamento uniforme (
p-4
) e foco acessível (focus:ring-indigo-500
)Criados três painéis colapsáveis explicando:
Seleção de MuServer Team
Escolha da Versão do MuServer
Mapeamento da Database Version