diff --git a/js/app.js b/js/app.js index d98ca0d..e46e9e1 100644 --- a/js/app.js +++ b/js/app.js @@ -63,7 +63,7 @@ /******/ /******/ var hotApplyOnUpdate = true; /******/ // eslint-disable-next-line no-unused-vars -/******/ var hotCurrentHash = "c304f6939a6ae375ea41"; +/******/ var hotCurrentHash = "f4554776978287df1a30"; /******/ var hotRequestTimeout = 10000; /******/ var hotCurrentModuleData = {}; /******/ var hotCurrentChildModule; @@ -4674,7 +4674,7 @@ eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn th /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n id: '4182daefaf',\n render: function render() {\n return function (ctx_1, data_1, root) {\n function isArray(arr) {\n return Array.isArray(arr);\n }\n\n function isFunction(func) {\n return typeof func === 'function';\n }\n\n function c(val, ctx) {\n if (typeof val !== \"undefined\" && val !== null) {\n if (isFunction(val)) {\n return val.call(ctx);\n } else return val;\n } else return \"\";\n }\n\n root = root || ctx_1 || {};\n var r = '';\n r += '
';\n return r;\n }(this);\n },\n styleScoped: false\n});\n\n//# sourceURL=webpack:///./src/app.f7.html?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n id: 'cca2da654e',\n render: function render() {\n return function (ctx_1, data_1, root) {\n function isArray(arr) {\n return Array.isArray(arr);\n }\n\n function isFunction(func) {\n return typeof func === 'function';\n }\n\n function c(val, ctx) {\n if (typeof val !== \"undefined\" && val !== null) {\n if (isFunction(val)) {\n return val.call(ctx);\n } else return val;\n } else return \"\";\n }\n\n root = root || ctx_1 || {};\n var r = '';\n r += '
';\n return r;\n }(this);\n },\n styleScoped: false\n});\n\n//# sourceURL=webpack:///./src/app.f7.html?"); /***/ }), @@ -4816,7 +4816,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7 /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _pages_home_f7_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../pages/home.f7.html */ \"./src/pages/home.f7.html\");\n/* harmony import */ var _pages_blocked_f7_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../pages/blocked.f7.html */ \"./src/pages/blocked.f7.html\");\n/* harmony import */ var framework7_framework7_esm_bundle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! framework7/framework7.esm.bundle.js */ \"./node_modules/framework7/framework7.esm.bundle.js\");\n\n\n\nvar commonErrorMessage = \"\\nThe app you were looking for is not available or accessible anymore. It might has been deleted. Please refer to your app developer for any question.\\n

Check AppBox WebServices Status. Also, Check for any other active issue here..\";\nvar unknownErrorMessage = \"Something went wrong. Please try again.\";\nvar invalidURLErrorMessage = \"Invalid URL. Please double-check your app URL.\";\nvar dropboxAccessErrorMessage = \"Uh oh! We couldn't load application information! Please make sure you are connected to the Internet or dropbox.com & dl.dropboxusercontent.com is not blocked and try again.\";\nvar adDiv = \"\\n
\\n \\n \\n \\n \\n
\\n\";\n\nvar appRequest = function appRequest(routeTo, routeFrom, resolve, reject) {\n // Router instance\n var router = this; // App instance\n\n var app = router.app; // Check Activity Response\n\n var response = {\n result: 1,\n score: 0.0\n };\n grecaptcha.ready(function () {\n try {\n grecaptcha.execute('6LeEELYaAAAAAPYX6lUAOILelkPL40UyXdCkPj0m').then(function (token) {\n var client = new XMLHttpRequest();\n client.timeout = 60000;\n\n client.onreadystatechange = function () {\n if (client.readyState == 4) {\n if (client.status == 200 || client.status == 400) {\n try {\n response = JSON.parse(client.responseText);\n\n if (response && (response.result == 1 && response.score < 0.3 || response.result != 1)) {\n adDiv = '';\n dbrequest(router, app, routeTo, routeFrom, resolve, reject);\n } else {\n dbrequest(router, app, routeTo, routeFrom, resolve, reject);\n }\n } catch (err) {\n dbrequest(router, app, routeTo, routeFrom, resolve, reject);\n }\n } else if (client.status == 0) {\n adDiv = '';\n dbrequest(router, app, routeTo, routeFrom, resolve, reject);\n return;\n } else {\n dbrequest(router, app, routeTo, routeFrom, resolve, reject);\n }\n }\n };\n\n client.open('POST', 'https://us-central1-appbox-recaptcha.cloudfunctions.net/verify?response=' + token);\n client.send();\n });\n } catch (error) {\n console.log(error);\n dbrequest(router, app, routeTo, routeFrom, resolve, reject);\n }\n });\n};\n\nfunction dbrequest(router, app, routeTo, routeFrom, resolve, reject) {\n //Check if app details already loaded\n if (router.appDetail) {\n processUsing(app, router.appDetail, resolve, reject, false);\n return;\n } // Show Preloader\n\n\n app.preloader.show(); // get app query\n\n var appQueryURL = routeTo.query.url;\n\n if (routeTo.query.url == \"undefined\" || routeTo.query.url == undefined || routeTo.query.url == null || routeTo.query.url == \"\") {\n appQueryURL = routeTo.url.replace('/?url=', '');\n } // app detail object\n\n\n var appDetail = [];\n appDetail.adDiv = adDiv;\n\n if (appQueryURL) {\n if (appQueryURL.indexOf('manifest.plist') != -1) {\n var client = new XMLHttpRequest();\n client.timeout = 60000;\n\n client.onreadystatechange = function () {\n if (client.readyState == 4 && client.status == 200) {\n try {\n var response = client.responseText.replace(new RegExp(/[^a-zA-Z0-9._]/g), '');\n appDetail.response = response;\n appDetail.menifest = appQueryURL;\n appDetail.name = response.split('stringkeytitlekeystring')[1].toString().split('string')[0];\n appDetail.identifier = response.split('keybundleidentifierkeystring')[1].toString().split('string')[0];\n appDetail.version = response.split('stringkeybundleversionkeystring')[1].toString().split('string')[0];\n router.appDetail = appDetail;\n processUsing(app, appDetail, resolve, reject, true);\n } catch (err) {\n appDetail.errorMessage = unknownErrorMessage;\n appDetail.error = err;\n router.appDetail = appDetail;\n processUsing(app, appDetail, resolve, reject, true);\n }\n } else if (client.readyState == 4 && client.status == 0) {\n appDetail.errorMessage = dropboxAccessErrorMessage;\n router.appDetail = appDetail;\n processUsing(app, appDetail, resolve, reject, true);\n } else if (client.status >= 400) {\n appDetail.errorMessage = commonErrorMessage;\n router.appDetail = appDetail;\n processUsing(app, appDetail, resolve, reject, true);\n }\n };\n\n client.open('GET', 'https://cros.getappbox.com/https://dl.dropboxusercontent.com' + appQueryURL);\n client.setRequestHeader('Content-Type', 'text/xml');\n client.overrideMimeType('text/xml');\n client.send();\n } else if (appQueryURL.indexOf('appinfo.json') != -1) {\n var client = new XMLHttpRequest();\n client.timeout = 60000;\n\n client.onreadystatechange = function () {\n if (client.readyState == 4 && client.status == 200) {\n try {\n //response\n var response = JSON.parse(client.responseText);\n appDetail.response = response;\n simplifedAppResponse(appDetail, response.latestVersion, appDetail); //set other version details\n\n if (response.versions.length > 1) {\n appDetail.allVersions = [];\n response.versions.reverse();\n response.versions.forEach(function (element) {\n var simplifedVersion = [];\n simplifedAppResponse(appDetail, element, simplifedVersion);\n appDetail.allVersions.push(simplifedVersion);\n });\n }\n\n router.appDetail = appDetail;\n processUsing(app, appDetail, resolve, reject, true);\n } catch (err) {\n appDetail.errorMessage = unknownErrorMessage;\n appDetail.error = err;\n router.appDetail = appDetail;\n processUsing(app, appDetail, resolve, reject, true);\n }\n } else if (client.readyState == 4 && client.status == 0) {\n appDetail.errorMessage = dropboxAccessErrorMessage;\n router.appDetail = appDetail;\n processUsing(app, appDetail, resolve, reject, true);\n } else if (client.status >= 400) {\n appDetail.errorMessage = commonErrorMessage;\n router.appDetail = appDetail;\n processUsing(app, appDetail, resolve, reject, true);\n }\n };\n\n client.open('GET', 'https://cros.getappbox.com/https://dl.dropboxusercontent.com' + appQueryURL);\n client.setRequestHeader('Content-Type', 'text/xml');\n client.overrideMimeType('text/xml');\n client.send();\n } else {\n appDetail.errorMessage = invalidURLErrorMessage;\n router.appDetail = appDetail;\n processUsing(app, appDetail, resolve, reject, true);\n }\n } else {\n appDetail.errorMessage = invalidURLErrorMessage;\n router.appDetail = appDetail;\n processUsing(app, appDetail, resolve, reject, true);\n }\n}\n\nfunction processUsing(app, appDetail, resolve, reject, firstLoad) {\n app.detail = appDetail; // Create toast with button\n\n var message = ''; //Update page name\n\n if (appDetail.name && appDetail.name.length > 0) {\n document.title = appDetail.name + ' | AppBox';\n } //gtag page name\n\n\n gtag('config', 'UA-85215717-1');\n\n if (appDetail.supportedDevice && appDetail.supportedDevice.length > 0) {\n if (framework7_framework7_esm_bundle_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].device.ios) {\n if (framework7_framework7_esm_bundle_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].device.iphone || framework7_framework7_esm_bundle_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].device.ipod) {\n if (!appDetail.supportedDevice.toLowerCase().includes('iphone')) {\n message = '\"' + appDetail.name + '\" not compatible with ' + (framework7_framework7_esm_bundle_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].device.iphone ? 'iPhone.' : 'iPod.');\n }\n } else if (framework7_framework7_esm_bundle_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].device.ipad) {\n if (!appDetail.supportedDevice.toLowerCase().includes('ipad')) {\n message = '\"' + appDetail.name + '\" not optimised for iPad. But you still can install the application.';\n }\n }\n\n if (parseFloat(framework7_framework7_esm_bundle_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].device.osVersion) < parseFloat(appDetail.minOSVersion)) {\n message = '\"' + appDetail.name + '\" only compatible with iOS ' + appDetail.minOSVersion + ' or higher.';\n }\n } else {\n message += 'Open this page on your iOS device to install the \"' + appDetail.name + '\".';\n }\n\n if (message.length > 0 && appDetail.name && firstLoad) {\n var toastWithButton = app.toast.create({\n text: message,\n closeButton: true\n });\n toastWithButton.open();\n }\n } //hide loader\n\n\n app.preloader.hide(); //resolve\n\n resolve({\n component: _pages_home_f7_html__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n }, {\n context: {\n appDetail: appDetail\n }\n });\n}\n\nfunction simplifedAppResponse(appDetail, from, to) {\n try {\n to.menifest = from.manifestLink.split(\"dropbox.com\")[1]; //app details\n\n to.name = from.name;\n to.identifier = from.identifier;\n to.version = from.version;\n to.build = from.build;\n to.download = from.ipaFileLink; //more details\n\n if (to) {\n to.uploadDate = getDateFromTimeStamp(from.timestamp);\n to.buildType = from.buildtype;\n to.fileSize = from.ipafilesize;\n to.minOSVersion = from.minosversion;\n to.supportedDevice = from.supporteddevice;\n }\n\n if (from.mobileprovision) {\n to.provisonCreationDate = getDateFromTimeStamp(from.mobileprovision.createdate);\n to.provisonExpirationDate = getDateFromTimeStamp(from.mobileprovision.expirationdata);\n to.teamName = from.mobileprovision.teamname;\n to.devicesUDIDs = from.mobileprovision.devicesudid;\n }\n } catch (err) {\n appDetail.errorMessage = unknownErrorMessage;\n appDetail.error = err;\n router.appDetail = appDetail;\n processUsing(app, appDetail, resolve, reject, true);\n }\n} //Get date\n\n\nfunction getDateFromTimeStamp(timestamp) {\n var date = new Date(timestamp * 1000);\n var hours = date.getHours();\n var minutes = date.getMinutes();\n var ampm = hours >= 12 ? 'PM' : 'AM';\n hours = hours % 12;\n hours = hours ? hours : 12;\n hours = hours < 10 ? '0' + hours : hours;\n minutes = minutes < 10 ? '0' + minutes : minutes;\n var strTime = date.toLocaleDateString() + ', ' + hours + ':' + minutes + ' ' + ampm;\n return strTime;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (appRequest);\n\n//# sourceURL=webpack:///./src/js/appRequest.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _pages_home_f7_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../pages/home.f7.html */ \"./src/pages/home.f7.html\");\n/* harmony import */ var _pages_blocked_f7_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../pages/blocked.f7.html */ \"./src/pages/blocked.f7.html\");\n/* harmony import */ var framework7_framework7_esm_bundle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! framework7/framework7.esm.bundle.js */ \"./node_modules/framework7/framework7.esm.bundle.js\");\n\n\n\nvar commonErrorMessage = \"\\nThe app you were looking for is not available or accessible anymore. It might has been deleted. Please refer to your app developer for any question.\\n

Check AppBox WebServices Status. Also, Check for any other active issue here..\";\nvar unknownErrorMessage = \"Something went wrong. Please try again.\";\nvar invalidURLErrorMessage = \"Invalid URL. Please double-check your app URL.\";\nvar dropboxAccessErrorMessage = \"Uh oh! We couldn't load application information! Please make sure you are connected to the Internet or dropbox.com & dl.dropboxusercontent.com is not blocked and try again.\";\nvar adDiv = \"\\n
\\n \\n \\n \\n \\n
\\n\";\n\nvar appRequest = function appRequest(routeTo, routeFrom, resolve, reject) {\n // Router instance\n var router = this; // App instance\n\n var app = router.app; // Check Activity Response\n\n var response = {\n result: 1,\n score: 0.0\n };\n grecaptcha.ready(function () {\n try {\n grecaptcha.execute('6LeEELYaAAAAAPYX6lUAOILelkPL40UyXdCkPj0m').then(function (token) {\n var client = new XMLHttpRequest();\n client.timeout = 60000;\n\n client.onreadystatechange = function () {\n if (client.readyState == 4) {\n if (client.status == 200 || client.status == 400) {\n try {\n response = JSON.parse(client.responseText);\n\n if (response && (response.result == true && response.score < 0.3 || response.result != true)) {\n adDiv = '';\n dbrequest(router, app, routeTo, routeFrom, resolve, reject);\n } else {\n dbrequest(router, app, routeTo, routeFrom, resolve, reject);\n }\n } catch (err) {\n dbrequest(router, app, routeTo, routeFrom, resolve, reject);\n }\n } else if (client.status == 0) {\n adDiv = '';\n dbrequest(router, app, routeTo, routeFrom, resolve, reject);\n return;\n } else {\n dbrequest(router, app, routeTo, routeFrom, resolve, reject);\n }\n }\n };\n\n client.open('GET', 'https://install.getappbox.com/recaptcha/?response=' + token);\n client.send();\n });\n } catch (error) {\n console.log(error);\n dbrequest(router, app, routeTo, routeFrom, resolve, reject);\n }\n });\n};\n\nfunction dbrequest(router, app, routeTo, routeFrom, resolve, reject) {\n //Check if app details already loaded\n if (router.appDetail) {\n processUsing(app, router.appDetail, resolve, reject, false);\n return;\n } // Show Preloader\n\n\n app.preloader.show(); // get app query\n\n var appQueryURL = routeTo.query.url;\n\n if (routeTo.query.url == \"undefined\" || routeTo.query.url == undefined || routeTo.query.url == null || routeTo.query.url == \"\") {\n appQueryURL = routeTo.url.replace('/?url=', '');\n } // app detail object\n\n\n var appDetail = [];\n appDetail.adDiv = adDiv;\n\n if (appQueryURL) {\n if (appQueryURL.indexOf('manifest.plist') != -1) {\n var client = new XMLHttpRequest();\n client.timeout = 60000;\n\n client.onreadystatechange = function () {\n if (client.readyState == 4 && client.status == 200) {\n try {\n var response = client.responseText.replace(new RegExp(/[^a-zA-Z0-9._]/g), '');\n appDetail.response = response;\n appDetail.menifest = appQueryURL;\n appDetail.name = response.split('stringkeytitlekeystring')[1].toString().split('string')[0];\n appDetail.identifier = response.split('keybundleidentifierkeystring')[1].toString().split('string')[0];\n appDetail.version = response.split('stringkeybundleversionkeystring')[1].toString().split('string')[0];\n router.appDetail = appDetail;\n processUsing(app, appDetail, resolve, reject, true);\n } catch (err) {\n appDetail.errorMessage = unknownErrorMessage;\n appDetail.error = err;\n router.appDetail = appDetail;\n processUsing(app, appDetail, resolve, reject, true);\n }\n } else if (client.readyState == 4 && client.status == 0) {\n appDetail.errorMessage = dropboxAccessErrorMessage;\n router.appDetail = appDetail;\n processUsing(app, appDetail, resolve, reject, true);\n } else if (client.status >= 400) {\n appDetail.errorMessage = commonErrorMessage;\n router.appDetail = appDetail;\n processUsing(app, appDetail, resolve, reject, true);\n }\n };\n\n client.open('GET', 'https://install.getappbox.com/cors/?url=https://dl.dropboxusercontent.com' + appQueryURL);\n client.setRequestHeader('Content-Type', 'text/xml');\n client.overrideMimeType('text/xml');\n client.send();\n } else if (appQueryURL.indexOf('appinfo.json') != -1) {\n var client = new XMLHttpRequest();\n client.timeout = 60000;\n\n client.onreadystatechange = function () {\n if (client.readyState == 4 && client.status == 200) {\n try {\n //response\n var response = JSON.parse(client.responseText);\n appDetail.response = response;\n simplifedAppResponse(appDetail, response.latestVersion, appDetail); //set other version details\n\n if (response.versions.length > 1) {\n appDetail.allVersions = [];\n response.versions.reverse();\n response.versions.forEach(function (element) {\n var simplifedVersion = [];\n simplifedAppResponse(appDetail, element, simplifedVersion);\n appDetail.allVersions.push(simplifedVersion);\n });\n }\n\n router.appDetail = appDetail;\n processUsing(app, appDetail, resolve, reject, true);\n } catch (err) {\n appDetail.errorMessage = unknownErrorMessage;\n appDetail.error = err;\n router.appDetail = appDetail;\n processUsing(app, appDetail, resolve, reject, true);\n }\n } else if (client.readyState == 4 && client.status == 0) {\n appDetail.errorMessage = dropboxAccessErrorMessage;\n router.appDetail = appDetail;\n processUsing(app, appDetail, resolve, reject, true);\n } else if (client.status >= 400) {\n appDetail.errorMessage = commonErrorMessage;\n router.appDetail = appDetail;\n processUsing(app, appDetail, resolve, reject, true);\n }\n };\n\n client.open('GET', 'https://install.getappbox.com/cors/?url=https://dl.dropboxusercontent.com' + appQueryURL);\n client.setRequestHeader('Content-Type', 'text/xml');\n client.overrideMimeType('text/xml');\n client.send();\n } else {\n appDetail.errorMessage = invalidURLErrorMessage;\n router.appDetail = appDetail;\n processUsing(app, appDetail, resolve, reject, true);\n }\n } else {\n appDetail.errorMessage = invalidURLErrorMessage;\n router.appDetail = appDetail;\n processUsing(app, appDetail, resolve, reject, true);\n }\n}\n\nfunction processUsing(app, appDetail, resolve, reject, firstLoad) {\n app.detail = appDetail; // Create toast with button\n\n var message = ''; //Update page name\n\n if (appDetail.name && appDetail.name.length > 0) {\n document.title = appDetail.name + ' | AppBox';\n } //gtag page name\n\n\n gtag('config', 'UA-85215717-1');\n\n if (appDetail.supportedDevice && appDetail.supportedDevice.length > 0) {\n if (framework7_framework7_esm_bundle_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].device.ios) {\n if (framework7_framework7_esm_bundle_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].device.iphone || framework7_framework7_esm_bundle_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].device.ipod) {\n if (!appDetail.supportedDevice.toLowerCase().includes('iphone')) {\n message = '\"' + appDetail.name + '\" not compatible with ' + (framework7_framework7_esm_bundle_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].device.iphone ? 'iPhone.' : 'iPod.');\n }\n } else if (framework7_framework7_esm_bundle_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].device.ipad) {\n if (!appDetail.supportedDevice.toLowerCase().includes('ipad')) {\n message = '\"' + appDetail.name + '\" not optimised for iPad. But you still can install the application.';\n }\n }\n\n if (parseFloat(framework7_framework7_esm_bundle_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].device.osVersion) < parseFloat(appDetail.minOSVersion)) {\n message = '\"' + appDetail.name + '\" only compatible with iOS ' + appDetail.minOSVersion + ' or higher.';\n }\n } else {\n message += 'Open this page on your iOS device to install the \"' + appDetail.name + '\".';\n }\n\n if (message.length > 0 && appDetail.name && firstLoad) {\n var toastWithButton = app.toast.create({\n text: message,\n closeButton: true\n });\n toastWithButton.open();\n }\n } //hide loader\n\n\n app.preloader.hide(); //resolve\n\n resolve({\n component: _pages_home_f7_html__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n }, {\n context: {\n appDetail: appDetail\n }\n });\n}\n\nfunction simplifedAppResponse(appDetail, from, to) {\n try {\n to.menifest = from.manifestLink.split(\"dropbox.com\")[1]; //app details\n\n to.name = from.name;\n to.identifier = from.identifier;\n to.version = from.version;\n to.build = from.build;\n to.download = from.ipaFileLink; //more details\n\n if (to) {\n to.uploadDate = getDateFromTimeStamp(from.timestamp);\n to.buildType = from.buildtype;\n to.fileSize = from.ipafilesize;\n to.minOSVersion = from.minosversion;\n to.supportedDevice = from.supporteddevice;\n }\n\n if (from.mobileprovision) {\n to.provisonCreationDate = getDateFromTimeStamp(from.mobileprovision.createdate);\n to.provisonExpirationDate = getDateFromTimeStamp(from.mobileprovision.expirationdata);\n to.teamName = from.mobileprovision.teamname;\n to.devicesUDIDs = from.mobileprovision.devicesudid;\n }\n } catch (err) {\n appDetail.errorMessage = unknownErrorMessage;\n appDetail.error = err;\n router.appDetail = appDetail;\n processUsing(app, appDetail, resolve, reject, true);\n }\n} //Get date\n\n\nfunction getDateFromTimeStamp(timestamp) {\n var date = new Date(timestamp * 1000);\n var hours = date.getHours();\n var minutes = date.getMinutes();\n var ampm = hours >= 12 ? 'PM' : 'AM';\n hours = hours % 12;\n hours = hours ? hours : 12;\n hours = hours < 10 ? '0' + hours : hours;\n minutes = minutes < 10 ? '0' + minutes : minutes;\n var strTime = date.toLocaleDateString() + ', ' + hours + ':' + minutes + ' ' + ampm;\n return strTime;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (appRequest);\n\n//# sourceURL=webpack:///./src/js/appRequest.js?"); /***/ }), @@ -4840,7 +4840,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _bab /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n id: 'fd6147e32d',\n render: function render() {\n return function (ctx_1, data_1, root) {\n function isArray(arr) {\n return Array.isArray(arr);\n }\n\n function isFunction(func) {\n return typeof func === 'function';\n }\n\n function c(val, ctx) {\n if (typeof val !== \"undefined\" && val !== null) {\n if (isFunction(val)) {\n return val.call(ctx);\n } else return val;\n } else return \"\";\n }\n\n root = root || ctx_1 || {};\n var r = '';\n r += '

Sorry

Requested content not found.

';\n return r;\n }(this);\n },\n styleScoped: false\n});\n\n//# sourceURL=webpack:///./src/pages/404.f7.html?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n id: '3c9a3853ac',\n render: function render() {\n return function (ctx_1, data_1, root) {\n function isArray(arr) {\n return Array.isArray(arr);\n }\n\n function isFunction(func) {\n return typeof func === 'function';\n }\n\n function c(val, ctx) {\n if (typeof val !== \"undefined\" && val !== null) {\n if (isFunction(val)) {\n return val.call(ctx);\n } else return val;\n } else return \"\";\n }\n\n root = root || ctx_1 || {};\n var r = '';\n r += '

Sorry

Requested content not found.

';\n return r;\n }(this);\n },\n styleScoped: false\n});\n\n//# sourceURL=webpack:///./src/pages/404.f7.html?"); /***/ }), @@ -4852,7 +4852,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n id: '49f6b87fc2',\n render: function render() {\n return function (ctx_1, data_1, root) {\n function isArray(arr) {\n return Array.isArray(arr);\n }\n\n function isFunction(func) {\n return typeof func === 'function';\n }\n\n function c(val, ctx) {\n if (typeof val !== \"undefined\" && val !== null) {\n if (isFunction(val)) {\n return val.call(ctx);\n } else return val;\n } else return \"\";\n }\n\n root = root || ctx_1 || {};\n var r = '';\n r += '

AppBox is a tool for iOS developers to build and deploy Development, Ad-Hoc and In-house (Enterprise) applications directly to the devices from your Dropbox account. Download latest version from here.

AppBox is open source software and available on Github. AppBox is maintained by its creator, a couple of core contributors, and its awesome community.

';\n return r;\n }(this);\n },\n styleScoped: false\n});\n\n//# sourceURL=webpack:///./src/pages/about.f7.html?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n id: '6b4ca08680',\n render: function render() {\n return function (ctx_1, data_1, root) {\n function isArray(arr) {\n return Array.isArray(arr);\n }\n\n function isFunction(func) {\n return typeof func === 'function';\n }\n\n function c(val, ctx) {\n if (typeof val !== \"undefined\" && val !== null) {\n if (isFunction(val)) {\n return val.call(ctx);\n } else return val;\n } else return \"\";\n }\n\n root = root || ctx_1 || {};\n var r = '';\n r += '

AppBox is a tool for iOS developers to build and deploy Development, Ad-Hoc and In-house (Enterprise) applications directly to the devices from your Dropbox account. Download latest version from here.

AppBox is open source software and available on Github. AppBox is maintained by its creator, a couple of core contributors, and its awesome community.

';\n return r;\n }(this);\n },\n styleScoped: false\n});\n\n//# sourceURL=webpack:///./src/pages/about.f7.html?"); /***/ }), @@ -4864,7 +4864,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n id: '6e8fcc6d4a',\n render: function render() {\n return function (ctx_1, data_1, root) {\n function isArray(arr) {\n return Array.isArray(arr);\n }\n\n function isFunction(func) {\n return typeof func === 'function';\n }\n\n function c(val, ctx) {\n if (typeof val !== \"undefined\" && val !== null) {\n if (isFunction(val)) {\n return val.call(ctx);\n } else return val;\n } else return \"\";\n }\n\n root = root || ctx_1 || {};\n var r = '';\n r += '

Sorry!

Your access to this website has been blocked due to invalid activities from your device or IP address. Please try again with some different device or networks. If you think this is mistaken then please open an issue here

';\n return r;\n }(this);\n },\n styleScoped: false\n});\n\n//# sourceURL=webpack:///./src/pages/blocked.f7.html?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n id: '353e8e599a',\n render: function render() {\n return function (ctx_1, data_1, root) {\n function isArray(arr) {\n return Array.isArray(arr);\n }\n\n function isFunction(func) {\n return typeof func === 'function';\n }\n\n function c(val, ctx) {\n if (typeof val !== \"undefined\" && val !== null) {\n if (isFunction(val)) {\n return val.call(ctx);\n } else return val;\n } else return \"\";\n }\n\n root = root || ctx_1 || {};\n var r = '';\n r += '

Sorry!

Your access to this website has been blocked due to invalid activities from your device or IP address. Please try again with some different device or networks. If you think this is mistaken then please open an issue here

';\n return r;\n }(this);\n },\n styleScoped: false\n});\n\n//# sourceURL=webpack:///./src/pages/blocked.f7.html?"); /***/ }), @@ -4876,7 +4876,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var template7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! template7 */ \"./node_modules/template7/dist/template7.esm.js\");\n\nvar Template7Helpers = template7__WEBPACK_IMPORTED_MODULE_0__[\"default\"].helpers;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n id: '4762478514',\n render: function render() {\n return function (ctx_1, data_1, root) {\n function isArray(arr) {\n return Array.isArray(arr);\n }\n\n function isFunction(func) {\n return typeof func === 'function';\n }\n\n function c(val, ctx) {\n if (typeof val !== \"undefined\" && val !== null) {\n if (isFunction(val)) {\n return val.call(ctx);\n } else return val;\n } else return \"\";\n }\n\n root = root || ctx_1 || {};\n var r = '';\n r += '
App Details
  • Size
    ';\n r += c(ctx_1.appDetail.fileSize, ctx_1);\n r += ' MB
  • Minimum iOS Version
    ';\n r += c(ctx_1.appDetail.minOSVersion, ctx_1);\n r += '
  • Device Family
    ';\n r += c(ctx_1.appDetail.supportedDevice, ctx_1);\n r += '
  • Uploaded
    ';\n r += c(ctx_1.appDetail.uploadDate, ctx_1);\n r += '
';\n r += Template7Helpers.if.call(ctx_1, ctx_1.appDetail.teamName, {\n hash: {},\n data: data_1 || {},\n fn: function fn(ctx_2, data_2) {\n var r = '';\n r += '
Provisioning Profile
  • Build Type
    ';\n r += c(ctx_2.appDetail.buildType, ctx_2);\n r += '
  • Profile Created
    ';\n r += c(ctx_2.appDetail.provisonCreationDate, ctx_2);\n r += '
  • Profile Expiration
    ';\n r += c(ctx_2.appDetail.provisonExpirationDate, ctx_2);\n r += '
  • Team
    ';\n r += c(ctx_2.appDetail.teamName, ctx_2);\n r += '
  • ';\n r += Template7Helpers.if.call(ctx_2, ctx_2.appDetail.devicesUDIDs, {\n hash: {},\n data: data_2 || {},\n fn: function fn(ctx_3, data_3) {\n var r = '';\n r += '
  • Provisioned Devices
    ';\n r += c(ctx_3.appDetail.devicesUDIDs.length, ctx_3);\n r += '
  • ';\n return r;\n },\n inverse: function empty() {\n return '';\n },\n root: root,\n parents: [ctx_1]\n });\n r += '
';\n return r;\n },\n inverse: function empty() {\n return '';\n },\n root: root,\n parents: [ctx_1]\n });\n r += '
';\n r += c(ctx_1.appDetail.adDiv, ctx_1);\n r += '
';\n return r;\n }(this);\n },\n styleScoped: false\n});\n\n//# sourceURL=webpack:///./src/pages/details.f7.html?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var template7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! template7 */ \"./node_modules/template7/dist/template7.esm.js\");\n\nvar Template7Helpers = template7__WEBPACK_IMPORTED_MODULE_0__[\"default\"].helpers;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n id: 'c08035d9a8',\n render: function render() {\n return function (ctx_1, data_1, root) {\n function isArray(arr) {\n return Array.isArray(arr);\n }\n\n function isFunction(func) {\n return typeof func === 'function';\n }\n\n function c(val, ctx) {\n if (typeof val !== \"undefined\" && val !== null) {\n if (isFunction(val)) {\n return val.call(ctx);\n } else return val;\n } else return \"\";\n }\n\n root = root || ctx_1 || {};\n var r = '';\n r += '
App Details
  • Size
    ';\n r += c(ctx_1.appDetail.fileSize, ctx_1);\n r += ' MB
  • Minimum iOS Version
    ';\n r += c(ctx_1.appDetail.minOSVersion, ctx_1);\n r += '
  • Device Family
    ';\n r += c(ctx_1.appDetail.supportedDevice, ctx_1);\n r += '
  • Uploaded
    ';\n r += c(ctx_1.appDetail.uploadDate, ctx_1);\n r += '
';\n r += Template7Helpers.if.call(ctx_1, ctx_1.appDetail.teamName, {\n hash: {},\n data: data_1 || {},\n fn: function fn(ctx_2, data_2) {\n var r = '';\n r += '
Provisioning Profile
  • Build Type
    ';\n r += c(ctx_2.appDetail.buildType, ctx_2);\n r += '
  • Profile Created
    ';\n r += c(ctx_2.appDetail.provisonCreationDate, ctx_2);\n r += '
  • Profile Expiration
    ';\n r += c(ctx_2.appDetail.provisonExpirationDate, ctx_2);\n r += '
  • Team
    ';\n r += c(ctx_2.appDetail.teamName, ctx_2);\n r += '
  • ';\n r += Template7Helpers.if.call(ctx_2, ctx_2.appDetail.devicesUDIDs, {\n hash: {},\n data: data_2 || {},\n fn: function fn(ctx_3, data_3) {\n var r = '';\n r += '
  • Provisioned Devices
    ';\n r += c(ctx_3.appDetail.devicesUDIDs.length, ctx_3);\n r += '
  • ';\n return r;\n },\n inverse: function empty() {\n return '';\n },\n root: root,\n parents: [ctx_1]\n });\n r += '
';\n return r;\n },\n inverse: function empty() {\n return '';\n },\n root: root,\n parents: [ctx_1]\n });\n r += '
';\n r += c(ctx_1.appDetail.adDiv, ctx_1);\n r += '
';\n return r;\n }(this);\n },\n styleScoped: false\n});\n\n//# sourceURL=webpack:///./src/pages/details.f7.html?"); /***/ }), @@ -4888,7 +4888,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var temp /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n id: 'abc72d014a',\n render: function render() {\n return function (ctx_1, data_1, root) {\n function isArray(arr) {\n return Array.isArray(arr);\n }\n\n function isFunction(func) {\n return typeof func === 'function';\n }\n\n function c(val, ctx) {\n if (typeof val !== \"undefined\" && val !== null) {\n if (isFunction(val)) {\n return val.call(ctx);\n } else return val;\n } else return \"\";\n }\n\n root = root || ctx_1 || {};\n var r = '';\n r += '
Downloading...
Make sure, this option will only download the IPA file. It\\'ll not install the IPA file on your device. To install this app, please go back and select \"Install Application\" or \"Install Latest Version\".
';\n r += c(ctx_1.appDetail.adDiv, ctx_1);\n r += '
';\n return r;\n }(this);\n },\n styleScoped: false\n});\n\n//# sourceURL=webpack:///./src/pages/download.f7.html?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n id: 'f14f118221',\n render: function render() {\n return function (ctx_1, data_1, root) {\n function isArray(arr) {\n return Array.isArray(arr);\n }\n\n function isFunction(func) {\n return typeof func === 'function';\n }\n\n function c(val, ctx) {\n if (typeof val !== \"undefined\" && val !== null) {\n if (isFunction(val)) {\n return val.call(ctx);\n } else return val;\n } else return \"\";\n }\n\n root = root || ctx_1 || {};\n var r = '';\n r += '
Downloading...
Make sure, this option will only download the IPA file. It\\'ll not install the IPA file on your device. To install this app, please go back and select \"Install Application\" or \"Install Latest Version\".
';\n r += c(ctx_1.appDetail.adDiv, ctx_1);\n r += '
';\n return r;\n }(this);\n },\n styleScoped: false\n});\n\n//# sourceURL=webpack:///./src/pages/download.f7.html?"); /***/ }), @@ -4900,7 +4900,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var template7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! template7 */ \"./node_modules/template7/dist/template7.esm.js\");\n\nvar Template7Helpers = template7__WEBPACK_IMPORTED_MODULE_0__[\"default\"].helpers;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n id: 'd7a219c425',\n render: function render() {\n return function (ctx_1, data_1, root) {\n function isArray(arr) {\n return Array.isArray(arr);\n }\n\n function isFunction(func) {\n return typeof func === 'function';\n }\n\n function c(val, ctx) {\n if (typeof val !== \"undefined\" && val !== null) {\n if (isFunction(val)) {\n return val.call(ctx);\n } else return val;\n } else return \"\";\n }\n\n root = root || ctx_1 || {};\n var r = '';\n r += '
iOS install popup did not appear
If the iOS popup \"install.getappbox.com would like to install ';\n r += Template7Helpers.if.call(ctx_1, ctx_1.appDetail.name, {\n hash: {},\n data: data_1 || {},\n fn: function fn(ctx_2, data_2) {\n var r = '';\n r += c(ctx_2.appDetail.name, ctx_2);\n return r;\n },\n inverse: function inverse(ctx_2, data_2) {\n var r = '';\n r += '...';\n return r;\n },\n root: root,\n parents: [ctx_1]\n });\n r += '\" did not appear, check that you don\\'t already have the same app installed from the AppStore.

If an app with the same bundle identifier is already installed on the device from the AppStore, nothing will happen.

Delete the app installed from the AppStore to be able to install this one.
Nothing seems to happen
After tapping the \"Install\" button in the popup, if nothing seems to happen and you are on this page, check your device\\'s home screen: the installation should be in progress: you should see the icon of the app somewhere and a progress indicator.
Unable to download app popup
If an \"Unable to download app\" popup appears after some time, first check your internet connection, and be sure that your device is not behind a firewall that may prevent downloading .ipa files.

Sadly, iOS won\\'t give any detailed information on what went wrong. Check on the previous page if there are any warnings. Most common installation issues are:
- expired provisioning profile
- device UDID not in the provisioning profile
- incompatible device (check minimum iOS version, device family, required device capabilities and supported architectures)
Untrusted Enterprise Developer
Starting from iOS 9, the developer has to be trusted by the device, otherwise a popup will appear and prevent using the app.

- On iOS 9.0/9.1, go to Settings > General > Profiles > tap on the developer\\'s profile, and tap on Trust.
- On iOS 9.2+, go to Settings > General > Device Management > tap on the developer\\'s profile, and tap on Trust.
Developer Mode (iOS and iPadOS 16)
On iOS 16, Apple added Developer Mode, a new level of security around development apps installed from Xcode or third-party apps like AppBox.

To be able to run an ad-hoc or development app on a device, we need to enable the Developer Mode.

To enable Developer Mode go in the \"Settings app\" > \"Privacy and Security\" > Enable \"Developer Mode\" (at the bottom of the list) > \"Restart the device\"

Now we can run the apps. This applies only to apps with ad-hoc and development profiles, and does not apply to In-house profile apps (from an Apple Enterprise account).
Nothing worked
Contact your app developers. They will be able to double-check the app and provide you with support.
I am the developer
If you are not able to find out what is wrong then please open a Github Issue here.
';\n r += c(ctx_1.appDetail.adDiv, ctx_1);\n r += '
';\n return r;\n }(this);\n },\n styleScoped: false\n});\n\n//# sourceURL=webpack:///./src/pages/help.f7.html?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var template7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! template7 */ \"./node_modules/template7/dist/template7.esm.js\");\n\nvar Template7Helpers = template7__WEBPACK_IMPORTED_MODULE_0__[\"default\"].helpers;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n id: '3864d2985d',\n render: function render() {\n return function (ctx_1, data_1, root) {\n function isArray(arr) {\n return Array.isArray(arr);\n }\n\n function isFunction(func) {\n return typeof func === 'function';\n }\n\n function c(val, ctx) {\n if (typeof val !== \"undefined\" && val !== null) {\n if (isFunction(val)) {\n return val.call(ctx);\n } else return val;\n } else return \"\";\n }\n\n root = root || ctx_1 || {};\n var r = '';\n r += '
iOS install popup did not appear
If the iOS popup \"install.getappbox.com would like to install ';\n r += Template7Helpers.if.call(ctx_1, ctx_1.appDetail.name, {\n hash: {},\n data: data_1 || {},\n fn: function fn(ctx_2, data_2) {\n var r = '';\n r += c(ctx_2.appDetail.name, ctx_2);\n return r;\n },\n inverse: function inverse(ctx_2, data_2) {\n var r = '';\n r += '...';\n return r;\n },\n root: root,\n parents: [ctx_1]\n });\n r += '\" did not appear, check that you don\\'t already have the same app installed from the AppStore.

If an app with the same bundle identifier is already installed on the device from the AppStore, nothing will happen.

Delete the app installed from the AppStore to be able to install this one.
Nothing seems to happen
After tapping the \"Install\" button in the popup, if nothing seems to happen and you are on this page, check your device\\'s home screen: the installation should be in progress: you should see the icon of the app somewhere and a progress indicator.
Unable to download app popup
If an \"Unable to download app\" popup appears after some time, first check your internet connection, and be sure that your device is not behind a firewall that may prevent downloading .ipa files.

Sadly, iOS won\\'t give any detailed information on what went wrong. Check on the previous page if there are any warnings. Most common installation issues are:
- expired provisioning profile
- device UDID not in the provisioning profile
- incompatible device (check minimum iOS version, device family, required device capabilities and supported architectures)
Untrusted Enterprise Developer
Starting from iOS 9, the developer has to be trusted by the device, otherwise a popup will appear and prevent using the app.

- On iOS 9.0/9.1, go to Settings > General > Profiles > tap on the developer\\'s profile, and tap on Trust.
- On iOS 9.2+, go to Settings > General > Device Management > tap on the developer\\'s profile, and tap on Trust.
Developer Mode (iOS and iPadOS 16)
On iOS 16, Apple added Developer Mode, a new level of security around development apps installed from Xcode or third-party apps like AppBox.

To be able to run an ad-hoc or development app on a device, we need to enable the Developer Mode.

To enable Developer Mode go in the \"Settings app\" > \"Privacy and Security\" > Enable \"Developer Mode\" (at the bottom of the list) > \"Restart the device\"

Now we can run the apps. This applies only to apps with ad-hoc and development profiles, and does not apply to In-house profile apps (from an Apple Enterprise account).
Nothing worked
Contact your app developers. They will be able to double-check the app and provide you with support.
I am the developer
If you are not able to find out what is wrong then please open a Github Issue here.
';\n r += c(ctx_1.appDetail.adDiv, ctx_1);\n r += '
';\n return r;\n }(this);\n },\n styleScoped: false\n});\n\n//# sourceURL=webpack:///./src/pages/help.f7.html?"); /***/ }), @@ -4912,7 +4912,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var temp /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var template7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! template7 */ \"./node_modules/template7/dist/template7.esm.js\");\n\nvar Template7Helpers = template7__WEBPACK_IMPORTED_MODULE_0__[\"default\"].helpers;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n id: '94c04df3cf',\n render: function render() {\n return function (ctx_1, data_1, root) {\n function isArray(arr) {\n return Array.isArray(arr);\n }\n\n function isFunction(func) {\n return typeof func === 'function';\n }\n\n function c(val, ctx) {\n if (typeof val !== \"undefined\" && val !== null) {\n if (isFunction(val)) {\n return val.call(ctx);\n } else return val;\n } else return \"\";\n }\n\n root = root || ctx_1 || {};\n var r = '';\n r += '
';\n r += Template7Helpers.if.call(ctx_1, ctx_1.appDetail.name, {\n hash: {},\n data: data_1 || {},\n fn: function fn(ctx_2, data_2) {\n var r = '';\n r += '
App Overview
  • Bundle Identifier
    ';\n r += c(ctx_2.appDetail.identifier, ctx_2);\n r += '
  • Version
    ';\n r += c(ctx_2.appDetail.version, ctx_2);\n r += ' ';\n r += Template7Helpers.if.call(ctx_2, ctx_2.appDetail.build, {\n hash: {},\n data: data_2 || {},\n fn: function fn(ctx_3, data_3) {\n var r = '';\n r += '(';\n r += c(ctx_3.appDetail.build, ctx_3);\n r += ')';\n return r;\n },\n inverse: function empty() {\n return '';\n },\n root: root,\n parents: [ctx_1]\n });\n r += '
  • ';\n r += Template7Helpers.if.call(ctx_2, ctx_2.appDetail.minOSVersion, {\n hash: {},\n data: data_2 || {},\n fn: function fn(ctx_3, data_3) {\n var r = '';\n r += '
  • More Details
  • ';\n return r;\n },\n inverse: function empty() {\n return '';\n },\n root: root,\n parents: [ctx_1]\n });\n r += '
Installation
';\n return r;\n },\n inverse: function empty() {\n return '';\n },\n root: root,\n parents: [ctx_1]\n });\n r += ' ';\n r += Template7Helpers.if.call(ctx_1, ctx_1.appDetail.errorMessage, {\n hash: {},\n data: data_1 || {},\n fn: function fn(ctx_2, data_2) {\n var r = '';\n r += '
';\n r += c(ctx_2.appDetail.errorMessage, ctx_2);\n r += '
';\n return r;\n },\n inverse: function empty() {\n return '';\n },\n root: root,\n parents: [ctx_1]\n });\n r += ' ';\n r += Template7Helpers.if.call(ctx_1, ctx_1.appDetail.error, {\n hash: {},\n data: data_1 || {},\n fn: function fn(ctx_2, data_2) {\n var r = '';\n r += '
Error
';\n r += c(ctx_2.appDetai.error, ctx_2);\n r += '
';\n return r;\n },\n inverse: function empty() {\n return '';\n },\n root: root,\n parents: [ctx_1]\n });\n r += '
';\n r += c(ctx_1.appDetail.adDiv, ctx_1);\n r += '
';\n return r;\n }(this);\n },\n styleScoped: false\n});\n\n//# sourceURL=webpack:///./src/pages/home.f7.html?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var template7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! template7 */ \"./node_modules/template7/dist/template7.esm.js\");\n\nvar Template7Helpers = template7__WEBPACK_IMPORTED_MODULE_0__[\"default\"].helpers;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n id: '62beb518ea',\n render: function render() {\n return function (ctx_1, data_1, root) {\n function isArray(arr) {\n return Array.isArray(arr);\n }\n\n function isFunction(func) {\n return typeof func === 'function';\n }\n\n function c(val, ctx) {\n if (typeof val !== \"undefined\" && val !== null) {\n if (isFunction(val)) {\n return val.call(ctx);\n } else return val;\n } else return \"\";\n }\n\n root = root || ctx_1 || {};\n var r = '';\n r += '
';\n r += Template7Helpers.if.call(ctx_1, ctx_1.appDetail.name, {\n hash: {},\n data: data_1 || {},\n fn: function fn(ctx_2, data_2) {\n var r = '';\n r += '
App Overview
  • Bundle Identifier
    ';\n r += c(ctx_2.appDetail.identifier, ctx_2);\n r += '
  • Version
    ';\n r += c(ctx_2.appDetail.version, ctx_2);\n r += ' ';\n r += Template7Helpers.if.call(ctx_2, ctx_2.appDetail.build, {\n hash: {},\n data: data_2 || {},\n fn: function fn(ctx_3, data_3) {\n var r = '';\n r += '(';\n r += c(ctx_3.appDetail.build, ctx_3);\n r += ')';\n return r;\n },\n inverse: function empty() {\n return '';\n },\n root: root,\n parents: [ctx_1]\n });\n r += '
  • ';\n r += Template7Helpers.if.call(ctx_2, ctx_2.appDetail.minOSVersion, {\n hash: {},\n data: data_2 || {},\n fn: function fn(ctx_3, data_3) {\n var r = '';\n r += '
  • More Details
  • ';\n return r;\n },\n inverse: function empty() {\n return '';\n },\n root: root,\n parents: [ctx_1]\n });\n r += '
Installation
';\n return r;\n },\n inverse: function empty() {\n return '';\n },\n root: root,\n parents: [ctx_1]\n });\n r += ' ';\n r += Template7Helpers.if.call(ctx_1, ctx_1.appDetail.errorMessage, {\n hash: {},\n data: data_1 || {},\n fn: function fn(ctx_2, data_2) {\n var r = '';\n r += '
';\n r += c(ctx_2.appDetail.errorMessage, ctx_2);\n r += '
';\n return r;\n },\n inverse: function empty() {\n return '';\n },\n root: root,\n parents: [ctx_1]\n });\n r += ' ';\n r += Template7Helpers.if.call(ctx_1, ctx_1.appDetail.error, {\n hash: {},\n data: data_1 || {},\n fn: function fn(ctx_2, data_2) {\n var r = '';\n r += '
Error
';\n r += c(ctx_2.appDetai.error, ctx_2);\n r += '
';\n return r;\n },\n inverse: function empty() {\n return '';\n },\n root: root,\n parents: [ctx_1]\n });\n r += '
';\n r += c(ctx_1.appDetail.adDiv, ctx_1);\n r += '
';\n return r;\n }(this);\n },\n styleScoped: false\n});\n\n//# sourceURL=webpack:///./src/pages/home.f7.html?"); /***/ }), @@ -4924,7 +4924,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var temp /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n id: '96b1c0c2fe',\n render: function render() {\n return function (ctx_1, data_1, root) {\n function isArray(arr) {\n return Array.isArray(arr);\n }\n\n function isFunction(func) {\n return typeof func === 'function';\n }\n\n function c(val, ctx) {\n if (typeof val !== \"undefined\" && val !== null) {\n if (isFunction(val)) {\n return val.call(ctx);\n } else return val;\n } else return \"\";\n }\n\n root = root || ctx_1 || {};\n var r = '';\n r += '
Installation in progress...
By now, you should have seen an iOS popup proposing to install \"';\n r += c(ctx_1.appDetail.name, ctx_1);\n r += '\". Please confirm the installation dialog, then press your Home button to see the installation progress.
Need Help?
';\n r += c(ctx_1.appDetail.adDiv, ctx_1);\n r += '
';\n return r;\n }(this);\n },\n styleScoped: false\n});\n\n//# sourceURL=webpack:///./src/pages/install.f7.html?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n id: 'f1fe3b3332',\n render: function render() {\n return function (ctx_1, data_1, root) {\n function isArray(arr) {\n return Array.isArray(arr);\n }\n\n function isFunction(func) {\n return typeof func === 'function';\n }\n\n function c(val, ctx) {\n if (typeof val !== \"undefined\" && val !== null) {\n if (isFunction(val)) {\n return val.call(ctx);\n } else return val;\n } else return \"\";\n }\n\n root = root || ctx_1 || {};\n var r = '';\n r += '
Installation in progress...
By now, you should have seen an iOS popup proposing to install \"';\n r += c(ctx_1.appDetail.name, ctx_1);\n r += '\". Please confirm the installation dialog, then press your Home button to see the installation progress.
Need Help?
';\n r += c(ctx_1.appDetail.adDiv, ctx_1);\n r += '
';\n return r;\n }(this);\n },\n styleScoped: false\n});\n\n//# sourceURL=webpack:///./src/pages/install.f7.html?"); /***/ }), @@ -4936,7 +4936,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var template7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! template7 */ \"./node_modules/template7/dist/template7.esm.js\");\n\nvar Template7Helpers = template7__WEBPACK_IMPORTED_MODULE_0__[\"default\"].helpers;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n id: '91ed594ec4',\n render: function render() {\n return function (ctx_1, data_1, root) {\n function isArray(arr) {\n return Array.isArray(arr);\n }\n\n function isFunction(func) {\n return typeof func === 'function';\n }\n\n function c(val, ctx) {\n if (typeof val !== \"undefined\" && val !== null) {\n if (isFunction(val)) {\n return val.call(ctx);\n } else return val;\n } else return \"\";\n }\n\n root = root || ctx_1 || {};\n var r = '';\n r += '
';\n r += Template7Helpers.each.call(ctx_1, ctx_1.appDetail.allVersions, {\n hash: {},\n data: data_1 || {},\n fn: function fn(ctx_2, data_2) {\n var r = '';\n r += '
';\n r += c(ctx_2.version, ctx_2);\n r += ' (';\n r += c(ctx_2.build, ctx_2);\n r += ')