From ab9d62fac60bf0edba936d8ddfbacd8cb06eef71 Mon Sep 17 00:00:00 2001 From: thuanle Date: Wed, 22 Jul 2026 00:24:06 +0700 Subject: [PATCH] Replace illegible box-art banner with readable gradient-bar banner The Unicode box-drawing art didn't form legible letters. Now uses two rainbow gradient bars around a plain, readable title + subtitle. Co-Authored-By: Claude --- cleanup-server | 54 ++++++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/cleanup-server b/cleanup-server index aeac2fe..d993546 100755 --- a/cleanup-server +++ b/cleanup-server @@ -18,36 +18,38 @@ else fi # ----------------------------- -# Banner rainbow (giống style `cleanup`) +# Banner rainbow nhưng đọc được: thanh gradient + tiêu đề rõ # ----------------------------- -print_banner() { - local use_color=0 reset="" i=0 line - local -a lines=( - ' ██████╗██╗ ██╗ ██████╗██╗ ██╗██╗ ██╗██████╗ ███████╗███╗ ██╗ ██████╗██╗ ██╗' - ' ██╔════╝██║ ██║██╔════╝██║ ██║██║ ██║██╔══██╗ ██╔════╝████╗ ██║██╔═══██╗╚██╗██╔╝' - ' ██║ ██║ ██║██║ ███████║██║ ██║██║ ██║ █████╗ ██╔██╗ ██║██║ ██║ ╚███╔╝ ' - ' ██║ ██║ ██║██║ ██╔══██║██║ ██║██║ ██║ ██╔══╝ ██║╚██╗██║██║ ██║ ██╔██╗ ' - ' ╚██████╗╚██████╔╝╚██████╗██║ ██║╚██████╔╝██████╔╝ ███████╗██║ ╚████║╚██████╔╝██╔╝ ██╗' - ' ╚═════╝ ╚═════╝ ╚═════╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝' - ) - local -a colors=() +repeat_char() { + # $1 = số lượng, $2 = ký tự + printf "%${1}s" "" | tr ' ' "$2" +} + +# In 1 thanh block gradient rainbow (TTY) hoặc '#' (non-TTY) +rainbow_bar() { + local width="$1" if [ -t 1 ]; then - use_color=1 - reset=$'\033[0m' - colors=( - $'\033[1;38;5;51m' $'\033[1;38;5;87m' $'\033[1;38;5;123m' - $'\033[1;38;5;159m' $'\033[1;38;5;220m' $'\033[1;38;5;214m' - ) + local -a codes=(51 87 123 159 220 214 209 204) + local n=${#codes[@]} seg i line="" + for ((i = 0; i < n; i++)); do + seg=$(( (width + n - 1 - i) / n )) + line+="$(printf '\033[1;38;5;%dm' "${codes[$i]}")""$(repeat_char "$seg" "█")" + done + printf '%s%s\n' "$line" "$C_RESET" + else + repeat_char "$width" "#" + echo fi +} + +print_banner() { echo "" - for line in "${lines[@]}"; do - if [ "$use_color" -eq 1 ]; then - printf '%b%s%b\n' "${colors[$i]}" "$line" "$reset" - else - printf '%s\n' "$line" - fi - i=$((i + 1)) - done + rainbow_bar 56 + echo "" + printf ' %s🧹 CLEANUP-SERVER%s\n' "$C_TITLE" "$C_RESET" + printf ' %sDọn dẹp + nâng cấp server (Ubuntu / Arch)%s\n' "$C_WARN" "$C_RESET" + echo "" + rainbow_bar 56 echo "" }