Skip to content

Instantly share code, notes, and snippets.

@renatovieiradesouza
Created June 22, 2019 20:46
Show Gist options
  • Save renatovieiradesouza/126d666eb14f4a47eae447c91a602efa to your computer and use it in GitHub Desktop.
Save renatovieiradesouza/126d666eb14f4a47eae447c91a602efa to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<html class="">
<head>
<title>Fabric</title>
<link rel="shortcut icon" href="/fabric.ico">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link href="https://www.fabric.io/apple-touch-icon-fabric.png" rel="apple-touch-icon-precomposed" type="image/png" />
<script type="text/javascript">
RAILS_ENV = "production";
REVISION = "87a9314e9905f6ee0189ba55cd85ebfe068af6da";
</script>
<script type="text/javascript">
window.GOOGLE_OAUTH_ENABLED = true;
function onGoogleApiLoad() {
gapi.load('auth2', function() {
/*
FIXME(samp) "scope", "prompt" and "ux_mode" should really be specified in the signIn method
but a bug in Google Oauth causes the requested scopes to be dropped
in some race-condition cases unless they are specified at init time
*/
gapi.auth2.init({
clientId: "525449062184-21gg8frep0s3k98oi285rk8lsgjqr8js.apps.googleusercontent.com",
scope: 'profile email https://www.googleapis.com/auth/cloud-platform',
prompt: 'select_account',
ux_mode: 'popup',
}).then(function(auth2) {
window.auth2 = auth2;
window.dispatchEvent(new Event('google-oauth-loaded'));
}, function(error) {
console.error(error);
});
});
}
</script>
<script type="text/javascript" src="https://apis.google.com/js/platform.js?onload=onGoogleApiLoad" async defer></script>
<script type="text/javascript" src='https://www.google.com/recaptcha/api.js?render=explicit'></script>
<meta content="authenticity_token" name="csrf-param" />
<meta content="9Vprqj+8D07V8cCeZAdq1DsQmiCP+5pahnpCecLyynI=" name="csrf-token" />
</head>
<body class="font-standard sdk">
<script crossorigin="anonymous" src="https://cdn-cf.fabric.io/assets/webpack/entry-vendor-styles-3e2e300aae48a1d3ece5.js" type="text/javascript"></script>
<script crossorigin="anonymous" src="https://cdn-cf.fabric.io/assets/webpack/entry-app-styles-3e2e300aae48a1d3ece5.js" type="text/javascript"></script>
<div id="chrome">
<div id="app-loader">
<i class="icon-fabric"></i>
</div>
</div>
<iframe class="hide absolute" name="downloadIFrame" src='about:blank' style="border:0;" width="0" height="0"></iframe>
<script type="text/javascript">
window._trackJs = {
enabled: true,
token: '4071f1202a3f4c81b39edcea1e933257',
application: 'www',
version: REVISION,
// Prevent tracking of 400 or greater network errors.
network: { error: false },
// Custom pre-processing handler before the error is sent to Track.js.
onError: function (payload, error) {
var validDomains = [
/^https:\/\/[^\/]*fabric\.io/,
/^http:\/\/crashes\.to/
];
var stagingUrlRegex = /staging-([^\/]*)\d{4}/i;
// Tag any errors that occur in staging to differentiate from prod errors.
var matches = payload.url.match(stagingUrlRegex);
if (matches) {
payload.message = '[STAGING-' + matches[1].toUpperCase() + '] ' + payload.message;
}
// Reject any errors that:
// - Don't contain a stack trace
// - Happen anywhere outside of our code (by checking for foreign urls or unknown sources)
if (payload.stack) {
if (!payload.url || !validDomains.some(function(urlRegex){return urlRegex.test(payload.url)})) {
return false;
}
var urlMatches = payload.stack.match(/https?:\/\/[^\/]*/g);
return urlMatches ? urlMatches.every(function(url){return url === 'https://cdn-cf.fabric.io'}) : false;
} else {
return false;
}
}
};
</script>
<script crossorigin="anonymous" src="https://cdn-cf.fabric.io/assets/webpack/entry-main-3e2e300aae48a1d3ece5.js" type="text/javascript"></script>
<noscript>
<div id="noscript" class="message error align-center">
<div class="content">
<h2>JavaScript disabled</h2>
<p>This site requires JavaScript to run. Please enable it and reload the page.</p>
</div>
</div>
</noscript>
<script>
if (window.require || window.define || window.CLS_ENTRY_LOADED)
{
var el = document.getElementById('app-loader');
if (el) el.style.display = 'block';
} else {
var message, header, paragraph;
document.body.style.margin = '8px';
document.body.style.backgroundColor = '#0e2845';
message = document.createElement('div');
message.style.background = 'rgba(0, 0, 0, 0.07)';
message.style.borderRadius = '10px';
message.style.margin = '120px auto 20px auto';
message.style.width = '100%';
message.style.maxWidth = '450px';
message.style.padding = '15px';
message.style.boxSizing = 'border-box';
message.style.color = '#cbd5dd';
message.style.fontFamily = '"HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif';
message.style.fontWeight = 300;
message.style.lineHeight = 1.4;
message.style.fontSize = '16px';
message.style.textAlign = 'center';
header = document.createElement('header');
header.style.fontSize = '24px';
header.style.color = 'white';
header.style.letterSpacing = '-0.25pt';
header.innerText = 'Uh oh!'
paragraph = document.createElement('p');
paragraph.innerHTML = 'We couldn\'t load assets! <br> Please make sure cdn-cf.fabric.io is not blocked and try again.';
message.appendChild(header);
message.appendChild(paragraph);
document.body.appendChild(message);
}
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment