#!/bin/bash

# blob:summary=Install a supported browser
# blob:args=<chrome|brave|brave-origin|edge|firefox|zen>
# blob:examples=blob install browser firefox | blob install browser brave

source "$BLOB_PATH/install/helpers/browser-policy.sh"

setup_chromium_policy_directory() {
  browser_policy_setup_dir "$1"
}

announce_browser_installed() {
  echo ""
  echo "$1 browser installed. Make it the default via Setup > Defaults > Browser."
}

copy_chromium_flags() {
  mkdir -p ~/.config
  cp -f "$BLOB_PATH/config/chromium-flags.conf" "$1"
  blob-install-chromium-copy-url
  blob-install-chromium-ytdlp
}

setup_firefox_wayland() {
  mkdir -p ~/.config/environment.d
  echo "MOZ_ENABLE_WAYLAND=1" > ~/.config/environment.d/blob-firefox-wayland.conf
}

case $1 in
chrome)
  echo "Installing Chrome..."
  blob-pkg-aur-add google-chrome || exit 1

  setup_chromium_policy_directory /etc/opt/chrome/policies/managed
  copy_chromium_flags ~/.config/chrome-flags.conf
  blob-theme-browser
  announce_browser_installed "Chrome"
  ;;
edge)
  echo "Installing Edge..."
  blob-pkg-aur-add microsoft-edge-stable-bin || exit 1

  setup_chromium_policy_directory /etc/opt/edge/policies/managed
  copy_chromium_flags ~/.config/microsoft-edge-stable-flags.conf
  blob-theme-browser
  announce_browser_installed "Edge"
  ;;
brave)
  echo "Installing Brave..."
  blob-pkg-aur-add brave-bin || exit 1

  setup_chromium_policy_directory /etc/brave/policies/managed
  copy_chromium_flags ~/.config/brave-flags.conf
  blob-theme-browser
  announce_browser_installed "Brave"
  ;;
brave-origin)
  echo "Installing Brave Origin..."
  blob-pkg-aur-add brave-origin-bin || exit 1

  setup_chromium_policy_directory /etc/brave/policies/managed
  copy_chromium_flags ~/.config/brave-origin-flags.conf
  blob-theme-browser
  announce_browser_installed "Brave Origin"
  ;;
firefox)
  echo "Installing Firefox..."
  blob-pkg-add firefox || exit 1

  browser_policy_setup_firefox_distribution /usr/lib/firefox/distribution
  setup_firefox_wayland
  announce_browser_installed "Firefox"
  ;;
zen)
  echo "Installing Zen..."
  blob-pkg-aur-add zen-browser-bin || exit 1

  browser_policy_setup_firefox_distribution /opt/zen-browser/distribution
  setup_firefox_wayland
  announce_browser_installed "Zen"
  ;;
*)
  echo "Usage: blob-install-browser <chrome|brave|brave-origin|edge|firefox|zen>"
  exit 1
  ;;
esac
