#!/bin/bash

# Файлы с зависимостями
. /usr/local/bin/pi-depend-func/rdaa-func
. /usr/local/bin/pi-depend-func/hw-func

INPUT=/tmp/menu.sh.$$

priv_key () {

KEY=$(whiptail --title  "Private key" --nocancel --inputbox  "Введите новый ключ" 10 60 $RDAA_PRIVATE_KEY 3>&1 1>&2 2>&3)

if [ ! $KEY = $RDAA_PRIVATE_KEY ]; then
  sed -i "s|RDAA_PRIVATE_KEY=.*|RDAA_PRIVATE_KEY=$KEY|" /srv/rdaa/service/.env
  /usr/local/bin/rdaa-restart
fi
}

while true
do

### reread all before show menu
. /srv/rdaa/service/.env
. /srv/rdaa/service/.uid

uptime=$(uptime --pretty)
os_version=$(cat /srv/rdaa/service/.os_version)
ip="$(ip -4 addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}')"
rdaa_version=$(get_rdaa_version)

if [ -z "$rdaa_version" ]
then
    version='0.0.0'
else
    version=$rdaa_version
fi

# Формируем меню. При использовании докера нужна доп инфа

menu_string="Environment: $ENVIRONMENT                   RDOS Version: $os_version\n\
RDA UID: $RDAA_UID              RDA IP: $ip \n\
RDAA Version: $version              RDA Temperature: $(get_temperature) °C \n"

# Для докера добавляем версию билда и таг
if [ ! "$(get_rdaa_build_version)" = - ]; then
    menu_string=$menu_string"RDAA Build: $(get_rdaa_build_version)               RDAA Build Tag: $(get_rdaa_build_tag)\n"
fi

menu_string=$menu_string"\
PC: $(tr -d '\0' < /sys/firmware/devicetree/base/model)\n\
Uptime: $uptime\n\n\
Choose the TASK"

### display main menu ###
whiptail --clear  --backtitle "Tools for RDA" \
--title "[ RDA - M E N U ]" \
--nocancel \
--menu "$menu_string" 27 65 12 \
Refresh "Обновить данные в menu" \
Enter "Войти в RDAA контейнер" \
Logs "Логи RDAA" \
Hardware-list "Список шилдов и РДА" \
Restart "Рестарт RDAA" \
Stop "Стоп RDAA" \
Start "Старт RDAA" \
Restore "Восстановить образ RDAA" \
Full-Upgrade "Обновить RDA" \
Private-key "Изменить приватный ключ" \
Reboot "Перезагрузить RDA" \
Exit "Выйти в консоль" 2>"${INPUT}"

menuitem=$(<"${INPUT}")

case $menuitem in
	Refresh) ;;
	Enter) rdaa-exec;;
	Logs) rdaa-log;;
	Hardware-list) rdaa-menu-hardlist;;
	Restart) rdaa-restart;;
	Stop) rdaa-stop;;
	Start) rdaa-start;;
	Restore) rdaa-restore;;
	Full-Upgrade) rda-full-upgrade;;
	Private-key) priv_key;;
	Reboot) sudo reboot;;
	Exit) echo "Bye"; break;;
esac

done

[ -f $INPUT ] && rm $INPUT
