#!/usr/bin/env bash

brt_ip() {
  local mode="${1:-check}"
  shift || true

  case "$mode" in
    check|all)
      brt_info "Local addresses:"
      brt_local_ips | while read -r ip; do echo "  $ip"; done
      echo
      brt_info "Public IP:"
      local pub
      pub=$(brt_get_public_ip)
      if [[ -n "$pub" ]]; then
        echo "  $pub"
      else
        brt_warn "Could not determine public IP"
      fi
      ;;
    local)
      brt_local_ips
      ;;
    public)
      brt_get_public_ip
      ;;
    interfaces|if)
      ifconfig 2>/dev/null || ip addr 2>/dev/null
      ;;
    *)
      brt_error "Unknown ip mode: ${mode}. Use: check, local, public, interfaces"
      exit 1
      ;;
  esac
}
