Update setup
This commit is contained in:
@@ -7,10 +7,38 @@ YELLOW='\033[1;33m'
|
|||||||
CYAN='\033[1;36m'
|
CYAN='\033[1;36m'
|
||||||
NC='\033[0m'
|
NC='\033[0m'
|
||||||
|
|
||||||
|
teardown_ui() {
|
||||||
|
local ROWS
|
||||||
|
ROWS=$(tput lines 2>/dev/null || echo 24)
|
||||||
|
printf "\033[1;${ROWS}r" # Reset scrolling region to full terminal
|
||||||
|
printf "\033[?25h" # Ensure cursor is visible
|
||||||
|
printf "\033[${ROWS};1H" # Move cursor to bottom explicitly
|
||||||
|
}
|
||||||
|
trap 'teardown_ui' EXIT INT TERM
|
||||||
|
|
||||||
|
setup_ui() {
|
||||||
|
clear
|
||||||
|
local ROWS
|
||||||
|
ROWS=$(tput lines 2>/dev/null || echo 24)
|
||||||
|
if [ "$ROWS" -lt 10 ]; then ROWS=10; fi
|
||||||
|
local LOG_START=8
|
||||||
|
|
||||||
|
printf "\033[1;1H${BLUE}=========================================${NC}\n"
|
||||||
|
printf "\033[2;1H${CYAN} HOMELOGIC SETUP SCRIPT ${NC}\n"
|
||||||
|
printf "\033[3;1H${BLUE}=========================================${NC}\n"
|
||||||
|
printf "\033[7;1H${YELLOW}--- Verbose Logs ------------------------${NC}\n"
|
||||||
|
|
||||||
|
printf "\033[${LOG_START};${ROWS}r"
|
||||||
|
printf "\033[${ROWS};1H"
|
||||||
|
}
|
||||||
|
|
||||||
print_step() {
|
print_step() {
|
||||||
|
printf "\0337\033[5;1H\033[K${BLUE}▶ %s${NC}\0338" "$1"
|
||||||
printf "\n${BLUE}========== %s ==========${NC}\n" "$1"
|
printf "\n${BLUE}========== %s ==========${NC}\n" "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
print_info() {
|
print_info() {
|
||||||
|
printf "\0337\033[6;1H\033[K${CYAN} ➜ %s${NC}\0338" "$1"
|
||||||
printf "${CYAN}➜ %s${NC}\n" "$1"
|
printf "${CYAN}➜ %s${NC}\n" "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -110,6 +138,7 @@ setup_wifitui() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
|
clear
|
||||||
printf "\n${BLUE}=========================================${NC}\n"
|
printf "\n${BLUE}=========================================${NC}\n"
|
||||||
printf "${CYAN} HOMELOGIC SETUP MENU ${NC}\n"
|
printf "${CYAN} HOMELOGIC SETUP MENU ${NC}\n"
|
||||||
printf "${BLUE}=========================================${NC}\n"
|
printf "${BLUE}=========================================${NC}\n"
|
||||||
@@ -121,6 +150,22 @@ main() {
|
|||||||
printf "${YELLOW}Select an option [0-3]: ${NC}"
|
printf "${YELLOW}Select an option [0-3]: ${NC}"
|
||||||
|
|
||||||
read opt
|
read opt
|
||||||
|
case "$opt" in
|
||||||
|
0|exit|quit|q|Q)
|
||||||
|
printf "\nExiting setup.\n"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
1|2|3)
|
||||||
|
setup_ui
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
printf "\n${YELLOW}⚠ Invalid option selected.${NC}\n\n"
|
||||||
|
sleep 1
|
||||||
|
main
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
case "$opt" in
|
case "$opt" in
|
||||||
1)
|
1)
|
||||||
setup_server
|
setup_server
|
||||||
@@ -138,17 +183,9 @@ main() {
|
|||||||
ask_optional_step "Tailscale" setup_tailscale
|
ask_optional_step "Tailscale" setup_tailscale
|
||||||
ask_optional_step "Wifitui" setup_wifitui
|
ask_optional_step "Wifitui" setup_wifitui
|
||||||
;;
|
;;
|
||||||
0|exit|quit|q|Q)
|
|
||||||
print_info "Exiting setup."
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
printf "\n${YELLOW}⚠ Invalid option selected.${NC}\n"
|
|
||||||
main
|
|
||||||
return
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
teardown_ui
|
||||||
printf "\n${GREEN}✔ Task complete! Please log out and log back in for shell changes to take effect.${NC}\n"
|
printf "\n${GREEN}✔ Task complete! Please log out and log back in for shell changes to take effect.${NC}\n"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user