#!/bin/sh

APP=topgrade
REPO="topgrade-rs/topgrade"

# CREATE THE FOLDER
mkdir /opt/$APP
cd /opt/$APP

# ADD THE REMOVER
echo '#!/bin/sh' >> /opt/$APP/remove
echo "rm -R -f /usr/local/share/applications/$APP-AM.desktop /opt/$APP /usr/local/bin/$APP" >> /opt/$APP/remove
chmod a+x /opt/$APP/remove

# DOWNLOAD THE ARCHIVE
mkdir tmp
cd ./tmp

version=$(curl -Ls https://api.github.com/repos/$REPO/releases | grep browser_download_url | grep -i "aarch64-unknown-linux-gnu.tar.gz " | cut -d '"' -f 4 | head -1)
wget $version
echo "$version" >> /opt/$APP/version
cd ..
tar fx ./tmp/*tar.gz
rm -R -f ./tmp

# LINK
ln -s /opt/$APP/$APP /usr/local/bin/$APP

# SCRIPT TO UPDATE THE PROGRAM
cat >> /opt/$APP/AM-updater << 'EOF'
#!/usr/bin/env bash
APP=topgrade
REPO="topgrade-rs/topgrade"
version0=$(cat /opt/$APP/version)
version=$(curl -Ls https://api.github.com/repos/$REPO/releases | grep browser_download_url | grep -i "aarch64-unknown-linux-gnu.tar.gz " | cut -d '"' -f 4 | head -1)
if [ $version = $version0 ]; then
  echo "Update not needed!"
else
  notify-send "A new version of $APP is available, please wait"
  mkdir /opt/$APP/tmp
  cd /opt/$APP/tmp
  wget $version
  cd ..
  tar fx ./tmp/*tar.gz
  rm ./version
  echo $version >> ./version
  rm -R -f ./tmp ./*~
  notify-send "$APP is updated!"
fi
EOF
chmod a+x /opt/$APP/AM-updater
