import 'dart:io';

import 'package:tray_manager/tray_manager.dart';

import '../common.dart';

const kTrayItemShowKey = "show";
const kTrayItemQuitKey = "quit";

Future<void> initTray({List<MenuItem>? extra_item}) async {
  List<MenuItem> items = [
    MenuItem(key: kTrayItemShowKey, label: translate("Show RustDesk")),
    MenuItem.separator(),
    MenuItem(key: kTrayItemQuitKey, label: translate("Quit")),
  ];
  if (extra_item != null) {
    items.insertAll(0, extra_item);
  }
  await Future.wait([
    trayManager
        .setIcon(Platform.isWindows ? "assets/logo.ico" : "assets/logo.png"),
    trayManager.setContextMenu(Menu(items: items)),
    trayManager.setTitle("rustdesk")
  ]);
  if (Platform.isMacOS || Platform.isWindows) {
    await trayManager.setToolTip("rustdesk");
  }
}

Future<void> destoryTray() async {
  return trayManager.destroy();
}