#!/usr/bin/env bash
#
# Description: Complex  for regular wireguard with 
#              tailscale support.
#
# Homepage: https://codeberg.org/krathalan/miscellaneous-scripts
#
# Copyright (C) 2026 Hunter Peavey
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <https://www.gnu.org/licenses/>.

# -----------------------------------------
# -------------- Guidelines ---------------
# -----------------------------------------

# This script follows the Google Shell Style Guide:
# https://google.github.io/styleguide/shell.xml

# This script uses shellcheck: https://www.shellcheck.net/

# See https://vaneyckt.io/posts/safer_bash_scripts_with_set_euxo_pipefail/
set -Eeuo pipefail

[[ -z "${1:-}" ]] && exit 1

C_WBM_OUTPUT="$(wbm_vpn "$1")"
readonly C_WBM_OUTPUT

if [[ $C_WBM_OUTPUT != *"down"* ]]; then
  printf "%s" "${C_WBM_OUTPUT}"
elif tailscale status &> /dev/null; then
  printf "{\"text\": \"tailscale 󰌆\"}"
else
  printf "{\"text\": \"no vpn 󰌊\",\"class\": \"down\"}"
fi
