/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/dhealth-wallet@1.3.1/public/bundler.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
const path=require("path"),fs=require("fs"),{app:app,BrowserWindow:BrowserWindow,ipcMain:ipcMain,Menu:Menu,shell:shell}=require("electron"),name=app.getName(),electronLocalshortcut=require("electron-localshortcut"),contextMenu=require("electron-context-menu");contextMenu({});const axios=require("axios").default;let loadedPluginsCache=[],loadedPluginTimes={},lastPageReloadTime=0;class AppMenu{constructor(e){const n="darwin"===process.platform?"Ctrl+Command+F":"CmdOrCtrl+F",o="darwin"===process.platform?"Ctrl+Command+I":"CmdOrCtrl+I";this.name=e,this.template=[{label:"Window",role:"window",submenu:[{label:"Minimize",accelerator:"CmdOrCtrl+M",role:"minimize"},{label:"Close",accelerator:"CmdOrCtrl+W",role:"close"},{label:"Toggle Full Screen",accelerator:n,click:(e,n)=>{n&&n.setFullScreen(!n.isFullScreen())}},{label:"Toggle Developer Tools",accelerator:o,click:(e,n)=>{AppMainWindow.webContents.openDevTools({mode:"detach"})}}]},{label:"Edit",role:"edit",submenu:[{label:"Cut",accelerator:"CmdOrCtrl+X",role:"cut"},{label:"Copy",accelerator:"CmdOrCtrl+C",role:"copy"},{label:"Paste",accelerator:"CmdOrCtrl+V",role:"paste"},{label:"Select All",accelerator:"CmdOrCtrl+A",role:"selectAll"}]},{label:"Help",role:"help",submenu:[{label:"About dHealth",click:()=>shell.openExternal("https://dhealth.network")},{label:"About YourDLT",click:()=>shell.openExternal("https://docs.yourdlt.tools/")},{label:"About UBC Digital",click:()=>shell.openExternal("https://ubc.digital")}]}]}addMacItems(){this.template.unshift({label:this.name,submenu:[{label:`About ${this.name}`,role:"about"},{type:"separator"},{label:"Services",role:"services",submenu:[]},{type:"separator"},{label:`Hide ${this.name}`,accelerator:"Command+H",role:"hide"},{label:"Hide others",accelerator:"Command+Alt+H",role:"hideothers"},{label:"Show",role:"unhide"},{type:"separator"},{label:"Quit",accelerator:"Command+Q",click:()=>app.quit()}]})}}let AppMainWindow=null;class AppWindow{constructor(e,n){this.ipcMain=e,this.options=n,this.options.windowConfig={webPreferences:{contextIsolation:!1,nodeIntegration:!1,nodeIntegrationInWorker:!1,enableRemoteModule:!1,preload:path.resolve(__dirname,"preload.js"),devTools:!0},resizable:!0}}setupForMacOS(){this.ipcMain.on("app",((e,n)=>{switch(n){case"quit":return AppMainWindow.close();case"max":return AppMainWindow.isMaximized()?AppMainWindow.restore():AppMainWindow.maximize();case"min":return AppMainWindow.minimize()}}))}setupUniversal(){if(!app.requestSingleInstanceLock())return app.quit();app.on("second-instance",(()=>{AppMainWindow&&(AppMainWindow.isMinimized()&&AppMainWindow.restore(),AppMainWindow.focus())})),app.on("ready",(()=>{})),this.ipcMain.on("app",((e,n)=>{switch(n){case"quit":return AppMainWindow.close();case"max":return AppMainWindow.maximize();case"unMaximize":default:return AppMainWindow.unmaximize();case"min":return AppMainWindow.minimize()}}))}setupPlugins(){this.manager=new AppPluginManager(ipcMain,{})}onElectronReady(e){const n=require("electron").screen.getPrimaryDisplay().workAreaSize,o=parseInt(n.width);let i=.45*o;o>=1920?e.windowConfig=Object.assign({},e.windowConfig,{width:o-.3*o,height:.45*o,autoHideMenuBar:"win32"===process.platform}):(i=parseInt(1080*n.width/1920+30),e.windowConfig=Object.assign({},e.windowConfig,{width:o-100,height:i-50,autoHideMenuBar:"win32"===process.platform})),AppMainWindow=new BrowserWindow(e.windowConfig),"darwin"===process.platform?AppMainWindow.loadFile(e.loadUrl):AppMainWindow.loadURL(e.loadUrl),AppMainWindow.once("ready-to-show",(()=>{AppMainWindow.show()})),AppMainWindow.on("closed",(function(){AppMainWindow=null})),AppMainWindow.on("will-resize",(e=>{e.preventDefault()}));const a=Menu.buildFromTemplate(e.template);Menu.setApplicationMenu(a)}onBrowserReady(e){let n=require("electron").screen.getPrimaryDisplay().workAreaSize.width;n>1080&&(n=parseInt(.5*n));const o=parseInt(n/(1920/1080));e.windowConfig=Object.assign({},e.windowConfig,{minWidth:n,minHeight:o,width:n,height:o,title:app.getName(),titleBarStyle:"hiddenInset",icon:e.iconUrl}),AppMainWindow=new BrowserWindow(e.windowConfig),AppMainWindow.setMenu(null),AppMainWindow.loadURL(e.loadUrl),AppMainWindow.once("ready-to-show",(()=>{AppMainWindow.show()})),AppMainWindow.on("closed",(()=>{AppMainWindow=null})),AppMainWindow.on("will-resize",(e=>{e.preventDefault()}))}create(){["darwin","freebsd","openbsd","linux","win32"].includes(process.platform)?app.on("ready",(()=>this.onElectronReady(this.options))):(app.on("ready",(()=>this.onBrowserReady(this.options))),app.on("ready",(function(){electronLocalshortcut.register("CommandOrControl+R",(function(){AppMainWindow.reload()}))}))),app.on("window-all-closed",(function(){app.quit()})),app.on("web-contents-created",((e,n)=>{n.on("new-window",((e,n)=>{e.preventDefault(),n.match(/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/g)&&shell.openExternal(n)})),n.on("did-finish-load",(()=>{lastPageReloadTime=(new Date).valueOf(),this.setupPlugins()}))}))}}class AppPluginManager{constructor(e,n){this.dataPath=app.getPath("userData"),this.pluginsPath=path.join(__dirname,"plugins"),this.pluginsConfPath=path.join(__dirname,`plugins${path.sep}plugins.json`),e.setMaxListeners(0),e.removeAllListeners("onPluginLoaded"),e.on("onPluginLoaded",((e,n)=>{try{const e=JSON.parse(n),o=e.npmModule in loadedPluginTimes?loadedPluginTimes[e.npmModule]:0;(!loadedPluginsCache.includes(e.npmModule)||o<lastPageReloadTime)&&(loadedPluginsCache.push(e.npmModule),loadedPluginTimes[e.npmModule]=(new Date).valueOf(),AppMainWindow.webContents.send("onPluginLoaded",n))}catch(e){}})),e.removeAllListeners("onPluginActionRequest"),e.on("onPluginActionRequest",((n,o)=>{e.once("onPluginActionResponse",((e,n)=>{AppMainWindow.webContents.send("onPluginActionResponse",n)})),AppMainWindow.webContents.send("onPluginActionRequest",o)})),e.removeAllListeners("onPluginAccountResponse"),e.on("onPluginAccountResponse",((e,n)=>{console.log(`[INFO][public/bundler.js] main forwarding onPluginAccountResponse with ${n} from App to plugin`),AppMainWindow.webContents.send("onPluginAccountResponse",n)})),this.loadPlugins().then((e=>{console.log("[INFO][public/bundler.js] Loaded plugins: ",e),AppMainWindow.webContents.send("onPluginsResolved",JSON.stringify(e))}))}async loadPlugins(){const e=JSON.parse(fs.readFileSync(this.pluginsConfPath)),n=Object.keys(e);return new Promise((async o=>{this.plugins=[];for(let o in n){const i=n[o],a=e[i];if(!i||!a)continue;const t=path.join(this.pluginsPath,i);try{await this.loadPlugin(i,a)}catch(e){console.log(`Aborting installation for ${i}@${a} located at ${t}.`),console.error(e);continue}}return o(this.plugins)}))}async loadPlugin(e,n){return new Promise(((o,i)=>{const a=path.join(this.pluginsPath,e);if(fs.existsSync(a)){if(!fs.readdirSync(a).includes("package.json"))throw console.error(`Could not find a package.json for ${e}`),new Error(`Could not find a package.json for ${e}`);const n=fs.readFileSync(path.join(a,"package.json")),i=JSON.parse(n),t=this.createInstance(a,i);return this.plugins.push(t),o(t)}console.log(`[DEBUG][public/bundler.js] Plugin ${e} using unpkg manifest`),axios.get(`https://unpkg.com/${e}@${n}/package.json`).then((e=>{const n=e.data,i=this.createInstance(a,n);return this.plugins.push(i),o(i)}))}))}createInstance(e,n){return{npmModule:n.name,installPath:`${e.replace(/(.*)(plugins([\/\\]).*)/,".$3$2")}`,name:n.name,version:n.version,main:n.main,author:n&&"author"in n&&"string"==typeof n.author?{name:n.author}:"name"in n.author?n.author:{name:"Unknown"},description:n&&"description"in n?n.description:"N/A",homepage:n&&"homepage"in n?n.homepage:"",repository:n&&"repository"in n?n.repository:{url:"N/A"},dependencies:n&&"dependencies"in n?n.dependencies:{}}}}app.setPath("userData",path.join(app.getPath("home"),".dhealth-wallet"));const iconUrlPath="darwin"===process.platform?"./dist/assets/logo.png":`file://${__dirname}/../dist/assets/logo.png`,loadUrlPath="darwin"===process.platform?"./dist/index.html":`file://${__dirname}/../dist/index.html`,appMenuTemplate=new AppMenu(name);"darwin"===process.platform&&appMenuTemplate.addMacItems();const appWindow=new AppWindow(ipcMain,{iconUrl:iconUrlPath,loadUrl:loadUrlPath,template:appMenuTemplate.template});"darwin"===process.platform?appWindow.setupForMacOS():appWindow.setupUniversal(),appWindow.create();
//# sourceMappingURL=/sm/40419f3e3908bff47d818461a091c0441cbc72e37672a69532e959e998aef701.map