diff --git a/assets/browser-check.js b/assets/browser-check.js deleted file mode 100644 index be95ea3ef4f385f2ec284038974cb15d102d7501..0000000000000000000000000000000000000000 --- a/assets/browser-check.js +++ /dev/null @@ -1,181 +0,0 @@ -/* eslint-disable */ - -(function () { - -// https://caniuse.com/#feat=es6 -function supportsES6() { - if (typeof Symbol == "undefined") - return false; - - try { - eval("class Foo {}"); - eval("var bar = (x) => x+1"); - } catch (e) { - console.log(e); - return false; - } - - return true; -} - -// https://caniuse.com/#feat=es6-module-dynamic-import -function supportsDynamicImport() { - try { - new Function('import("")'); - return true; - } catch (err) { - return false; - } -} - -// https://caniuse.com/#feat=shadowdomv1 -function supportsShadowDOM() { - return (typeof Element != "undefined" && 'attachShadow' in Element.prototype && 'getRootNode' in Element.prototype); -} - -// https://caniuse.com/#feat=custom-elementsv1 -function supportsCustomElements() { - return !!window.customElements; -} - -// https://caniuse.com/#feat=async-functions -function supportsAsyncAwait() { - try { - eval('async () => {}'); - } catch (e) { - return false; - } - return true; -} - -// https://caniuse.com/#feat=mdn-javascript_statements_import_meta -function supportsImportMeta() { - // TODO: sadly no idea how to test this.. - return true; -} - -// Eval can be disabled through https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP -function supportsEval() { - try { - eval(''); - } catch (e) { - return false; - } - return true; -} - -function isBrowserSupported() { - if (!supportsEval()) { - console.log("Eval support disabled, skipping browser feature detection."); - return true; - } - - if (!supportsES6()) { - console.log("ES6 not supported"); - return false; - } - - if (!supportsDynamicImport()) { - console.log("Dynamic imports not supported"); - return false; - } - - if (!supportsShadowDOM()) { - console.log("Shadow DOM not supported"); - return false; - } - - if (!supportsCustomElements()) { - console.log("Custom Elements not supported"); - return false; - } - - if (!supportsAsyncAwait()) { - console.log("Async Await not supported"); - return false; - } - - if (!supportsImportMeta()) { - console.log("import.meta not supported"); - return false; - } - - return true; -} - -var MultiString = function(f) { - return f.toString().split('\n').slice(1, -1).join('\n'); -}; - -var ms = MultiString(function() {/** -<style> - #unsupported .overlay { - font-family: sans-serif; - font-size: 0.9em; - line-height: 1.5em; - position: fixed; - width: 100%; - height: 100%; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: #fafafa; - color: #333; - z-index: 1001; - } - #unsupported .content{ - position: absolute; - top: 50%; - left: 0; - text-align: center; - width: 80%; - left: 10%; - -ms-transform: translateY(-50%); - transform: translateY(-50%); - } - #unsupported .separator { - letter-spacing: 0.3em; - margin: 2em 0; - } - #unsupported .footer { - position: fixed; - top: 0.5em; - line-height: 2em; - width: 100%; - text-align: center; - } -</style> -<div id="unsupported"> - <div class="overlay"> - <div class="content"> - <h2>Ihr Browser wird leider nicht mehr unterstützt</h2> - <p> - Diese Applikation benötigt Funktionen, die von Ihrem aktuellen Browser noch nicht bereitgestellt werden. - Bitte probieren Sie es mit einem anderen Browser oder aktualisieren Sie Ihren aktuellen. - </p> - <h3 class="separator">🙁🙁🙁🙁🙁🙁🙁🙁🙁🙁🙁🙁</h3> - <h2>Your browser is sadly no longer supported</h2> - <p> - This application requires features that are not yet provided by your current browser. - Please try to use a different browser or update your current one. - </p> - </div> - <div class="footer"> - IT Support: <a href="mailto:it-support@tugraz.at">it-support@tugraz.at</a> - <br> - <a href="https://datenschutz.tugraz.at/erklaerung/" target="_blank" rel="noopener">Datenschutzerklärung / Privacy Policy</a> - </div> - </div> -</div> -**/}); - -function main() { - if (!isBrowserSupported()) { - document.body.innerHTML = ms; - } -} - -main(); - -})(); diff --git a/rollup.config.js b/rollup.config.js index 036ab9cab50bb60d197a0b4d4bc4c9721fd9241b..3a33c6b435eedf49fe27dcb516525034126be089 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -238,6 +238,7 @@ export default { {src: 'assets/*.svg', dest: 'dist/local/' + pkg.name}, {src: 'node_modules/source-sans-pro/WOFF2/OTF/*', dest: 'dist/local/' + pkg.name + '/fonts'}, {src: 'node_modules/vpu-common/src/spinner.js', dest: 'dist/local/' + pkg.name, rename: 'spinner.js'}, + {src: 'node_modules/vpu-common/misc/browser-check.js', dest: 'dist/local/' + pkg.name, rename: 'browser-check.js'}, {src: 'assets/browser-check.js', dest: 'dist/local/' + pkg.name}, {src: 'assets/icon-*.png', dest: 'dist/local/' + pkg.name}, {src: 'assets/manifest.json', dest: 'dist', rename: pkg.name + '.manifest.json'}, diff --git a/vendor/common b/vendor/common index 821137e246fdcee9ccb04e4cfe420e7abec3186e..9c6dc1fd5e004eba32e31adf8e4485a26c345fe0 160000 --- a/vendor/common +++ b/vendor/common @@ -1 +1 @@ -Subproject commit 821137e246fdcee9ccb04e4cfe420e7abec3186e +Subproject commit 9c6dc1fd5e004eba32e31adf8e4485a26c345fe0