#!/usr/bin/env bash
# a script which creates a todo.txt wrapper
# this puts a script in $REPOS/personal/bin/ and a directory in $XDG_DOCUMENTS_DIR/todos/

SCRIPT_DIR="$REPOS/personal/bin/"
NAME="$(gum input --prompt "Name of script/todo.txt directory> " | chomp)" || exit 1

if [[ -z "$NAME" ]]; then
	echo "Name cannot be empty" >&2
	exit 1
fi

if [[ ! -d "$SCRIPT_DIR" ]]; then
	echo "Script directory '$SCRIPT_DIR' does not exist" >&2
	exit 1
fi

BASE_DIR="$XDG_DOCUMENTS_DIR/todos/$NAME"
BASE_DIR_QUOTED="\$XDG_DOCUMENTS_DIR/todos/$NAME"

mkdir -p "$BASE_DIR" || {
	echo "Error creating directory $BASE_DIR" >&2
	exit 1
}

{
	cat <<EOF
#!/usr/bin/env bash
export TODO_DIR="$BASE_DIR_QUOTED"
exec todo.sh "\$@"
EOF
} >"$SCRIPT_DIR/$NAME"

chmod +x "$SCRIPT_DIR/$NAME"
echo "$NAME" >>"$XDG_DOCUMENTS_DIR/.todo_names.txt"