#!/bin/bash
set -euo pipefail

APP_NAME="AI-TeamLife.app"
ZIP_URL="https://app.ai-teamlife.com/downloads/macos/AI-TeamLife-macOS.zip"
TMP_DIR="$(mktemp -d /tmp/ai-teamlife-install.XXXXXX)"
ZIP_PATH="$TMP_DIR/AI-TeamLife-macOS.zip"
EXTRACT_DIR="$TMP_DIR/unzip"
EXTRACTED_APP="$EXTRACT_DIR/$APP_NAME"
USER_APP_DIR="$HOME/Applications"
USER_TARGET_APP="$USER_APP_DIR/$APP_NAME"
SYSTEM_TARGET_APP="/Applications/$APP_NAME"

cleanup() {
  rm -rf "$TMP_DIR"
}
trap cleanup EXIT

echo "AI-TeamLife 正在准备安装..."

if [[ "$(uname -m)" == "arm64" ]]; then
  if ! /usr/bin/pgrep oahd >/dev/null 2>&1 && [[ ! -d "/Library/Apple/usr/libexec/oah" ]]; then
    echo "检测到 Apple 芯片，正在安装 Rosetta..."
    /usr/sbin/softwareupdate --install-rosetta --agree-to-license
  fi
fi

echo "正在下载最新 macOS 安装包..."
/usr/bin/curl -L --fail --progress-bar "$ZIP_URL" -o "$ZIP_PATH"

mkdir -p "$EXTRACT_DIR"
echo "正在解压安装包..."
/usr/bin/ditto -x -k "$ZIP_PATH" "$EXTRACT_DIR"

if [[ ! -d "$EXTRACTED_APP" ]]; then
  echo "未能在安装包中找到 $APP_NAME，请重新下载后再试。"
  exit 1
fi

/usr/bin/xattr -dr com.apple.quarantine "$EXTRACTED_APP" || true

echo "正在安装到应用程序目录..."
INSTALL_TO_SYSTEM=$(
  /usr/bin/osascript <<'APPLESCRIPT' 2>/dev/null || true
set answer to button returned of (display dialog "是否安装到“应用程序”目录供这台 Mac 上的所有用户使用？" buttons {"仅安装给我", "安装到应用程序"} default button "安装到应用程序")
if answer is "安装到应用程序" then
  return "system"
else
  return "user"
end if
APPLESCRIPT
)

if [[ "$INSTALL_TO_SYSTEM" == "system" ]]; then
  SRC_PATH="$EXTRACTED_APP" /usr/bin/osascript <<'APPLESCRIPT'
set srcPath to system attribute "SRC_PATH"
do shell script "rm -rf " & quoted form of "/Applications/AI-TeamLife.app" & " && cp -R " & quoted form of srcPath & " " & quoted form of "/Applications/AI-TeamLife.app" & " && xattr -dr com.apple.quarantine " & quoted form of "/Applications/AI-TeamLife.app" with administrator privileges
APPLESCRIPT
  FINAL_APP="$SYSTEM_TARGET_APP"
else
  mkdir -p "$USER_APP_DIR"
  rm -rf "$USER_TARGET_APP"
  cp -R "$EXTRACTED_APP" "$USER_TARGET_APP"
  /usr/bin/xattr -dr com.apple.quarantine "$USER_TARGET_APP" || true
  FINAL_APP="$USER_TARGET_APP"
fi

echo "安装完成，正在打开 AI-TeamLife..."
/usr/bin/open "$FINAL_APP"

echo
echo "安装完成：$FINAL_APP"
echo "如果系统仍提示安全限制，请右键 $APP_NAME 选择“打开”。"
