#!/bin/bash

### This script is called after the user changes environment variables in the app settings page.
### 持久化用户修改的向导端口到 config.conf（合并写，保留 auth_token 等其他键）。
### 修复：此前为空脚本，用户改端口后 wizard_app_port 不更新 → cmd/main 仍用旧端口。

set -euo pipefail

log_msg() {
    local logdir="${TRIM_PKGVAR:-/tmp}"
    mkdir -p "${logdir}" 2>/dev/null || true
    echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> "${logdir}/info.log" 2>/dev/null || true
}

CONF="${TRIM_PKGETC:-/tmp}/config.conf"
mkdir -p "$(dirname "${CONF}")"

# fnOS 应用设置页修改端口时通过环境变量 wizard_app_port 传入
PORT="${wizard_app_port:-}"
if [ -n "${PORT}" ]; then
    # 更新/追加 wizard_app_port 行（不动其他键）
    if [ -f "${CONF}" ]; then
        grep -v '^wizard_app_port=' "${CONF}" > "${CONF}.tmp" 2>/dev/null || true
        mv "${CONF}.tmp" "${CONF}" 2>/dev/null || true
    fi
    printf 'wizard_app_port=%s\n' "${PORT}" >> "${CONF}"
    log_msg "config_callback: wizard_app_port updated to ${PORT}"
fi

exit 0
