#!/bin/bash
# based on an example of
# https://funprojects.blog/2022/04/06/text-interfaces-with-whiptail-and-dialog/
#
# minidlna-invocation.sh - Bash Dialog Menu for minidlna commands:
# start, stop, restart, enable, disable, status
# status of sundtek
#
# 250708
#

 
# testing for root
#if [ ! $( id -u) -eq 0 ]; then
#   echo "only root can invoke this program"
#   exit
#fi

# Display menu results in a msgbox
display_result() {
  dialog --title "$1" \
    --backtitle "Result of minidlna system command" \
    --no-collapse \
    --msgbox "$result" 0 0
}
 
while true; do
  selection=$(dialog --stdout \
    --backtitle "minidlna Invocation" \
    --title "Key Features" \
    --clear \
    --cancel-label "Exit" \
    --menu "Please select:" 0 0 4 \
    "1" "Start minidlna" \
    "2" "Stop minidlna" \
    "3" "Restart minidlna" \
    "4" "Enable minidlna" \
    "5" "Disable minidlna" \
    "6" "Status minidlna" \
     )
  exit_status=$?
  if [ $exit_status == 1 ] ; then
      clear
      exit
  fi
  case $selection in
    1 )
      result=$(sudo systemctl start  minidlna)
      display_result "Started minidlna"
      ;;
    2 )
      result=$(sudo systemctl stop  minidlna)
      display_result "Stopped minidlna"
      ;;
    3 )
      result=$(sudo systemctl restart  minidlna)
      display_result "Restarted minidlna"
      ;;
    4 )
      result=$(sudo systemctl enable  minidlna)
      display_result "Enabled minidlna"
      ;;
    5 )
      result=$(sudo systemctl disable  minidlna)
      display_result "Disabled minidlna"
      ;;
    6 )
      result=$(sudo systemctl status minidlna)
      display_result "Status minidlna"
      ;;
  esac
done