UNPKG

nuxt-smart-app-banner

Version:
35 lines (34 loc) 1.61 kB
import { SmartAppBannerPlatform } from "./types.mjs"; var PlatformOs = /* @__PURE__ */ ((PlatformOs2) => { PlatformOs2["Android"] = "android"; PlatformOs2["iOS"] = "ios"; return PlatformOs2; })(PlatformOs || {}); export const platformsData = { ios: { platform: SmartAppBannerPlatform.ios, iconRels: ["apple-touch-icon-precomposed", "apple-touch-icon"], getStoreLink: (bannerConfig) => "https://itunes.apple.com/" + bannerConfig.appStoreLanguage + "/app/id" + bannerConfig.iosAppId + "?mt=8", getAppId: (bannerConfig) => bannerConfig.iosAppId, getIcon: (bannerConfig) => bannerConfig.icons?.ios || bannerConfig.icon }, android: { platform: SmartAppBannerPlatform.android, iconRels: ["android-touch-icon", "apple-touch-icon-precomposed", "apple-touch-icon"], getStoreLink: (bannerConfig) => "http://play.google.com/store/apps/details?id=" + bannerConfig.androidAppId, getAppId: (bannerConfig) => bannerConfig.androidAppId, getIcon: (bannerConfig) => bannerConfig.icons?.android || bannerConfig.icon } }; export const identifyPlatform = function(bannerConfig, osName) { if (bannerConfig.force) { return bannerConfig.force; } if (Object.keys(PlatformOs).every((key) => key !== osName)) { return null; } return platformsData[PlatformOs[osName]].platform; }; export const isMobileSafariPlatform = function(computedTheme, bowser) { return computedTheme === "ios" && (bowser.getBrowserName() === "Mobile Safari" || bowser.getBrowserName() === "Safari" && bowser.getPlatformType() === "mobile") && parseInt(bowser.getOSVersion(), 10) >= 6; };