#!/bin/bash
set -euo pipefail

# In case we got a click, open the notifications page
[ -n "${BLOCK_BUTTON:-}" ] && xdg-open "https://github.com/notifications" >/dev/null 2>&1

# Get token from vault
gh_token=$(vault read -field=token secret/private/github/notifications)
[ -z "${gh_token}" ] && exit 1

# Get unread notifications (capped, no pagination!)
count=$(curl -su "api:${gh_token}" https://api.github.com/notifications | jq '. | length')

# No updates: Gray
color="#7f7f7f"
display_num=""

# Normal updates: White
[ $count -gt 0 ] && {
	color="#ffffff"
	display_num=" ${count}"
}

printf '<span color="%s">\ue709%s</span>' "${color}" "${display_num}"