Files
postinstall-debian/lib/ui.sh
2026-03-15 04:54:51 +01:00

62 lines
1.1 KiB
Bash

#!/usr/bin/env bash
UI_RESET=$'\033[0m'
UI_BOLD=$'\033[1m'
UI_BLUE=$'\033[34m'
UI_GREEN=$'\033[32m'
UI_YELLOW=$'\033[33m'
UI_RED=$'\033[31m'
ui_header() {
local message="$1"
printf '\n%s%s== %s ==%s\n\n' "$UI_BOLD" "$UI_BLUE" "$message" "$UI_RESET"
}
ui_section() {
local message="$1"
printf '%s[%s]%s\n' "$UI_BLUE" "$message" "$UI_RESET"
}
ui_info() {
local message="$1"
printf '%s[INFO]%s %s\n' "$UI_BLUE" "$UI_RESET" "$message"
}
ui_success() {
local message="$1"
printf '%s[OK]%s %s\n' "$UI_GREEN" "$UI_RESET" "$message"
}
ui_warn() {
local message="$1"
printf '%s[WARN]%s %s\n' "$UI_YELLOW" "$UI_RESET" "$message"
}
ui_error() {
local message="$1"
printf '%s[ERR]%s %s\n' "$UI_RED" "$UI_RESET" "$message" >&2
}
ui_menu() {
local title="$1"
shift
local option
ui_section "$title"
for option in "$@"; do
printf ' - %s\n' "$option"
done
}
ui_confirm() {
local prompt="$1"
local answer=""
read -r -p "$prompt [y/N] " answer
[[ "$answer" =~ ^[Yy]$ ]]
}
ui_pause() {
read -r -p "Appuyer sur Entree pour continuer... " _
}