#!/bin/bash

# omarchy:summary=Install the Claude extension for Chromium-based browsers
# omarchy:requires-sudo=true

set -euo pipefail

if (( EUID == 0 )); then
  export PATH=/usr/bin:/bin
fi

EXTENSION_ID="fcoeoabgfenejglbffodgkkbkcdhcgfn"
EXTENSION_JSON='{ "external_update_url": "https://clients2.google.com/service/update2/crx" }'
PACKAGED_PATH=/usr/bin/omarchy-install-chromium-claude

# Brave and Brave Origin share Chromium's external extension directory.
# Seed all supported browsers, including those installed after choosing Claude.
EXTENSION_DIRS=(
  /usr/share/chromium/extensions
  /usr/share/google-chrome/extensions
  /usr/share/microsoft-edge/extensions
)

installed=true
for dir in "${EXTENSION_DIRS[@]}"; do
  if [[ ! -f $dir/$EXTENSION_ID.json ]] || [[ $(cat "$dir/$EXTENSION_ID.json") != "$EXTENSION_JSON" ]]; then
    installed=false
  fi
done

if [[ $installed == "true" ]]; then
  exit 0
fi

if (( EUID == 0 )); then
  for dir in "${EXTENSION_DIRS[@]}"; do
    printf '%s\n' "$EXTENSION_JSON" | install -D -m 0644 /dev/stdin "$dir/$EXTENSION_ID.json"
  done
elif [[ -t 0 ]]; then
  exec sudo "$PACKAGED_PATH"
else
  exec pkexec "$PACKAGED_PATH"
fi
