#!/bin/bash
# generate-module.sh
# Create a new learning module (doc + JS + config entry)

if [ $# -lt 2 ]; then
    echo "Usage: ./generate-module.sh <ModuleName> <Description>"
    exit 1
fi

NAME="$1"
DESC="$2"

DOCS_DIR="./docs"
JS_DIR="./js"
CONFIG="learning-config.json"

DOC_FILE="$DOCS_DIR/${NAME}.md"
JS_FILE="$JS_DIR/${NAME}.js"

echo "📘 Creating module: $NAME"

# Create doc
cat << EOF > "$DOC_FILE"
# 📘 $NAME

$DESC
EOF

# Create JS module
cat << EOF > "$JS_FILE"
console.log("Module loaded: $NAME");
EOF

# Add to learning-config.json
NEXT_ID=$(jq '.steps | length + 1' "$CONFIG")

jq --arg id "$NEXT_ID" \
   --arg title "$NAME" \
   --arg desc "$DESC" \
   --arg doc "${NAME}.md" \
   '.steps += [{"id": ($id|tonumber), "title": $title, "description": $desc, "doc": $doc}]' \
   "$CONFIG" > "$CONFIG.tmp" && mv "$CONFIG.tmp" "$CONFIG"

echo "📘 Module created:"
echo "    - $DOC_FILE"
echo "    - $JS_FILE"
echo "📘 Added to learning-config.json as Step $NEXT_ID"

