diff --git a/scripts/ui/backup_menu.sh b/scripts/ui/backup_menu.sh index 4c612ae..551057a 100755 --- a/scripts/ui/backup_menu.sh +++ b/scripts/ui/backup_menu.sh @@ -1,53 +1,44 @@ -backup_ui(){ - top_border - echo -e "| $(title_msg "~~~~~~~~~~~~~~ [ Backup Menu ] ~~~~~~~~~~~~~~") | " - hr - echo -e "| ${yellow}Backup location: ~/kiauh-backups${default} | " - hr - echo -e "| Configuration folder: | Klipper Webinterface: | " - echo -e "| 0) [Klipper configs] | 4) [Mainsail] | " - echo -e "| | 5) [Fluidd] | " - echo -e "| Firmware: | | " - echo -e "| 1) [Klipper] | HDMI Screen: | " - echo -e "| | 6) [KlipperScreen] | " - echo -e "| Klipper API: | | " - echo -e "| 2) [Moonraker] | Other: | " - echo -e "| 3) [Moonraker DB] | 7) [Duet Web Control] | " - echo -e "| | 8) [OctoPrint] | " - echo -e "| | 9) [MoonrakerTelegramBot] | " - back_footer -} +#!/bin/bash backup_menu(){ - do_action "" "backup_ui" + + local menu_options=( + "1" "Klipper configs" + "2" "Klipper" + "3" "Moonraker" + "4" "Moonraker DB" + "5" "Mainsail" + "6" "KlipperScreen" + "7" "Duet Web Control" + "8" "OctoPrint" + "9" "MoonrakerTelegramBot" + ) + + local menu_str="Backup location: ~/kiauh-backups" while true; do - read -p "${cyan}Perform action:${default} " action; echo - case "$action" in - 0) - do_action "backup_klipper_config_dir" "backup_ui";; - 1) - do_action "backup_klipper" "backup_ui";; - 2) - do_action "backup_moonraker" "backup_ui";; - 3) - do_action "backup_moonraker_database" "backup_ui";; - 4) - do_action "backup_mainsail" "backup_ui";; - 5) - do_action "backup_fluidd" "backup_ui";; - 6) - do_action "backup_klipperscreen" "backup_ui";; - 7) - do_action "backup_dwc2" "backup_ui";; - 8) - do_action "backup_octoprint" "backup_ui";; - 9) - do_action "backup_MoonrakerTelegramBot" "backup_ui";; - B|b) - clear; main_menu; break;; - *) - deny_action "backup_ui";; - esac - done - backup_menu + local menu + menu=$(whiptail --title "Backup Menu" --cancel-button "Back" --notags --menu "$menu_str\n\nPerform Action:"\ + "$KIAUH_WHIPTAIL_NORMAL_HEIGHT" "$KIAUH_WHIPTAIL_NORMAL_WIDTH" 8 "${menu_options[@]}" 3>&1 1>&2 2>&3) + + local out=$? + if [ $out -eq 1 ]; then + break + elif [ $out -eq 0 ]; then + case "$menu" in + 0) do_action "backup_klipper_config_dir";; + 1) do_action "backup_klipper";; + 2) do_action "backup_moonraker";; + 3) do_action "backup_moonraker_database";; + 4) do_action "backup_mainsail";; + 5) do_action "backup_fluidd";; + 6) do_action "backup_klipperscreen";; + 7) do_action "backup_dwc2";; + 8) do_action "backup_octoprint";; + 9) do_action "backup_MoonrakerTelegramBot";; + esac + else + # Unexpected event, no clue what happened + exit 1 + fi + done }