// Simple header releases rotator: cycles visible .active items to show multiple releases try { const containerRotator = document.querySelector('.site-topbar__tagline .gnp-releases-compact'); if (containerRotator) { const items = Array.from(containerRotator.querySelectorAll('.gnp-releases-compact__item')); if (items.length) { // Read mode/step/interval from wrapper's data attributes (defaults applied) const wrapper = containerRotator.closest('.site-topbar__tagline'); const mode = (wrapper && wrapper.dataset && wrapper.dataset.gnpRotatorMode) ? wrapper.dataset.gnpRotatorMode : 'group'; const step = wrapper && wrapper.dataset && wrapper.dataset.gnpRotatorStep ? Math.max(1, parseInt(wrapper.dataset.gnpRotatorStep, 10) || 1) : 1; const intervalMs = wrapper && wrapper.dataset && wrapper.dataset.gnpRotatorInterval ? Math.max(250, parseInt(wrapper.dataset.gnpRotatorInterval, 10) || 4000) : 4000;const getVisibleCount = () => { if (mode === 'single') return 1; if (window.matchMedia('(max-width:480px)').matches) return 1; if (window.matchMedia('(max-width:768px)').matches) return 2; return 3; // desktop: show 3 at once };let visible = getVisibleCount(); let start = 0;const show = () => { items.forEach(i => i.classList.remove('active')); for (let i = 0; i < Math.min(visible, items.length); i++) { const idx = (start + i) % items.length; items[idx].classList.add('active');start = (start + step) % items.length; show(); }, intervalMs);window.addEventListener('resize', function(){ const v = getVisibleCount(); if (v !== visible) { visible = v; start = 0; show(); } }); } } } catch (e) { console.warn('GNP releases rotator failed', e); }// Carousel const carousel = document.getElementById('gnp-releases-carousel'); if (carousel) { // initialize carousel if needed (left intentionally blank) }// Attach search and menu handlers (always) const container = document.querySelector('[data-search-container]'); const toggle = container ? container.querySelector('[data-search-toggle]') : null; const close = container ? container.querySelector('[data-search-close]') : null; const input = container ? container.querySelector('input[type="search"]') : null;// Search toggle (desktop button) toggle && toggle.addEventListener('click', function(e) { e.preventDefault(); container.classList.toggle('active'); if (container.classList.contains('active')) setTimeout(() => input && input.focus(), 120); });// Close button inside search close && close.addEventListener('click', function(e) { e.preventDefault(); container.classList.remove('active'); });// Close search when clicking outside (but allow logo to open on mobile) document.addEventListener('click', function(e) { if (!container || !container.classList.contains('active')) return; if (!container.contains(e.target) && !e.target.closest('.site-branding')) { container.classList.remove('active'); } });// NOTE: logo keeps its navigation behaviour. Mobile search is opened via the loupe button.// mobile menu toggle is handled below (single handler) to avoid duplicate toggles// Theme toggle flottant const themeToggle = document.querySelector('[data-theme-toggle]'); if(themeToggle){ themeToggle.addEventListener('click',()=>{ document.body.classList.toggle('dark-theme'); document.querySelector('.theme-toggle__icon--dark').classList.toggle('active'); document.querySelector('.theme-toggle__icon--light').classList.toggle('active'); }); }// Menu toggle (burger) — simply toggle the is-open class; CSS handles display via media queries const menuToggle = document.querySelector('.menu-toggle'); const primaryNav = document.querySelector('.primary-navigation'); if (menuToggle && primaryNav) { menuToggle.addEventListener('click', function(e){ e.stopPropagation(); const opened = primaryNav.classList.toggle('is-open'); menuToggle.setAttribute('aria-expanded', opened ? 'true' : 'false'); });// Close the menu when clicking outside document.addEventListener('click', function(ev){ if (!primaryNav.contains(ev.target) && !menuToggle.contains(ev.target)) { primaryNav.classList.remove('is-open'); menuToggle.setAttribute('aria-expanded', 'false'); } });// Close menu when a link is clicked primaryNav.querySelectorAll('a').forEach(function(a){ a.addEventListener('click', function(){ primaryNav.classList.remove('is-open'); menuToggle.setAttribute('aria-expanded', 'false'); }); }); }});

Quoi qu’il en soit, il faut croire que la production de MINTROCKET a su trouvé son public avec le temps, puisque Dave The Diver s’est désormais vendu à plus de 3 millions d’exemplaires dans le monde. Pour rappel, le titre fut lancé en accès anticipé le 27 octobre 2022 sur PC via Steam, avant de paraître dans sa version complète le 28 juin 2023 (toujours sur PC via Steam). Enfin, la production est récemment arrivée sur la Nintendo Switch (26 octobre 2023). Voilà, vous savez tout. Alors, qu’en pensez-vous ? Dites-nous cela sur GeekNPlay, et n’hésitez pas à nous suivre sur Facebook et Twitter.

Partager cet article