Skip to content

Commit 7f8db92

Browse files
Copilotskylersaleh
andcommitted
Prevent duplicate event listeners and improve mobile detection
Co-authored-by: skylersaleh <7118296+skylersaleh@users.noreply.github.com>
1 parent 3778c0a commit 7f8db92

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

src/shell.html

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -191,9 +191,11 @@ <h2>Install SkyEmu</h2>
191191
}
192192

193193
// PWA Install Popup Logic
194+
var pwaEventListenersAttached = false;
195+
194196
function isMobileDevice() {
195197
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ||
196-
(navigator.maxTouchPoints && navigator.maxTouchPoints > 2);
198+
(navigator.maxTouchPoints && navigator.maxTouchPoints > 0);
197199
}
198200

199201
function isStandalone() {
@@ -272,15 +274,18 @@ <h2>Install SkyEmu</h2>
272274
console.log('Could not check localStorage', e);
273275
}
274276

275-
// Ensure event listeners are attached
276-
var gotItBtn = document.getElementById('pwaGotItBtn');
277-
var dontShowBtn = document.getElementById('pwaDontShowBtn');
278-
279-
if (gotItBtn && !gotItBtn.onclick) {
280-
gotItBtn.addEventListener('click', closePWAPopup);
281-
}
282-
if (dontShowBtn && !dontShowBtn.onclick) {
283-
dontShowBtn.addEventListener('click', dontShowAgain);
277+
// Ensure event listeners are attached (only once)
278+
if (!pwaEventListenersAttached) {
279+
var gotItBtn = document.getElementById('pwaGotItBtn');
280+
var dontShowBtn = document.getElementById('pwaDontShowBtn');
281+
282+
if (gotItBtn) {
283+
gotItBtn.addEventListener('click', closePWAPopup);
284+
}
285+
if (dontShowBtn) {
286+
dontShowBtn.addEventListener('click', dontShowAgain);
287+
}
288+
pwaEventListenersAttached = true;
284289
}
285290

286291
// Set the instructions based on device

0 commit comments

Comments
 (0)