#!/bin/bash

LANG="C.UTF-8"

BLUE='[34m'
BLUE_BOLD='[1;34m'
GREEN_BOLD='[1;32m'
BOLD='[1m'
RESET='[0m'

gradient() {
  len=${#1}
  blue0=229
  green0=115
  red0=0
  blue1=216
  green1=100
  red1=132
  blue2=233
  green2=181
  red2=44
  index=0
  half=$(( $len / 2 ))
  dred0=$(( ( $red1 - $red0 ) / ( $half ) ))
  dgreen0=$(( ( $green1 - $green0 ) / ( $half ) ))
  dblue0=$(( ( $blue1 - $blue0 ) / ( $half ) ))
  dred1=$(( ( $red2 - $red1 ) / ( $half ) ))
  dgreen1=$(( ( $green2 - $green1 ) / ( $half ) ))
  dblue1=$(( ( $blue2 - $blue1 ) / ( $half ) ))
  red=$red0
  green=$green0
  blue=$blue0
  while [ $index -lt $len ]; do
    if [ $index -lt $half ]; then
      red=$(( $red + $dred0 ))
      green=$(( $green + $dgreen0 ))
      blue=$(( $blue + $dblue0 ))
    else
      red=$(( $red + $dred1 ))
      green=$(( $green + $dgreen1 ))
      blue=$(( $blue + $dblue1 ))
    fi
    color="[38;2;${red};${green};${blue}m"
    printf "${color}${1:index:1}"
    index=$(( $index + 1 ))
  done
  printf "$RESET\n"
}

LOGO1="█ █ █▀█   ▀▀█ █▀▄ ▀█▀"
LOGO2="█▀█ █▀▀   ▄▀  █▀▄  █ "
LOGO3="▀ ▀ ▀     ▀▀▀ ▀ ▀  ▀ "

gradient "$LOGO1"
gradient "$LOGO2"
gradient "$LOGO3"
printf "${BLUE_BOLD}HP Z Runtime${RESET} is a CLI tool that wraps vLLM to help deploy models.\n"
printf "  To learn more, run ${BOLD}zrt --help${RESET}\n"
printf "  If it's not installed, first run ${BOLD}sudo snap install --classic zrt${RESET}\n"
