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:
+29
-27
@@ -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" "█")"
|
||||||
)
|
|
||||||
fi
|
|
||||||
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
|
done
|
||||||
|
printf '%s%s\n' "$line" "$C_RESET"
|
||||||
|
else
|
||||||
|
repeat_char "$width" "#"
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
print_banner() {
|
||||||
|
echo ""
|
||||||
|
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 ""
|
echo ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user