#!/usr/bin/env bash
# ─────────────────────────────────────────────────────────────
# Parsec Sdn. Bhd. · AMIR
# Generated by the Parsec Sdn. Bhd. AI Development Framework v2
# © 2026 Parsec Sdn. Bhd.. All rights reserved.
# Internal use only. Unauthorised use outside Parsec Sdn. Bhd.-authorised
# projects is prohibited.
# ─────────────────────────────────────────────────────────────
# Workspace launcher — 4 Claude Code agents + shared preview pane
# Usage: ./tmux-work [project-path]
#   ./tmux-work                    # uses script's own directory
#   ./tmux-work ~/projects/amir    # explicit path

PROJECT="${1:-$(cd "$(dirname "$0")" && pwd)}"
SESSION="work"

tmux kill-server 2>/dev/null

tmux new-session -s "$SESSION" -d -x 300 -y 80

# Right half = preview pane (%1)
tmux split-window -h -p 50 -t "$SESSION"

# Split left 50% into 2×2 grid
tmux select-pane -t %0
tmux split-window -v -p 50
tmux select-pane -t %0
tmux split-window -h -p 50
tmux select-pane -t %2
tmux split-window -h -p 50

# Capture IDs
PREVIEW="%1"
AGENTS=("%0" "%2" "%3" "%4")

# Name panes for orientation
tmux select-pane -t %0 -T "Agent A"
tmux select-pane -t %2 -T "Agent B"
tmux select-pane -t %3 -T "Agent C"
tmux select-pane -t %4 -T "Agent D"
tmux select-pane -t %1 -T "Preview"

# Bootstrap preview pane
tmux send-keys -t "$PREVIEW" "cd '$PROJECT'" Enter
tmux send-keys -t "$PREVIEW" "
preview() {
  local f=\"\$1\"
  case \"\${f##*.}\" in
    md)        glow \"\$f\" 2>/dev/null || bat --style=plain \"\$f\" 2>/dev/null || cat \"\$f\" ;;
    pdf)       pdftotext \"\$f\" - 2>/dev/null | less -R || less \"\$f\" ;;
    docx)      pandoc -t plain \"\$f\" 2>/dev/null | less -R ;;
    xlsx|xls)  ssconvert --export-type=Gnumeric_stf:stf_csv \"\$f\" fd://1 2>/dev/null | less ;;
    pptx)      pandoc -t plain \"\$f\" 2>/dev/null | less -R ;;
    *)         bat --style=plain \"\$f\" 2>/dev/null || less \"\$f\" ;;
  esac
}
export -f preview
echo '──────────────────────────────────────────'
echo \"  Preview | \$(basename '$PROJECT')\"
echo '  Usage: preview path/to/file'
echo '──────────────────────────────────────────'
" Enter

# Launch Claude Code in all four agent panes
for pane in "${AGENTS[@]}"; do
  tmux send-keys -t "$pane" "cd '$PROJECT'" Enter
  tmux send-keys -t "$pane" "export TMUX_PREVIEW_PANE='$PREVIEW'" Enter
  tmux send-keys -t "$pane" "claude --dangerously-skip-permissions" Enter
done

tmux select-pane -t %0
tmux attach -t "$SESSION"
