#!/bin/bash
#  ___           _        _ _   _   _           _       _             
# |_ _|_ __  ___| |_ __ _| | | | | | |_ __   __| | __ _| |_ ___  ___  
#  | || '_ \/ __| __/ _` | | | | | | | '_ \ / _` |/ _` | __/ _ \/ __| 
#  | || | | \__ \ || (_| | | | | |_| | |_) | (_| | (_| | ||  __/\__ \ 
# |___|_| |_|___/\__\__,_|_|_|  \___/| .__/ \__,_|\__,_|\__\___||___/ 
#                                    |_|                              
# by Stephan Raabe (2023) 
# ----------------------------------------------------- 
# Required: yay trizen timeshift btrfs-grub
# ----------------------------------------------------- 

sleep 1
source ~/dotfiles/scripts/library.sh
clear

echo "-----------------------------------------------------"
echo "Check for updates"
echo "-----------------------------------------------------"
echo ""

if ! updates_arch=$(checkupdates 2> /dev/null | wc -l ); then
    updates_arch=0
fi

if ! updates_aur=$(trizen -Su --aur --quiet | wc -l); then
    updates_aur=0
fi

updates=$(("$updates_arch" + "$updates_aur"))

if [ "$updates" -gt 0 ]; then

    echo "-> Pacman:"
    checkupdates
    echo ""
    echo "-> AUR"
    trizen -Su --aur
    echo ""
    echo "-> $updates updates available."
    echo ""
else
    echo "-> NO updates available"
    exit
fi

# ------------------------------------------------------
# Confirm Start
# ------------------------------------------------------

while true; do
    read -p "DO YOU WANT TO START THE UPDATE NOW? (Yy/Nn): " yn
    case $yn in
        [Yy]* )
            echo "Update process started."
        break;;
        [Nn]* ) 
            exit;
        break;;
        * ) echo "Please answer yes or no.";;
    esac
done

if [[ $(_isInstalledYay "Timeshift") == 1 ]];
then

    echo ""
    echo "-----------------------------------------------------"
    echo "Create a snapshot"
    echo "-----------------------------------------------------"
    echo ""
    read -p "Enter a comment for the snapshot: " c
    sudo timeshift --create --comments "$c"
    sudo timeshift --list
    sudo grub-mkconfig -o /boot/grub/grub.cfg
    echo "DONE. Snapshot $c created!"
    echo ""

fi

echo "-----------------------------------------------------"
echo "Start update"
echo "-----------------------------------------------------"
echo ""

yay

notify-send "Update complete" "$updates packages updated successfully"