diff --git a/scripts/ui/advanced_menu.sh b/scripts/ui/advanced_menu.sh index 5e4b2b1..8fe288d 100755 --- a/scripts/ui/advanced_menu.sh +++ b/scripts/ui/advanced_menu.sh @@ -18,10 +18,8 @@ quit_footer } advanced_menu(){ - print_header - print_msg && clear_msg read_octoprint_service_status - advanced_ui + do_action "" "advanced_ui" while true; do read -p "${cyan}Perform action:${default} " action; echo case "$action" in @@ -33,23 +31,11 @@ advanced_menu(){ print_msg && clear_msg advanced_ui;; 1) - clear - print_header - switch_menu - print_msg && clear_msg - advanced_ui;; + do_action "switch_menu" "advanced_ui";; 2) - clear - print_header - load_klipper_state - print_msg && clear_msg - advanced_ui;; + do_action "load_klipper_state" "advanced_ui";; 3) - clear - print_header - build_fw - print_msg && clear_msg - advanced_ui;; + do_action "build_fw" "advanced_ui";; 4) clear print_header @@ -61,11 +47,7 @@ advanced_menu(){ print_msg && clear_msg advanced_ui;; 5) - clear - print_header - get_mcu_id - print_msg && clear_msg - advanced_ui;; + do_action "get_mcu_id" "advanced_ui";; 6) clear print_header @@ -73,19 +55,11 @@ advanced_menu(){ print_msg && clear_msg advanced_ui;; 7) - clear - print_header - setup_gcode_shell_command - print_msg && clear_msg - advanced_ui;; + do_action "setup_gcode_shell_command" "advanced_ui";; Q|q) clear; main_menu; break;; *) - clear - print_header - print_unkown_cmd - print_msg && clear_msg - advanced_ui;; + deny_action "advanced_ui";; esac done advanced_menu @@ -115,8 +89,7 @@ switch_ui(){ switch_menu(){ if [ -d $KLIPPER_DIR ]; then read_branch - print_msg && clear_msg - switch_ui + do_action "" "switch_ui" while true; do read -p "${cyan}Perform action:${default} " action; echo case "$action" in @@ -151,11 +124,7 @@ switch_menu(){ Q|q) clear; advanced_menu; break;; *) - clear - print_header - print_unkown_cmd - print_msg && clear_msg - switch_ui;; + deny_action "switch_ui";; esac done else diff --git a/scripts/ui/backup_menu.sh b/scripts/ui/backup_menu.sh index ef6c3d2..83780cd 100755 --- a/scripts/ui/backup_menu.sh +++ b/scripts/ui/backup_menu.sh @@ -4,81 +4,45 @@ backup_ui(){ hr echo -e "| ${yellow}Backup location: ~/kiauh-backups${default} | " hr - echo -e "| Configuration folder: | Webinterface: | " - echo -e "| 0) [Klipper configs] | 3) [Mainsail] | " - echo -e "| | 4) [Fluidd] | " - echo -e "| Firmware: | 5) [DWC2 Web UI] | " - echo -e "| 1) [Klipper] | 6) [OctoPrint] | " - echo -e "| | | " - echo -e "| Klipper API: | HDMI Screen: | " - echo -e "| 2) [Moonraker] | 7) [KlipperScreen] | " + echo -e "| Configuration folder: | Klipper Webinterface: | " + echo -e "| 0) [Klipper configs] | 3) [Mainsail] | " + echo -e "| | 4) [Fluidd] | " + echo -e "| Firmware: | | " + echo -e "| 1) [Klipper] | HDMI Screen: | " + echo -e "| | 5) [KlipperScreen] | " + echo -e "| Klipper API: | | " + echo -e "| 2) [Moonraker] | Other: | " + echo -e "| | 6) [Duet Web Control] | " + echo -e "| | 7) [OctoPrint] | " quit_footer } backup_menu(){ - print_header - print_msg && clear_msg - backup_ui + do_action "" "backup_ui" while true; do read -p "${cyan}Perform action:${default} " action; echo case "$action" in 0) - clear - print_header - backup_klipper_config_dir - print_msg && clear_msg - backup_ui;; + do_action "backup_klipper_config_dir" "backup_ui";; 1) - clear - print_header - backup_klipper - print_msg && clear_msg - backup_ui;; + do_action "backup_klipper" "backup_ui";; 2) - clear - print_header - backup_moonraker - print_msg && clear_msg - backup_ui;; + do_action "backup_moonraker" "backup_ui";; 3) - clear - print_header - backup_mainsail - print_msg && clear_msg - backup_ui;; + do_action "backup_mainsail" "backup_ui";; 4) - clear - print_header - backup_fluidd - print_msg && clear_msg - backup_ui;; + do_action "backup_fluidd" "backup_ui";; 5) - clear - print_header - backup_dwc2 - print_msg && clear_msg - backup_ui;; + do_action "backup_klipperscreen" "backup_ui";; 6) - clear - print_header - backup_octoprint - print_msg && clear_msg - backup_ui;; + do_action "backup_dwc2" "backup_ui";; 7) - clear - print_header - backup_klipperscreen - print_msg && clear_msg - backup_ui;; + do_action "backup_octoprint" "backup_ui";; Q|q) clear; main_menu; break;; *) - clear - print_header - print_unkown_cmd - print_msg && clear_msg - backup_ui;; + deny_action "backup_ui";; esac done backup_menu -} +} \ No newline at end of file diff --git a/scripts/ui/general_ui.sh b/scripts/ui/general_ui.sh index f9aa137..0735131 100755 --- a/scripts/ui/general_ui.sh +++ b/scripts/ui/general_ui.sh @@ -38,3 +38,26 @@ kiauh_update_msg(){ echo -e "| ${yellow}either to the script or the installable components!${default} | " bottom_border } + +############################################################################################## +#********************************************************************************************# +############################################################################################## +### TODO: rework other menus to make use of the following functions too and make them more readable + +do_action(){ + clear + print_header + ### $1 is the action the user wants to fire + $1 + print_msg && clear_msg + ### $2 is the menu the user usually gets directed back to after an action is completed + $2 +} + +deny_action(){ + clear + print_header + print_unkown_cmd + print_msg && clear_msg + $1 +} \ No newline at end of file diff --git a/scripts/ui/install_menu.sh b/scripts/ui/install_menu.sh index 883d68a..3a31fa9 100755 --- a/scripts/ui/install_menu.sh +++ b/scripts/ui/install_menu.sh @@ -20,61 +20,28 @@ install_ui(){ } install_menu(){ - print_header - install_ui + do_action "" "install_ui" while true; do read -p "${cyan}Perform action:${default} " action; echo case "$action" in 1) - clear - print_header - klipper_setup_dialog - print_msg && clear_msg - install_ui;; + do_action "klipper_setup_dialog" "install_ui";; 2) - clear - print_header - moonraker_setup_dialog - print_msg && clear_msg - install_ui;; + do_action "moonraker_setup_dialog" "install_ui";; 3) - clear - print_header - install_mainsail - print_msg && clear_msg - install_ui;; + do_action "install_mainsail" "install_ui";; 4) - clear - print_header - install_fluidd - print_msg && clear_msg - install_ui;; + do_action "install_fluidd" "install_ui";; 5) - clear - print_header - install_klipperscreen - print_msg && clear_msg - install_ui;; + do_action "install_klipperscreen" "install_ui";; 6) - clear - print_header - dwc_setup_dialog - print_msg && clear_msg - install_ui;; + do_action "dwc_setup_dialog" "install_ui";; 7) - clear - print_header - octoprint_setup_dialog - print_msg && clear_msg - install_ui;; + do_action "octoprint_setup_dialog" "install_ui";; Q|q) clear; main_menu; break;; *) - clear - print_header - print_unkown_cmd - print_msg && clear_msg - install_ui;; + deny_action "install_ui";; esac done install_menu diff --git a/scripts/ui/main_menu.sh b/scripts/ui/main_menu.sh index 593bf95..091dc47 100755 --- a/scripts/ui/main_menu.sh +++ b/scripts/ui/main_menu.sh @@ -44,80 +44,50 @@ main_menu(){ read -p "${cyan}Perform action:${default} " action; echo case "$action" in "start klipper") - clear - print_header + clear && print_header klipper_service "start" main_ui;; "stop klipper") - clear - print_header + clear && print_header klipper_service "stop" main_ui;; "restart klipper") - clear - print_header + clear && print_header klipper_service "restart" main_ui;; "start moonraker") - clear - print_header + clear && print_header moonraker_service "start" main_ui;; "stop moonraker") - clear - print_header + clear && print_header moonraker_service "stop" main_ui;; "restart moonraker") - clear - print_header + clear && print_header moonraker_service "restart" main_ui;; update) - clear - print_header - update_kiauh - print_msg && clear_msg - main_ui;; + do_action "update_kiauh" "main_ui";; 0) - clear - print_header - upload_selection - print_msg && clear_msg - main_ui;; + do_action "upload_selection" "main_ui";; 1) - clear - install_menu - break;; + clear && install_menu && break;; 2) - clear - update_menu - break;; + clear && update_menu && break;; 3) - clear - remove_menu - break;; + clear && remove_menu && break;; 4) - clear - advanced_menu - break;; + clear && advanced_menu && break;; 5) - clear - backup_menu - break;; + clear && backup_menu && break;; 6) - clear - settings_menu - break;; + clear && settings_menu && break;; Q|q) echo -e "${green}###### Happy printing! ######${default}"; echo exit -1;; *) - clear - print_header - print_unkown_cmd - print_msg && clear_msg - main_ui;; + deny_action "main_ui";; esac done clear; main_menu diff --git a/scripts/ui/remove_menu.sh b/scripts/ui/remove_menu.sh index 18ba834..ba9161f 100755 --- a/scripts/ui/remove_menu.sh +++ b/scripts/ui/remove_menu.sh @@ -3,86 +3,49 @@ remove_ui(){ echo -e "| ${red}~~~~~~~~~~~~~~ [ Remove Menu ] ~~~~~~~~~~~~~~${default} | " hr echo -e "| Directories which remain untouched: | " - echo -e "| --> ~/klipper_config | " + echo -e "| --> Your printer configuration directory | " echo -e "| --> ~/kiauh-backups | " echo -e "| You need remove them manually if you wish so. | " hr - echo -e "| Firmware: | Webinterface: | " - echo -e "| 1) [Klipper] | 3) [DWC2] | " - echo -e "| | 4) [Mainsail] | " - echo -e "| Klipper API: | 5) [Fluidd] | " - echo -e "| 2) [Moonraker] | 6) [Octoprint] | " + echo -e "| Firmware: | Klipper Webinterface: | " + echo -e "| 1) [Klipper] | 3) [Mainsail] | " + echo -e "| | 4) [Fluidd] | " + echo -e "| Klipper API: | | " + echo -e "| 2) [Moonraker] | HDMI Screen: | " + echo -e "| | 5) [KlipperScreen] | " echo -e "| | | " - echo -e "| | Webserver: | " - echo -e "| | 7) [Nginx] | " - echo -e "| | | " - echo -e "| | HDMI Screen: | " - echo -e "| | 8) [KlipperScreen] | " + echo -e "| | Other: | " + echo -e "| | 6) [Duet Web Control] | " + echo -e "| | 7) [OctoPrint] | " + echo -e "| | 8) [NGINX] | " quit_footer } remove_menu(){ - print_header - remove_ui + do_action "" "remove_ui" while true; do read -p "${cyan}Perform action:${default} " action; echo case "$action" in 1) - clear - print_header - remove_klipper - print_msg && clear_msg - remove_ui;; + do_action "remove_klipper" "remove_ui";; 2) - clear - print_header - remove_moonraker - print_msg && clear_msg - remove_ui;; + do_action "remove_moonraker" "remove_ui";; 3) - clear - print_header - remove_dwc2 - print_msg && clear_msg - remove_ui;; + do_action "remove_mainsail" "remove_ui";; 4) - clear - print_header - remove_mainsail - print_msg && clear_msg - remove_ui;; + do_action "remove_fluidd" "remove_ui";; 5) - clear - print_header - remove_fluidd - print_msg && clear_msg - remove_ui;; + do_action "remove_klipperscreen" "remove_ui";; 6) - clear - print_header - remove_octoprint - print_msg && clear_msg - remove_ui;; + do_action "remove_dwc2" "remove_ui";; 7) - clear - print_header - remove_nginx - print_msg && clear_msg - remove_ui;; + do_action "remove_octoprint" "remove_ui";; 8) - clear - print_header - remove_klipperscreen - print_msg && clear_msg - remove_ui;; + do_action "remove_nginx" "remove_ui";; Q|q) clear; main_menu; break;; *) - clear - print_header - print_unkown_cmd - print_msg && clear_msg - remove_ui;; + deny_action "remove_ui";; esac done remove_menu