import { app } from 'electron';
import log from 'electron-log/main';

/**
 * 开机自启：基于系统登录项实现（Windows 写 HKCU\...\Run 注册表、mac 写「系统设置 → 登录项」），
 * 无需管理员权限；系统登录项本身就是持久化存储，无需额外落盘记录状态。
 */

/** 读取当前开机自启状态（直接以系统登录项为准，避免自维护状态与系统不同步） */
export function getAutoLaunchEnabled(): boolean {
  // 开发模式下登录项指向 electron 开发二进制，无意义，统一视为关闭
  if (!app.isPackaged) return false;
  return app.getLoginItemSettings().openAtLogin;
}

/**
 * 设置开机自启
 * --hidden 参数让开机自启时静默进托盘（主进程入口据此不弹主窗口），避免开机打扰
 */
export function setAutoLaunchEnabled(enable: boolean): boolean {
  if (!app.isPackaged) {
    log.warn('开发模式不支持设置开机自启（登录项会错误指向开发二进制）');
    return false;
  }
  app.setLoginItemSettings({
    openAtLogin: enable,
    args: enable ? ['--hidden'] : [],
  });
  return getAutoLaunchEnabled();
}
