export function resolveClientRoute({ state, activeServer } = {}) {
  const settings = state?.clientSettings || {};
  const localProxy = `127.0.0.1:${state?.proxyPort || settings.proxyPort || 8080}`;
  const running = Boolean(state?.singboxRunning);
  const hasConfig = Boolean(state?.configExists);

  let mode = "none";
  let target = "выберите режим";
  let targetDetail = "Gateway, локальный VPN или напрямую";
  let title = "Не подключено";
  let description = "Выберите режим подключения и примените его.";
  let pathTarget = "не выбран";

  if (settings.sharedProxyEnabled && settings.sharedProxy) {
    mode = "gateway";
    target = `${settings.sharedProxy.host}:${settings.sharedProxy.port}`;
    targetDetail = "общий gateway proxy";
    title = running ? "Подключено к gateway" : "Gateway настроен, но остановлен";
    description = "Локальный proxy на Mac отправляет трафик на серверный gateway.";
    pathTarget = `Gateway ${target}`;
  } else if (settings.homeBypassEnabled) {
    mode = "direct";
    target = "без VPN";
    targetDetail = "прямое подключение";
    title = running ? "Подключено напрямую" : "Direct настроен, но остановлен";
    description = "Приложения используют локальный proxy, но трафик идет напрямую.";
    pathTarget = "Direct";
  } else if (state?.selectedTag) {
    mode = "vpn";
    target = activeServer?.tag || state.selectedTag;
    targetDetail = "локальный VPN";
    title = running ? "Подключено через VPN" : "VPN настроен, но остановлен";
    description = "Локальный proxy на Mac отправляет трафик через выбранный VPN-сервер.";
    pathTarget = `VPN ${target}`;
  }

  const status = running
    ? "connected"
    : hasConfig && mode !== "none"
      ? "stopped"
      : "empty";

  if (status === "empty") {
    title = "Не подключено";
  }

  return {
    mode,
    status,
    localProxy,
    title,
    target,
    targetDetail,
    description,
    path: ["Mac apps", localProxy, pathTarget, "Internet"],
  };
}
