Jump to content

[Update] Genesis web release version - 0.1.4

Posted
  • Administrators
[0.1.4] – 2025-07-08

Adicionado

  • Conclusão do fluxo de login e logout no AdminCP, com alertas de sucesso/erro usando SweetAlert2.

  • Notificações de alerta (alertas toast) para login, logout e ações críticas no painel.

  • Modo escuro/clareado:

    • Toggle via switch e dropdown, persistência em localStorage.

    • Scripts em jQuery e Alpine.js (setDarkClass()), respeitando preferência do SO.

  • Configurações via banco de dados:

    • Migration cms_configs (group, key, value, type, description).

    • Model adaptado CmsConfig com fallback para config().

    • Controller CmsConfigController para listar/editar configs no AdminCP.

    • Blade cms-config.blade.php com formulários dinâmicos (inputs e textareas JSON).

  • Sistema de idiomas:

    • Helper LanguagesHelper para:

      • Listar pastas em resources/lang.

      • Mapear códigos → nomes e ícones de bandeira.

      • Método flagUrl() para gerar URL de SVG automaticamente.

    • View Composer (AppServiceProvider) para compartilhar availableLanguages globalmente.

    • Controller invocável SwitchLanguageController para trocar idioma e armazenar em sessão.

    • Middleware/AppServiceProvider definiu app()->setLocale() via sessão.

  • Helper global get_assets() (via app/Support/helpers.php) para gerar URLs de assets sem duplicar paths.

Melhorias

  • Modularização e responsabilidades únicas:

    • HomeController lida apenas com listagem de idiomas.

    • SwitchLanguageController lida apenas com troca de locale.

  • Refatoração de Blade:

    • Foreach de idiomas em qualquer view (Admin ou Front) sem duplicar lógica.

    • Uso de View::share() para reduzir código repetido nos controllers.

  • CSS e UX:

  • Transições suaves ao alternar tema.

  • Destaque visual do idioma ativo e tema ativo no menu.

  • Organização de arquivos de bandeiras em public/assets/media/flags/.

Correções

  • Ajuste na função setDarkClass() que não estava declarada globalmente, quebrando o switch de tema.

  • Correção de escopo de variáveis no helper de idiomas (removido retorno de view dentro do helper).

Demonstração simples sintaxe (Front-end)

@php
	use App\Helpers\LanguagesHelper;
	$langs = LanguagesHelper::getAvailableLanguages();
	$names = LanguagesHelper::getLanguageName();
@endphp  
<div class="menu-sub menu-sub-dropdown w-250px py-4 m-2">
	<!--begin::Menu item-->
     @foreach($langs as $lang)
  <div class="menu-item px-3">
    <a href="{{ route('language.switch', $lang) }}" class="menu-link d-flex px-5 {{ app()->getLocale() === $lang ? 'active' : '' }}">
      <span class="symbol symbol-20px me-4">
        <img class="rounded-1" src="{{ get_assets('flags/' . (LanguagesHelper::getFlagMap()[$lang] ?? 'united-states.svg')) }}" alt="{{ LanguagesHelper::languageName($lang) }}">
       </span>
     {{ LanguagesHelper::languageName($lang) }}
      </a>
     </div>
    @endforeach
<!--end::Menu item-->
 </div>

Adição de Helpers front-end

  1. Construímos diversos Helper's para desenvolvedores, os helpers poderão ser acessíveis globalmente, facilitando assim a personalização de temas e criação de recursos exclusivos de acordo com a necessidade de cada (servidor)

Previa de alertas de erro e informações de sistema:

Featured Replies

No posts to show

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...