#!/usr/bin/env bash
set -e
APP="/opt/qm-komputasi/qm-komputasi.py"
PORT="${QM_KOMPUTASI_PORT:-8801}"

# Gunakan home user Linux yang sebenarnya. Ini mencegah riwayat lama terlihat
# kosong bila HOME proses berbeda dari home account yang menjalankan aplikasi.
if [ -n "${QM_KOMPUTASI_DATA_DIR:-}" ]; then
    DATA_DIR="$QM_KOMPUTASI_DATA_DIR"
else
    REAL_HOME="$(getent passwd "$(id -u)" 2>/dev/null | cut -d: -f6 || true)"
    [ -n "$REAL_HOME" ] || REAL_HOME="$HOME"
    DATA_DIR="$REAL_HOME/.local/share/qm-komputasi"
fi
mkdir -p "$DATA_DIR" "$DATA_DIR/qm_runs"

# Pertahankan Conda aktif (mis. env kimia) bila tersedia.
if [ -n "${CONDA_PREFIX:-}" ] && [ -x "${CONDA_PREFIX}/bin/python" ]; then
    PYTHON_BIN="${CONDA_PREFIX}/bin/python"
else
    VENV="$DATA_DIR/venv"
    if [ ! -x "$VENV/bin/python" ]; then
        python3 -m venv "$VENV"
    fi
    PYTHON_BIN="$VENV/bin/python"
fi

if ! "$PYTHON_BIN" -c 'import streamlit' >/dev/null 2>&1; then
    "$PYTHON_BIN" -m pip install --disable-pip-version-check --prefer-binary streamlit
fi

export QM_KOMPUTASI_DATA_DIR="$DATA_DIR"
exec "$PYTHON_BIN" -m streamlit run "$APP" \
    --server.address=0.0.0.0 \
    --server.port="$PORT" \
    --server.headless=true \
    "$@"
