Logo

Install App

Install for a faster experience.

×
×

Install App

Install this app for a faster and better experience.

Support এ কথা বলুন
WhatsApp Offer Groups
Telegram Message us
SPIN
50 Diamond
115 Diamond
1x Monthly
Batter Luck
1x Weekly
245 Diamond

🔒 স্পিন করতে হলে আগে লগইন করুন।

<style> .pwa-install-bar { position: fixed; left: 16px; right: 16px; bottom: 70px; background: var(--theme-color, #1D93BF); border-radius: 8px; padding: 6px 12px; /* প্যাডিং কমানো হয়েছে */ display: none; justify-content: space-between; align-items: center; flex-direction: row; z-index: 9999; box-shadow: 0 4px 12px rgba(0,0,0,0.25); font-family: 'Segoe UI', system-ui, sans-serif; } .pwa-install-bar button { background: rgba(255, 255, 255, 0.25); border: 1px solid rgba(255, 255, 255, 0.4); color: #ffffff !important; border-radius: 5px; padding: 5px 10px; /* বাটনের প্যাডিং কমানো হয়েছে */ font-weight: 600; font-size: 12px; cursor: pointer; transition: 0.2s; white-space: nowrap; } .pwa-install-bar button:hover { background: rgba(255, 255, 255, 0.35); } .pwa-logo-icon { width: 30px; /* লোগোর সাইজ কমানো হয়েছে */ height: 30px; border-radius: 6px; background: #fff; object-fit: contain; padding: 2px; flex-shrink: 0; } .mobile-layout { display: flex; align-items: center; justify-content: space-between; width: 100%; } .mobile-left { display: flex; align-items: center; gap: 8px; /* গ্যাপ কমানো হয়েছে */ } .pwa-text-wrap { display: flex; flex-direction: column; } .pwa-title { color: #fff; font-weight: 700; font-size: 13px; /* ফন্ট সাইজ কমানো হয়েছে */ margin: 0; line-height: 1; } .pwa-desc { color: rgba(255, 255, 255, 0.9); font-size: 10px; /* ফন্ট সাইজ কমানো হয়েছে */ margin: 2px 0 0 0; /* মার্জিন কমানো হয়েছে */ line-height: 1.1; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; } .closeInstall { color: white; font-size: 22px; /* ক্লোজ আইকন কিছুটা ছোট করা হয়েছে */ cursor: pointer; line-height: 1; padding-left: 6px; } @media (min-width: 768px) { .pwa-install-bar { left: auto; right: 20px; bottom: 20px; width: 250px; flex-direction: column; align-items: flex-start; padding: 12px 16px; border-radius: 8px; color: white; } .mobile-layout { display: none; } .desktop-layout { display: flex !important; flex-direction: column; align-items: flex-start; width: 100%; } .desktop-logo { width: 36px; height: 36px; margin-bottom: 6px; } .pwa-title-desktop { font-size: 14px; font-weight: bold; color: #fff; margin: 0; } .pwa-desc-desktop { font-size: 11px; color: #fff; margin: 4px 0 8px; } .pwa-install-bar button { width: 100%; background: rgba(255, 255, 255, 0.25); color: #ffffff; font-weight: 600; border-radius: 6px; padding: 6px; display: flex; align-items: center; justify-content: center; gap: 6px; } .desktop-layout .closeInstall { position: absolute; top: 5px; right: 10px; } } .desktop-layout { display: none; } </style> <div class="pwa-install-bar" id="pwaBar"> <!-- Mobile Layout --> <div class="mobile-layout"> <div class="mobile-left"> <img id="pwaLogoMobile" src="" class="pwa-logo-icon" alt="Logo"> <div class="pwa-text-wrap"> <h3 id="appNameMobile" class="pwa-title">Install App</h3> <p class="pwa-desc">Install for a faster experience.</p> </div> </div> <div class="mobile-right" style="display:flex;align-items:center;gap:6px;"> <button class="installBtn">Install</button> <span class="closeInstall">&times;</span> </div> </div> <!-- Desktop Layout --> <div class="desktop-layout"> <span class="closeInstall">&times;</span> <img id="pwaLogoDesktop" src="" class="pwa-logo-icon desktop-logo" alt="Logo"> <h3 id="appNameDesktop" class="pwa-title-desktop">Install App</h3> <p class="pwa-desc-desktop">Install this app for a faster and better experience.</p> <button class="installBtn">Install Now</button> </div> </div> <script> let deferredPrompt; const pwaBar = document.getElementById('pwaBar'); const installBtns = document.querySelectorAll('.installBtn'); const closeBtns = document.querySelectorAll('.closeInstall'); async function loadPwaInfo() { let appName = 'App'; let iconUrl = ''; try { const res = await fetch('/manifest.json'); if(res.ok){ const manifest = await res.json(); appName = manifest.short_name || manifest.name || 'App'; if(manifest.icons && manifest.icons.length){ iconUrl = manifest.icons[manifest.icons.length - 1].src; } } } catch(e){} if(!iconUrl) { appName = document.title.split('|')[0].split('-')[0].trim() || 'App'; const favicon = document.querySelector('link[rel="apple-touch-icon"]') || document.querySelector('link[rel="icon"]'); if(favicon) iconUrl = favicon.href; } document.getElementById('appNameMobile').textContent = 'Install ' + appName; document.getElementById('appNameDesktop').textContent = 'Install ' + appName; if(iconUrl) { document.getElementById('pwaLogoMobile').src = iconUrl; document.getElementById('pwaLogoDesktop').src = iconUrl; } } loadPwaInfo(); function showPwaBar() { const lastClosed = localStorage.getItem('pwaLastClosed'); if (lastClosed && Date.now() - parseInt(lastClosed) < 60000) return; pwaBar.style.display = 'flex'; } window.addEventListener('beforeinstallprompt', (e) => { e.preventDefault(); deferredPrompt = e; setTimeout(showPwaBar, 1000); }); installBtns.forEach(btn => { btn.addEventListener('click', async () => { if (deferredPrompt) { deferredPrompt.prompt(); const { outcome } = await deferredPrompt.userChoice; deferredPrompt = null; pwaBar.style.display = 'none'; } }); }); closeBtns.forEach(btn => btn.addEventListener('click', () => { pwaBar.style.display = 'none'; localStorage.setItem('pwaLastClosed', Date.now()); })); window.addEventListener('appinstalled', ()=>{ pwaBar.style.display = 'none'; }); </script>