#!/bin/sh

# Try to source keychain's environment file
if [ -f "$HOME/.keychain/$(hostname)-sh" ]; then
    . "$HOME/.keychain/$(hostname)-sh"
fi

# Fallback to gnome-keyring if keychain not used
if [ -z "$SSH_AUTH_SOCK" ] && [ -S "/run/user/$(id -u)/keyring/ssh" ]; then
    export SSH_AUTH_SOCK="/run/user/$(id -u)/keyring/ssh"
fi

# Define the paths and repository
bookmarks_file="$HOME/.local/share/bookmarks/bookmarks"
repo_path="$HOME/.local/share/bookmarks"

# Pull the latest changes
cd "$repo_path" || exit
git pull origin master

# Check if the bookmarks file has changed
if [ -n "$(git status --porcelain "$bookmarks_file")" ]; then
    # Add and commit the bookmarks file
    git add "$bookmarks_file"
    git commit -m "Update bookmarks file"

    # Push the changes and log output
    GIT_SSH_COMMAND="ssh -i ~/.ssh/ry_ecdsa" git push origin master 2>&1 | tee -a /tmp/bookmark_git_push.log

    notify-send "Bookmarks updated" "Changes pushed."
else
    notify-send "No changes" "No changes to the bookmarks file."
fi

