#!/usr/bin/env bash
# Synthetic seed and the corrected UI commands used for both commits.
# Run each UI case from Choose project; prompt opens its own route.
# Required: WORKTREE, T3_HOME, SERVER_PORT, SESSION, OUT.
set -euo pipefail
cd "$WORKTREE"
mkdir -p "$OUT"
ad() { agent-device "$@" --session "$SESSION"; }
tap() { ad click "label=\"$1\"" --settle; }
root="$HOME/projects/bike-documents"
repository=https://github.com/octocat/Hello-World.git
case "${1:?seed|local|absolute|git|prompt}" in
  seed)
    mkdir -p "$root"
    printf 'Bike documentation fixture.\n' > "$root/README.md"
    git -C "$root" init -q --initial-branch=main
    git -C "$root" add README.md
    git -C "$root" -c user.name=Scenario -c user.email=scenario@example.invalid commit --allow-empty -qm 'Initial commit'
    T3CODE_PORT="$SERVER_PORT" node apps/server/src/bin.ts project add "$root" --title bike-documents --base-dir "$T3_HOME"
    ;;
  local|absolute)
    tap 'Add project'
    tap 'new folder, Local folder, Browse a folder on disk, Forward'
    ad record start "$OUT/$1.mp4" --hide-touches
    sleep 5
    value='~/projects/bike-documents/'
    if [[ "$1" == absolute ]]; then value="$root"; fi
    ad fill role=text-field "$value" --settle
    sleep 5
    tap 'Add project'
    sleep 5
    ad screenshot "$OUT/$1-result.png"
    ad record stop
    ;;
  git)
    tap 'Add project'
    tap 'link, Git URL, Clone from a remote URL, Forward'
    ad fill role=text-field "$repository" --settle
    tap Continue
    ad record start "$OUT/git.mp4" --hide-touches
    sleep 5
    ad fill role=text-field "$root" --settle
    sleep 5
    tap 'Clone project'
    sleep 5
    ad screenshot "$OUT/git-result.png"
    ad record stop
    ;;
  prompt)
    ad open com.t3tools.t3code.dev 't3code-dev://new?repo=https%3A%2F%2Fgithub.com%2Foctocat%2FHello-World&prompt=Review%20the%20bike%20documentation'
    ad record start "$OUT/prompt.mp4" --hide-touches
    tap Clone
    tap OK
    ad fill role=text-field "$root" --settle
    tap 'Clone project'
    sleep 5
    ad screenshot "$OUT/prompt-result.png"
    ad record stop
    ;;
esac
