const { app, BrowserWindow, ipcMain } = require('electron');
const path = require('path');

let mainWindow;
let childWindow = null;

function createWindow() {
  mainWindow = new BrowserWindow({
    width: 460,
    height: 600,
    resizable: false,
    frame: false,
    icon: path.join(__dirname, '../launcher/images/EggTarutaru.ico'),
    webPreferences: {
      preload: path.join(__dirname, 'preload.js'),
      contextIsolation: true,
      nodeIntegration: false,
      sandbox: false
    }
  });

  mainWindow.loadFile('index.html');
  mainWindow.setMenuBarVisibility(false);
  mainWindow.webContents.openDevTools(); // 開発中のみ
  mainWindow.on('closed', () => { mainWindow = null; });
}

app.whenReady().then(createWindow);

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

app.on('activate', () => {
  if (BrowserWindow.getAllWindows().length === 0) createWindow();
});

// ✅ 子ウィンドウはURLを直接開く方式（iframeなし）
ipcMain.on('open-child-window', (event, { url, label }) => {
  if (childWindow && !childWindow.isDestroyed()) {
    childWindow.loadURL(url);
    childWindow.setTitle(`❤ ${label}`);
    childWindow.focus();
    return;
  }

  childWindow = new BrowserWindow({
    width: 800,
    height: 600,
    frame: true,
    icon: path.join(__dirname, '../launcher/images/EggTarutaru.ico'),
    webPreferences: {
      preload: path.join(__dirname, 'preload.js'),
      contextIsolation: true,
      nodeIntegration: false,
      sandbox: false,
    },
  });

  childWindow.loadURL(url);
  childWindow.setTitle(`❤ ${label}`);

  childWindow.on('closed', () => {
    childWindow = null;
  });
});
