mirror of
https://github.com/simplex-chat/simplexmq.git
synced 2026-03-30 22:55:50 +00:00
* web: parameterize generateSite, remove Embedded from library Move embedFile/embedDir out of the library so it works when simplexmq is consumed as a dependency. generateSite now accepts mediaContent, wellKnown, and linkHtml as parameters. * smp-server, xftp-server: embed static files in executables Add shared apps/common/Embedded.hs with TH splices, update SMPWeb and XFTPWeb to pass embedded content to generateSite, move file-embed dependency from library to executables and test suite. * refactor * add export, move common files to Web subfolder * fix .cabal --------- Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
const isMobile = {
|
|
Android: () => navigator.userAgent.match(/Android/i),
|
|
iOS: () => navigator.userAgent.match(/iPhone|iPad|iPod/i)
|
|
};
|
|
|
|
window.addEventListener('click', clickHandler)
|
|
|
|
if (isMobile.iOS) {
|
|
for (const btn of document.getElementsByClassName("close-overlay-btn")) {
|
|
btn.addEventListener("touchend", (e) => setTimeout(() => closeOverlay(e), 100))
|
|
}
|
|
}
|
|
|
|
function clickHandler(e) {
|
|
if (e.target.closest('.contact-tab-btn')) {
|
|
e.target.closest('.contact-tab').classList.toggle('active')
|
|
}
|
|
}
|
|
|
|
window.addEventListener('load', () => {
|
|
const googlePlayBtn = document.querySelector('.google-play-btn');
|
|
const appleStoreBtn = document.querySelector('.apple-store-btn');
|
|
const fDroidBtn = document.querySelector('.f-droid-btn');
|
|
if (!googlePlayBtn || !appleStoreBtn || !fDroidBtn) return;
|
|
|
|
|
|
if (isMobile.Android()) {
|
|
googlePlayBtn.classList.remove('hidden');
|
|
fDroidBtn.classList.remove('hidden');
|
|
}
|
|
else if (isMobile.iOS()) {
|
|
appleStoreBtn.classList.remove('hidden');
|
|
}
|
|
else {
|
|
appleStoreBtn.classList.remove('hidden');
|
|
googlePlayBtn.classList.remove('hidden');
|
|
fDroidBtn.classList.remove('hidden');
|
|
}
|
|
})
|