#!/usr/bin/env bash

: <<'END'
whohami
read and print curent user information from ~/.dhinfo
Linux users should get the pun!

Version 1.0a

Steve de Bode - W0FFS - December 2025

Input:	none
Output: none - informational
END

UI_LIB="/usr/local/lib/digihub/dh.lib"
[ -r "$UI_LIB" ] && source "$UI_LIB" || {
  printf "\nERROR: Missing UI library: %s\n\n" "$UI_LIB" >&2
  exit 1
}

dhinfo="$HOME/.dhinfo"

need_file "$dhinfo" "Run install.sh to create this file"

IFS=',' read -r callsign class expiry grid lat lon licstat \
               forename initial surname suffix \
               street town state zip country \
               aprspass axnodepass mapboxtoken \
               winlinkpass defaultmode radiointerface \
               rigdevice rigbaud rignumber \
               vncpass < "$dhinfo"

fullname="$forename $initial $surname $suffix"; fullname=$(echo "$fullname" | xargs)
address="$street, $town, $state $zip $country"
address="$(printf '%s' "$address" | sed -E 's/^[, ]+//')"

# Convert License Class
case "$class" in
  "T") class="Technician" ;;
  "G") class="General" ;;
  "E") class="Extra" ;;
  "N") class="Novice" ;;
  "A") class="Advanced" ;;
esac

# Convert License Status
case "$licstat" in
  "A") licstat="Active" ;;
  "E") licstat="Expired" ;;
  "P") licstat="Pending" ;;
esac

section "DigiHub Installation Details"
kv "Callsign"     "$callsign"
kv "License"      "$class"
kv "Expiry"       "$expiry"
kv "Status"       "$licstat"
kv "Name"         "$fullname"
kv "Address"      "$address"
kv "Grid"         "$grid"
kv "Latitude"     "$lat"
kv "Longitude"    "$lon"
printf "\n"
