#!/bin/bash

rm -rf docs

build-docs --target esp32 --language en

mkdir -p docs/generic
mv _build/en/esp32/html docs/generic

rm -rf _build __pycache__

URL="https://docs.espressif.com/projects/esp-protocols/esp_mqtt_cxx/docs/latest/index.html"
RELEASES_STR=$(curl $URL | awk '/var RELEASES = \[/,/];/' | sed 's/var RELEASES = \[//' | sed 's/];$//' | tr -d '",')

declare -a RELEASES=($RELEASES_STR)

if [ -n "$1" ] && [ -n "${1}" ]; then
    RELEASES+=(\'$1\')
fi

for i in "${!RELEASES[@]}"; do
    RELEASES[i]="${RELEASES[$i]},\n"
done


# Modifes some version and target fields of index.html
echo "<script type="text/javascript">
window.onload =(function() {
    var myAnchor = document.getElementById('version-select');
    var mySpan = document.createElement('select');
    mySpan.style.float = 'left';

    var latest_ver = document.createElement('option');
    latest_ver.value = 'latest';
    latest_ver.textContent = 'latest(master)';
    mySpan.append(latest_ver);

    var RELEASES = [
    $(echo -e ${RELEASES[@]})
    ];
    for (var i = RELEASES.length - 1; i >= 0; i--) {
      var current_ver = document.createElement('option');
      current_ver.value = RELEASES[i];
      current_ver.textContent = 'release-v'+ RELEASES[i];
      mySpan.append(current_ver);
    }


    myAnchor.parentNode.replaceChild(mySpan, myAnchor);
    mySpan.addEventListener('change', function() {
      window.location.href='https://docs.espressif.com/projects/esp-protocols/esp_mqtt_cxx/docs/'+event.target.value+'/index.html'
    });

    var myAnchor = document.getElementById('target-select');
    var mySpan = document.createElement('input');
    mySpan.style.float = 'left';
    mySpan.setAttribute('type', 'text');
    mySpan.setAttribute('maxLength', '10');
    mySpan.value = 'all targets';
    mySpan.setAttribute('disabled', true);
    myAnchor.parentNode.replaceChild(mySpan, myAnchor);

})();
</script>" | tee -a docs/generic/html/index.html > /dev/null
