Jump to content
View in the app

A better way to browse. Learn more.

LDG - Tech | Game Services Solutions

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

🧾 CHANGE-LOG — Genesis CMS Alpine Refactored

Posted

📦 Estrutura base

  • Removido jQuery completamente do projeto

  • Substituído $(document).ready e delegações por Alpine declarativo

  • Recriado o script genesis.js com Alpine, utilizando fetch() ao invés de $.ajax()

🧠 Alpine.js: Componentização

Componente

Status

Descrição

GenesisLoader

Carregamento de páginas via AJAX e controle de histórico com fetch() + Alpine reativo

FormHandle

Submissão de formulários via Alpine + fetch com feedback via SweetAlert2

ThemeStorage

Controle do tema global (light, dark, auto) e persistência em localStorage

SidebarConfigs

Comportamento reativo do menu lateral (collapse de itens e navegação persistente)

SpinnerGlobal

Spinner de carregamento controlado por Alpine com x-show e x-transition

🎨 Tema dinâmico

  • Criada store Alpine: Alpine.store('tema')

  • Persistência do tema escolhido via localStorage

  • Aplicado dinamicamente no <html data-bs-theme="">

  • Ícones e botões reativos sincronizados com o tema atual

🧩 Navegação & Collapse

  • Menu lateral refeito em Alpine com: <li x-data="{open:false}">

  • Transições suaves com x-transition

  • Removido uso de data-bs-toggle="dropdown" do Bootstrap JS

  • Cada grupo de links agora responde diretamente aos cliques com Alpine

🚀 Spinner e carregamento

  • Removido $('#ajax-spinner').removeClass(...)

  • Substituído por x-show="spinner" via Alpine

  • Separado visualmente da animação giratória para evitar rotação do texto

  • Posicionado como overlay com position-fixed e z-index elevado para consistência

📋 Back-end (Laravel & Blade)

  • Scripts reorganizados: Alpine e global.js inseridos via @include no <head>

  • Blade atualizado para usar x-data="genesisLoader" no contêiner principal

  • Adicionado suporte ao Laravel flash session('success') para ser exibido com SweetAlert via Alpine

  • Conteúdo da página principal movido para x-html="content" para permitir render dinâmico

  • Includes como @yield('content') permanecem como fallback estático

🧪 Integração geral

  • Tippy.js, Feather Icons, ApexCharts e Swiper continuam funcionais, reinicializados via initComponents()

  • AJAX fallback e failover mantidos para compatibilidade total (redirecionamento em caso de erro)

  • Toda lógica de interatividade centralizada em Alpine para legibilidade e manutenção

Resultado Final

  • 🔥 Painel 100% livre de jQuery

  • 🌿 Interface reativa com Alpine declarativo

  • Melhor performance e tempo de carregamento

  • 💾 Tema persistente entre sessões

  • 💬 Feedbacks mais elegantes e consistente

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...

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.