2017-11-21 16:37:38 +00:00
// Load #1, load as little as possible because we are in a race to get the loading screen up.
define ( [
'/bower_components/nthen/index.js' ,
'/api/config' ,
'jquery' ,
'/common/requireconfig.js' ,
'/common/sframe-common-outer.js' ,
'/common/cryptpad-common.js' ,
'/common/common-util.js' ,
'/common/common-hash.js' ,
'/common/common-realtime.js' ,
'/common/common-constants.js' ,
'/common/common-interface.js' ,
] , function ( nThen , ApiConfig , $ , RequireConfig , SFCommonO ,
Cryptpad , Util , Hash , Realtime , Constants , UI ) {
2022-02-25 10:32:06 +00:00
if ( window . top !== window ) {
return void window . alert ( ` If you are seeing this message then somebody might be trying to compromise your CryptPad account. Please contact the CryptPad development team. ` ) ;
}
2017-11-21 16:37:38 +00:00
window . Cryptpad = {
Common : Cryptpad ,
Util : Util ,
Hash : Hash ,
Realtime : Realtime ,
Constants : Constants ,
UI : UI
} ;
// Loaded in load #2
nThen ( function ( waitFor ) {
$ ( waitFor ( ) ) ;
2020-12-07 15:21:45 +00:00
} ) . nThen ( function ( waitFor ) {
SFCommonO . initIframe ( waitFor ) ;
2017-11-21 16:37:38 +00:00
} ) . nThen ( function ( /*waitFor*/ ) {
2020-10-30 14:00:12 +00:00
var hash = localStorage [ Constants . userHashKey ] || localStorage [ Constants . fileHashKey ] ;
2019-02-25 17:43:32 +00:00
var drive = hash && ( '#' + hash === window . location . hash ) ;
2019-02-19 13:31:05 +00:00
if ( ! window . location . hash ) {
2019-02-25 17:43:32 +00:00
drive = true ;
2019-02-20 09:41:29 +00:00
window . location . hash = hash ;
2019-02-26 14:48:29 +00:00
} else {
var p = Hash . parsePadUrl ( '/debug/' + window . location . hash ) ;
if ( p && p . hashData && p . hashData . app === 'drive' ) {
drive = true ;
}
2019-02-19 13:31:05 +00:00
}
2019-02-25 17:43:32 +00:00
var addData = function ( meta ) {
meta . debugDrive = drive ;
} ;
SFCommonO . start ( {
2021-03-19 14:09:28 +00:00
noDrive : true ,
2019-02-25 17:43:32 +00:00
addData : addData
} ) ;
2017-11-21 16:37:38 +00:00
} ) ;
} ) ;