// bg #e7e7e7 // blue #0087FF // text #3F4141 define(['/customize/messages.js'], function (Messages) { var loadingStyle = (function(){/* @font-face { font-family: 'Open Sans'; src: url('/bower_components/open-sans-fontface/fonts/Regular/OpenSans-Regular.eot'); src: url('/bower_components/open-sans-fontface/fonts/Regular/OpenSans-Regular.eot?#iefix') format('embedded-opentype'), url('/bower_components/open-sans-fontface/fonts/Regular/OpenSans-Regular.woff') format('woff'), url('/bower_components/open-sans-fontface/fonts/Regular/OpenSans-Regular.ttf') format('truetype'), url('/bower_components/open-sans-fontface/fonts/Regular/OpenSans-Regular.svg#OpenSansRegular') format('svg'); font-weight: normal; font-style: normal; } #cp-loading { visibility: visible; position: fixed; z-index: 10000000; top: 0px; bottom: 0px; left: 0px; right: 0px; background-color: #e7e7e7; color: #3F4141; font-size: 1.3em; line-height: 120%; opacity: 1; display: flex; flex-flow: column; justify-content: center; align-items: center; font: 20px 'Open Sans', 'Helvetica Neue', sans-serif !important; } #cp-loading.cp-loading-transparent { background-color: rgba(231, 231, 231, 0.7); } #cp-loading.cp-loading-hidden { opacity: 0; visibility: hidden; transition: opacity 0.75s, visibility 0s 0.75s; } #cp-loading .cp-loading-logo { height: 300px; width: 300px; margin-top: 50px; flex: 0 1 auto; min-height: 0; text-align: center; } #cp-loading .cp-loading-logo img { max-width: 100%; max-height: 100%; } #cp-loading .cp-loading-container { width: 700px; max-width: 90vw; height: 236px; max-height: calc(100vh - 20px); margin: 50px; flex-shrink: 0; display: flex; flex-flow: column; align-items: center; } #cp-loading .cp-loading-cryptofist { margin-left: auto; margin-right: auto; max-width: 90vw; max-height: 300px; width: auto; height: auto; margin-bottom: 2em; } @media screen and (max-width: 500px) { #cp-loading { font-size: 16px !important; } #cp-loading .cp-loading-container { height: 206px; } } @media screen and (max-height: 700px) { #cp-loading { font-size: 16px !important; } #cp-loading .cp-loading-container { height: 206px; } } @media screen and (max-height: 500px) { #cp-loading .cp-loading-logo { display: none; } } #cp-loading-message { background: #FFF; padding: 20px; width: 100%; color: #3F4141; text-align: left; display: none; } #cp-loading-password-prompt p.cp-password-error { color: white; background: #9e0000; padding: 5px; margin-bottom: 15px; } #cp-loading-password-prompt .cp-password-info { text-align: left; margin-bottom: 15px; } #cp-loading-burn-after-reading .cp-password-info { margin-bottom: 15px; } p.cp-password-info{ text-align: left; } #cp-loading-password-prompt .cp-password-form { display: flex; flex-wrap: wrap; } #cp-loading-password-prompt .cp-password-form button{ background-color: #4591c4; color: white; border: 1px solid #4591c4; } .cp-password-input{ font-size:16px; border: 1px solid #4591c4; background-color: white; border-radius 0; } .cp-password-form button{ padding: 8px 12px; font-weight: bold; text-transform: uppercase; } #cp-loading-password-prompt .cp-password-form{ width: 100%; } #cp-loading-password-prompt .cp-password-form .cp-password-container { flex-shrink: 1; min-width: 0; } #cp-loading-password-prompt .cp-password-form .cp-password-container .cp-password-reveal{ color: #4591c4; padding: 0px 24px; } #cp-loading-password-prompt .cp-password-form input { flex: 1; padding: 12px; min-width: 0; text-overflow: ellipsis; } #cp-loading-password-prompt .cp-password-form button:hover { background-color: #326599; } #cp-loading-password-prompt ::placeholder { color: #999999; opacity: 1; } #cp-loading-password-prompt :-ms-input-placeholder { color: #d9d9d9; } #cp-loading-password-prompt ::-ms-input-placeholder { color: #d9d9d9; } #cp-loading .cp-loading-spinner-container { position: relative; height: 80px; margin-bottom: 50px; } .cp-loading-progress { width: 100%; text-align: center; } .cp-loading-progress p { margin: 5px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .cp-loading-progress-list { text-align: left; display: inline-block; margin-bottom: 50px; max-width: 100%; } .cp-loading-progress-list ul { list-style: none; padding-left: 0; margin: 0; } .cp-loading-progress-list li { padding: 0px 5px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .cp-loading-progress-list li i { width: 22px; } .cp-loading-progress-list li span{ margin-left: 10px; } .cp-loading-progress-list li span.percent { position: absolute; } .cp-loading-progress-bar { height: 24px; background: white; border: 1px solid #0087FF; } .cp-loading-progress-bar-value { height: 100%; background: #0087FF; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(1800deg); } } .cp-spinner { display: inline-block; box-sizing: border-box; width: 80px; height: 80px; border: 11px solid #999999; border-radius: 50%; border-top-color: transparent; animation: spin infinite 3s; animation-timing-function: cubic-bezier(.6,0.15,0.4,0.85); } button:not(.btn).primary{ border: 1px solid #4591c4; padding: 8px 12px; text-transform: uppercase; background-color: #4591c4; color: white; font-weight: bold; } button:not(.btn).primary:hover{ background-color: rgb(52, 118, 162); } */}).toString().slice(14, -3); var urlArgs = window.location.href.replace(/^.*\?([^\?]*)$/, function (all, x) { return x; }); var elem = document.createElement('div'); elem.setAttribute('id', 'cp-loading'); elem.innerHTML = [ '', '', '
', '
', '', '
', '
', '
', '
', '
', '

', '
' ].join(''); var built = false; var types = ['less', 'drive', 'migrate', 'sf', 'team', 'pad', 'end']; var current, progress; var makeList = function (data) { var c = types.indexOf(data.type); current = c; var getLi = function (i) { var check = (i < c || (i === c && data.progress >= 100)) ? 'fa-check-square-o' : 'fa-square-o'; var percentStr = ''; if (i === c) { var p = Math.min(Math.floor(data.progress), 100); percentStr = '('+p+'%)'; } return '
  • '+Messages['loading_state_'+i]+'' + percentStr; }; var list = ''; return list; }; var makeBar = function (data) { var c = types.indexOf(data.type); var l = types.length - 1; // don't count "end" as a type var progress = Math.min(data.progress, 100); var p = (progress / l) + (100 * c / l); var bar = '
    '+ '
    '+ '
    '; return bar; }; var hasErrored = false; var isOffline = false; var updateLoadingProgress = function (data) { if (!built || !data) { return; } // If we receive a "offline" event, show the warning text if (data.type === "offline") { try { isOffline = true; document.querySelector('#cp-loading-message').setAttribute('style', 'display:block;'); document.querySelector('#cp-loading-message').innerText = Messages.offlineError; } catch (e) { console.error(e); } return; } // If we receive a new event and we were offline, remove // the offline warning text if (isOffline) { try { isOffline = false; document.querySelector('#cp-loading-message').setAttribute('style', 'display:none;'); } catch (e) { console.error(e); } } // Make sure progress doesn't go backward var c = types.indexOf(data.type); if (c < current) { return console.debug(data); } if (c === current && progress > data.progress) { return console.debug(data); } progress = data.progress; try { var el1 = document.querySelector('.cp-loading-spinner-container'); if (el1) { el1.style.display = 'none'; } var el2 = document.querySelector('.cp-loading-progress-list'); if (el2) { el2.innerHTML = makeList(data); } var el3 = document.querySelector('.cp-loading-progress-container'); if (el3) { el3.innerHTML = makeBar(data); } } catch (e) { //if (!hasErrored) { console.error(e); } } }; window.CryptPad_updateLoadingProgress = updateLoadingProgress; window.CryptPad_loadingError = function (err) { if (!built) { return; } if (err === 'Error: XDR encoding failure') { console.warn(err); return; } hasErrored = true; var err2; if (err === 'Script error.') { err2 = Messages.error_unhelpfulScriptError; } try { var node = document.querySelector('.cp-loading-progress'); if (!node) { return; } if (node.parentNode) { node.parentNode.removeChild(node); } document.querySelector('.cp-loading-spinner-container').setAttribute('style', 'display:none;'); document.querySelector('#cp-loading-message').setAttribute('style', 'display:block;'); document.querySelector('#cp-loading-message').innerText = err2 || err; } catch (e) { console.error(e); } }; return function () { built = true; var intr; var append = function () { if (!document.body) { return; } clearInterval(intr); document.body.appendChild(elem); }; intr = setInterval(append, 100); append(); }; });