import { app, BrowserWindow, clipboard, dialog, screen } from 'electron'
import { resolve } from 'path'
import installDevTool, { VUEJS3_DEVTOOLS } from 'electron-devtools-installer'
import path from 'path'

if (!app.requestSingleInstanceLock()) {
  app.quit()
  process.exit(0)
}

async function createWindow() {
  const loadingView = new BrowserWindow({
    width: 520,
    height: 150,
    frame: false,
    resizable: false,
    transparent: true,
    show: true,
    webPreferences: {
      preload: path.join(__dirname, '../preload/preload'),
    },
  })
  loadingView.loadFile(resolve(__dirname, 'loading.html'))
  const image = clipboard.readImage()
  const mainWin = new BrowserWindow({
    title: 'Electron Window',
    show: false,
    width: 1680,
    height: 880,
    icon: image,
    frame: false,
    center: true,
    resizable: false,
    fullscreen: false,
    fullscreenable: true,
    alwaysOnTop: false,
    useContentSize: true,
    transparent: true,
    webPreferences: {
      devTools: true,
      nodeIntegration: false,
      contextIsolation: true,
      webSecurity: false,
      experimentalFeatures: true,
      navigateOnDragDrop: false,
      disableHtmlFullscreenWindowResize: false,
      preload: path.join(__dirname, '../preload/preload'),
    },
  })

  mainWin.setMenu(null)

  mainWin.webContents.on('before-input-event', (event, input) => {
    if (input.key === 'F12') {
      mainWin.webContents.openDevTools()
    }
  })

  mainWin.on('ready-to-show', () => {
    loadingView.destroy()
    mainWin.show()
  })

  if (app.isPackaged) {
    // mainWin.loadURL('http://192.168.10.40:7200')
    mainWin.loadURL('http://cet-test.markingtool.cn')
  } else {
    installDevTool(VUEJS3_DEVTOOLS)
    process.env.WEB_DEV_INDEX_URL && mainWin.loadURL(process.env.WEB_DEV_INDEX_URL)
  }
}

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') app.quit()
})

app.whenReady().then(createWindow)
