# shellcheck shell=bash

_okstra_ctl_projects() {
  local sort_by="recent" only_active="false"
  while [[ $# -gt 0 ]]; do
    case "$1" in
      --sort) sort_by="$2"; shift 2 ;;
      --active) only_active="true"; shift ;;
      *) printf 'projects: unknown option: %s\n' "$1" >&2; exit 2 ;;
    esac
  done
  OKSTRA_HOME_RESOLVED="$(okstra_central_home)" \
  OKSTRA_CTL_LIB_DIR="$SCRIPT_DIR" \
  OKSTRA_SORT_BY="$sort_by" \
  OKSTRA_ONLY_ACTIVE="$only_active" \
  python3 - <<'PY'
import os, sys
sys.path.insert(0, os.environ["OKSTRA_CTL_LIB_DIR"])
from pathlib import Path
from okstra_ctl import list_projects, format_projects_table
items = list_projects(Path(os.environ["OKSTRA_HOME_RESOLVED"]),
                      only_active=os.environ["OKSTRA_ONLY_ACTIVE"] == "true",
                      sort_by=os.environ["OKSTRA_SORT_BY"])
print(format_projects_table(items), end="")
PY
}
