| 
									
										
										
										
											2021-01-27 15:13:33 -06:00
										 |  |  | // Copyright 2018-2021 Signal Messenger, LLC
 | 
					
						
							| 
									
										
										
										
											2020-10-30 15:34:04 -05:00
										 |  |  | // SPDX-License-Identifier: AGPL-3.0-only
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-06 17:48:14 -07:00
										 |  |  | /* global window */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-04 13:47:14 -05:00
										 |  |  | window.React = require('react'); | 
					
						
							|  |  |  | window.ReactDOM = require('react-dom'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-30 11:57:43 -07:00
										 |  |  | const { ipcRenderer } = require('electron'); | 
					
						
							| 
									
										
										
										
											2018-07-03 15:33:50 -07:00
										 |  |  | const url = require('url'); | 
					
						
							| 
									
										
										
										
											2021-08-18 16:08:14 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | // It is important to call this as early as possible
 | 
					
						
							|  |  |  | require('./ts/windows/context'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-03 15:33:50 -07:00
										 |  |  | const i18n = require('./js/modules/i18n'); | 
					
						
							| 
									
										
										
										
											2021-04-27 12:29:59 -07:00
										 |  |  | const { ConfirmationDialog } = require('./ts/components/ConfirmationDialog'); | 
					
						
							| 
									
										
										
										
											2021-02-04 13:54:03 -06:00
										 |  |  | const { | 
					
						
							|  |  |  |   getEnvironment, | 
					
						
							|  |  |  |   setEnvironment, | 
					
						
							|  |  |  |   parseEnvironment, | 
					
						
							|  |  |  | } = require('./ts/environment'); | 
					
						
							| 
									
										
										
										
											2018-07-03 15:33:50 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | const config = url.parse(window.location.toString(), true).query; | 
					
						
							|  |  |  | const { locale } = config; | 
					
						
							|  |  |  | const localeMessages = ipcRenderer.sendSync('locale-data'); | 
					
						
							| 
									
										
										
										
											2021-02-04 13:54:03 -06:00
										 |  |  | setEnvironment(parseEnvironment(config.environment)); | 
					
						
							| 
									
										
										
										
											2018-07-03 15:33:50 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-18 16:08:14 -04:00
										 |  |  | const { createSetting } = require('./ts/util/preload'); | 
					
						
							| 
									
										
										
										
											2021-06-22 07:46:42 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-02-04 13:54:03 -06:00
										 |  |  | window.getEnvironment = getEnvironment; | 
					
						
							| 
									
										
										
										
											2018-07-20 14:01:06 -07:00
										 |  |  | window.getVersion = () => config.version; | 
					
						
							| 
									
										
										
										
											2018-07-13 08:57:30 -07:00
										 |  |  | window.theme = config.theme; | 
					
						
							| 
									
										
										
										
											2018-07-03 15:33:50 -07:00
										 |  |  | window.i18n = i18n.setup(locale, localeMessages); | 
					
						
							| 
									
										
										
										
											2020-06-04 11:16:19 -07:00
										 |  |  | window.forCalling = config.forCalling === 'true'; | 
					
						
							|  |  |  | window.forCamera = config.forCamera === 'true'; | 
					
						
							| 
									
										
										
										
											2021-01-04 13:47:14 -05:00
										 |  |  | window.Signal = { | 
					
						
							|  |  |  |   Components: { | 
					
						
							| 
									
										
										
										
											2021-04-27 12:29:59 -07:00
										 |  |  |     ConfirmationDialog, | 
					
						
							| 
									
										
										
										
											2021-01-04 13:47:14 -05:00
										 |  |  |   }, | 
					
						
							|  |  |  | }; | 
					
						
							| 
									
										
										
										
											2018-07-03 15:33:50 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-04 16:44:57 -05:00
										 |  |  | require('./ts/logging/set_up_renderer_logging').initialize(); | 
					
						
							| 
									
										
										
										
											2018-07-03 15:33:50 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | window.closePermissionsPopup = () => | 
					
						
							|  |  |  |   ipcRenderer.send('close-permissions-popup'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-24 13:57:54 -07:00
										 |  |  | window.Backbone = require('backbone'); | 
					
						
							| 
									
										
										
										
											2021-08-18 16:08:14 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | window.Settings = { | 
					
						
							|  |  |  |   mediaCameraPermissions: createSetting('mediaCameraPermissions', { | 
					
						
							|  |  |  |     getter: false, | 
					
						
							|  |  |  |   }), | 
					
						
							|  |  |  |   mediaPermissions: createSetting('mediaPermissions', { | 
					
						
							|  |  |  |     getter: false, | 
					
						
							|  |  |  |   }), | 
					
						
							|  |  |  |   themeSetting: createSetting('themeSetting', { setter: false }), | 
					
						
							|  |  |  | }; |