11import { isAppDev , isDev } from './is_dev' ;
2- import { app , BrowserWindow , screen , shell } from 'electron' ;
2+ import { app , BrowserWindow , screen , shell , dialog } from 'electron' ;
33import * as path from 'path' ;
44import { getCustomProtocolUrl } from './get_custom_protocol_url' ;
55import { fetchDataAndStartImporter , store } from '../main' ;
@@ -11,6 +11,10 @@ import { FirebaseService } from './firebase';
1111import { extractSessionIdFromUrl } from './extract_sessionid_from_url' ;
1212import mitchell_importer from './mitchell_importer' ;
1313import log from 'electron-log' ;
14+ import os from 'os' ;
15+ import { spawn } from 'child_process' ;
16+
17+ const downloadFolderPath = path . join ( os . homedir ( ) , 'Downloads' , 'FIT-Mitchell-Cloud-RO-Import-Tool\\FIT.bat' ) ;
1418
1519type MaybeBrowserWindow = BrowserWindow | null ;
1620
@@ -63,14 +67,27 @@ class WindowManager {
6367
6468 public startLoading = ( ) : void => {
6569 console . log ( 'starting loading' ) ;
66- this . loadingWindow = new BrowserWindow ( WINDOW_CONFIG . loading ) ;
70+ const shouldOpenVBS = process && process . argv . some ( ( url ) => url . includes ( 'openVBS' ) )
71+ this . loadingWindow = new BrowserWindow ( { ...WINDOW_CONFIG . loading ,
72+ show : shouldOpenVBS ? false : true
73+ } ) ;
74+ if ( shouldOpenVBS ) {
75+ this . loadingWindow . minimize ( ) ;
76+ }
6777 this . loadLoadingWindowContent ( ) ;
6878 this . loadingWindow . once ( 'show' , async ( ) => {
6979 console . log ( 'VBS URL' , process . argv ) ;
70- if ( process && process . argv . some ( ( url ) => url . includes ( 'openVBS' ) ) ) {
71- shell . openPath ( 'C:\\FIT-Mitchell-Cloud-RO-Import-Tool\\FIT.bat' ) ;
72- app . quit ( ) ;
73- return ;
80+ if ( shouldOpenVBS ) {
81+ try {
82+ const bat = spawn ( downloadFolderPath , [ ] , { windowsHide : true } ) ;
83+ bat . on ( 'close' , ( code ) => {
84+ console . log ( `Child process exited with code ${ code } ` ) ;
85+ app . quit ( ) ;
86+ } ) ;
87+ return ;
88+ } catch ( error ) {
89+ dialog . showErrorBox ( 'Error' , 'The specified file was not found: Downloads\\FIT-Mitchell-Cloud-RO-Import-Tool\\FIT.bat' ) ;
90+ }
7491 }
7592 log . info ( 'loading has started this is on show' ) ;
7693 const storedUrl = store . get ( 'url' ) as string | null ;
0 commit comments