#!/bin/bash

# Define the virtual environment directory
VENV_DIR="tutorial_venv"
# Function to activate virtual environment and build the JupyterBook
activate() {
    echo -e "\nActivating virtual environment '${VENV_DIR}'..."
    source "${IWRAP_HOME}/${VENV_DIR}/bin/activate"

    ln -snf ${IWRAP_HOME}/docs/_build/html/ ${IWRAP_HOME}/${VENV_DIR}/html
    ln -snf ${IWRAP_HOME}/docs/_build/jupyter_execute/tutorial/ ${IWRAP_HOME}/${VENV_DIR}/tutorial

    echo -e "\nOpening HTML and JupyterLab!\n"
    firefox ${IWRAP_HOME}/${VENV_DIR}/html/index.html &
    jupyter lab --ip=0.0.0.0 --notebook-dir=${IWRAP_HOME}/${VENV_DIR}/tutorial/ --port=8888 --allow-root --IdentityProvider.token='' --ServerApp.allow_origin='*' --ServerApp.trust_xheaders='True' --browser=firefox --port-retries=100
}

# Check if virtual environment directory exists
if [[ ! -d "${IWRAP_HOME}/${VENV_DIR}" ]]; then
    echo "Creating new Virtual Environment called '${VENV_DIR}'..."
    python3 -m venv "${IWRAP_HOME}/${VENV_DIR}"

    # Activate virtual environment
    source "${IWRAP_HOME}/${VENV_DIR}/bin/activate"

    # Upgrade pip and install requirements
    echo "Upgrading pip and installing requirements..."
    pip install --upgrade pip
    pip install --force-reinstall -r ${IWRAP_HOME}/docs/requirements.txt
else
    echo "Virtual environment '${VENV_DIR}' exists."
fi

activate
