#!/bin/bash
# TabStrip 一键安装 · https://tabstrip.wwei.ai
# 做三件事：① 装 Hammerspoon（已装则跳过）② 放入 TabStrip 配置 ③ 启动并引导授权
set -e
BASE="https://tabstrip.wwei.ai"
HS_APP="/Applications/Hammerspoon.app"
CFG="$HOME/.hammerspoon"

say() { printf "\033[1;34m▸\033[0m %s\n" "$1"; }
ok()  { printf "\033[1;32m✓\033[0m %s\n" "$1"; }

if [ "$(uname)" != "Darwin" ]; then echo "只支持 macOS"; exit 1; fi

# ① Hammerspoon
if [ -d "$HS_APP" ]; then
  ok "Hammerspoon 已安装，跳过"
else
  say "下载 Hammerspoon（约 10MB）…"
  TMP="$(mktemp -d)"
  if curl -fsSL --retry 2 -o "$TMP/hs.zip" "$BASE/Hammerspoon-1.1.1.zip" \
     || curl -fsSL --retry 2 -o "$TMP/hs.zip" "https://github.com/Hammerspoon/hammerspoon/releases/download/1.1.1/Hammerspoon-1.1.1.zip"; then
    ditto -x -k "$TMP/hs.zip" "$TMP/"
    if [ -d "$TMP/Hammerspoon.app" ]; then
      ditto "$TMP/Hammerspoon.app" "$HS_APP"
      ok "Hammerspoon 已安装到 /Applications"
    else
      echo "解压失败，请手动下载：$BASE/Hammerspoon-1.1.1.zip"; exit 1
    fi
  else
    echo "下载失败，请手动下载：$BASE/Hammerspoon-1.1.1.zip"; exit 1
  fi
  rm -rf "$TMP"
fi

# ② 配置
mkdir -p "$CFG"
curl -fsSL "$BASE/tabbar.lua" -o "$CFG/tabbar.lua"
if [ -f "$CFG/init.lua" ] && ! grep -q 'require("tabbar")' "$CFG/init.lua"; then
  cp "$CFG/init.lua" "$CFG/init.lua.bak-tabstrip"
  printf '\n-- TabStrip\ntabbar = require("tabbar")\ntabbar.start()\n' >> "$CFG/init.lua"
  ok "已追加到你现有的 init.lua（原文件备份为 init.lua.bak-tabstrip）"
elif [ ! -f "$CFG/init.lua" ]; then
  curl -fsSL "$BASE/init.lua" -o "$CFG/init.lua"
fi
ok "TabStrip 配置已就位：$CFG"

# ③ 启动 + 授权引导
defaults write org.hammerspoon.Hammerspoon MJShowDockIconKey -bool false 2>/dev/null || true
open -a Hammerspoon
sleep 2
open "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility"

echo ""
ok "安装完成。最后一步："
echo "   在刚打开的「系统设置 → 隐私与安全性 → 辅助功能」里，把 Hammerspoon 打开。"
echo "   打开后 2 秒内，每块屏幕顶部会出现标签条。"
echo ""
echo "   卸载：curl -fsSL $BASE/uninstall.sh | bash"
