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 <noreply@anthropic.com>
This commit is contained in:
2026-07-22 00:24:06 +07:00
co-authored by Claude
parent ce49f1ce5c
commit ab9d62fac6
+28 -26
View File
@@ -18,36 +18,38 @@ else
fi fi
# ----------------------------- # -----------------------------
# Banner rainbow (giống style `cleanup`) # Banner rainbow nhưng đọc được: thanh gradient + tiêu đề rõ
# ----------------------------- # -----------------------------
print_banner() { repeat_char() {
local use_color=0 reset="" i=0 line # $1 = số lượng, $2 = ký tự
local -a lines=( printf "%${1}s" "" | tr ' ' "$2"
' ██████╗██╗ ██╗ ██████╗██╗ ██╗██╗ ██╗██████╗ ███████╗███╗ ██╗ ██████╗██╗ ██╗' }
' ██╔════╝██║ ██║██╔════╝██║ ██║██║ ██║██╔══██╗ ██╔════╝████╗ ██║██╔═══██╗╚██╗██╔╝'
' ██║ ██║ ██║██║ ███████║██║ ██║██║ ██║ █████╗ ██╔██╗ ██║██║ ██║ ╚███╔╝ ' # In 1 thanh block gradient rainbow (TTY) hoặc '#' (non-TTY)
' ██║ ██║ ██║██║ ██╔══██║██║ ██║██║ ██║ ██╔══╝ ██║╚██╗██║██║ ██║ ██╔██╗ ' rainbow_bar() {
' ╚██████╗╚██████╔╝╚██████╗██║ ██║╚██████╔╝██████╔╝ ███████╗██║ ╚████║╚██████╔╝██╔╝ ██╗' local width="$1"
' ╚═════╝ ╚═════╝ ╚═════╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝'
)
local -a colors=()
if [ -t 1 ]; then if [ -t 1 ]; then
use_color=1 local -a codes=(51 87 123 159 220 214 209 204)
reset=$'\033[0m' local n=${#codes[@]} seg i line=""
colors=( for ((i = 0; i < n; i++)); do
$'\033[1;38;5;51m' $'\033[1;38;5;87m' $'\033[1;38;5;123m' seg=$(( (width + n - 1 - i) / n ))
$'\033[1;38;5;159m' $'\033[1;38;5;220m' $'\033[1;38;5;214m' 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 fi
}
print_banner() {
echo "" echo ""
for line in "${lines[@]}"; do rainbow_bar 56
if [ "$use_color" -eq 1 ]; then echo ""
printf '%b%s%b\n' "${colors[$i]}" "$line" "$reset" printf ' %s🧹 CLEANUP-SERVER%s\n' "$C_TITLE" "$C_RESET"
else printf ' %sDọn dẹp + nâng cấp server (Ubuntu / Arch)%s\n' "$C_WARN" "$C_RESET"
printf '%s\n' "$line" echo ""
fi rainbow_bar 56
i=$((i + 1))
done
echo "" echo ""
} }