#!/usr/bin/env bash
set -euo pipefail
APP="/opt/elektrokimia/ElektroKimia_V1.0.1.py"
HOME_DIR="${ELEKTROKIMIA_HOME:-${XDG_DATA_HOME:-$HOME/.local/share}/elektrokimia}"
VENV="$HOME_DIR/venv"
PORT="${ELEKTROKIMIA_PORT:-8809}"
mkdir -p "$HOME_DIR"

if [ ! -x "$VENV/bin/python" ]; then
  echo "[ElektroKimia] Membuat virtual environment: $VENV"
  python3 -m venv "$VENV"
fi
PY="$VENV/bin/python"
PIP="$VENV/bin/pip"

need_install=0
"$PY" - <<'PY' >/dev/null 2>&1 || need_install=1
import streamlit, numpy, pandas, scipy, plotly, psutil, rdkit, openpyxl, xlsxwriter, reportlab
PY

if [ "$need_install" -eq 1 ]; then
  echo "[ElektroKimia] Memasang/melengkapi dependency Python. First run memerlukan akses paket pip."
  "$PIP" install --disable-pip-version-check --prefer-binary --upgrade pip setuptools wheel
  "$PIP" install --disable-pip-version-check --prefer-binary \
    streamlit numpy pandas scipy plotly psutil rdkit openpyxl XlsxWriter reportlab
fi

export ELEKTROKIMIA_NO_AUTO_PIP=1
export ELEKTROKIMIA_HOME="$HOME_DIR"
exec "$PY" -m streamlit run "$APP" \
  --server.address 0.0.0.0 \
  --server.port "$PORT" \
  --browser.gatherUsageStats false \
  --theme.base light \
  --theme.backgroundColor '#FFFFFF' \
  --theme.secondaryBackgroundColor '#F3F7FB' \
  --theme.textColor '#10243E' \
  --theme.primaryColor '#0B6B69'
