Update setup
This commit is contained in:
@@ -7,10 +7,38 @@ YELLOW='\033[1;33m'
|
||||
CYAN='\033[1;36m'
|
||||
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() {
|
||||
printf "\0337\033[5;1H\033[K${BLUE}▶ %s${NC}\0338" "$1"
|
||||
printf "\n${BLUE}========== %s ==========${NC}\n" "$1"
|
||||
}
|
||||
|
||||
print_info() {
|
||||
printf "\0337\033[6;1H\033[K${CYAN} ➜ %s${NC}\0338" "$1"
|
||||
printf "${CYAN}➜ %s${NC}\n" "$1"
|
||||
}
|
||||
|
||||
@@ -110,6 +138,7 @@ setup_wifitui() {
|
||||
}
|
||||
|
||||
main() {
|
||||
clear
|
||||
printf "\n${BLUE}=========================================${NC}\n"
|
||||
printf "${CYAN} HOMELOGIC SETUP MENU ${NC}\n"
|
||||
printf "${BLUE}=========================================${NC}\n"
|
||||
@@ -121,6 +150,22 @@ main() {
|
||||
printf "${YELLOW}Select an option [0-3]: ${NC}"
|
||||
|
||||
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
|
||||
1)
|
||||
setup_server
|
||||
@@ -138,17 +183,9 @@ main() {
|
||||
ask_optional_step "Tailscale" setup_tailscale
|
||||
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
|
||||
|
||||
teardown_ui
|
||||
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