function cmd::inspect::_blocks_info() {
  local name="${1:-}"
  local block_file
  block_file="$(ctx::block::path "${name}.block")"
  [[ ! -f "$block_file" ]] && return 0

  local data
  data=$(json::block_get "$block_file")
  [[ -z "$data" ]] && return 0

  local blocked_direct blocked_groups
  blocked_direct=$(echo "$data" | python3 -c "import json,sys; d=json.load(sys.stdin); print(d.get('blocked_direct', False))" </dev/null)
  blocked_groups=$(echo "$data" | python3 -c "import json,sys; d=json.load(sys.stdin); print(','.join(d.get('blocked_by_groups', [])))" </dev/null)

  cmd::inspect::_section "Peer Blocks"

  if [[ "${blocked_direct,,}" == "true" ]]; then
    printf "    \033[1;31m🚫\033[0m blocked directly\n"
  fi
  if [[ -n "$blocked_groups" ]]; then
    printf "    \033[1;31m🚫\033[0m blocked by groups: %s\n" "$blocked_groups"
  fi

  while IFS="|" read -r bname btype target port proto; do
    [[ -z "$btype" ]] && continue
    local display=""
    case "$btype" in
      full)   display="all traffic" ;;
      ip)     display="$target" ;;
      port)   display="${target}:${port}:${proto}" ;;
      subnet) display="$target" ;;
    esac
    local label="${bname:-$btype}"
    printf "    \033[0;31m-\033[0m %-30s \033[0;37m%s\033[0m\n" \
      "$display" "$label"
  done < <(json::block_get_rules "$block_file")
}