#!/bin/sh

#script for bookmarking selected items and later using it..

data="$(wl-paste -p | tr '\n' '\`' | sed 's/$/ /g')"

file="$HOME/.cache/bookmarks"
oshi_file="$HOME/.cache/oshi-urls"

menu() {
	bemenu --fn 'Roboto 15' -i -c -W 0.6 -B 3 -l 30 -p "$1" --bdr="#$GLOBAL_ACCENT" --tf="#$GLOBAL_ACCENT" --hf="#$GLOBAL_ACCENT"
}

case $1 in
	add)
		if [ -z "$data" ]; then
			notify-send -e "Please select anything to bookmark"
		elif grep -q "${data}" "$file"; then
			notify-send -e -i "bookmark-missing" "Already bookmarked"
		else
			printf "%s" "$data" >>"$file"
			notify-send -e -i "user-bookmarks" "Bookmarked" "$data"
		fi
		;;
	rm)
		data="$(sed '/^$/d' "$file" | nl -n'ln')"
		[ -z "$data" ] && notify-send -e "Bookmark is empty" && exit 0
		del=$(printf "%s" "$data" | menu "delete-bookmark :" | cut -f1)
		[ -z "$del" ] || (sed -i "${del}d" "$file" && notify-send -e -i "bookmark-missing" "Bookmark deleted" -u critical)
		;;
	copy)
		sed '/^$/d' "$file" "$oshi_file" | sed -E 's/.*DL: ([^|]*).*/\1/g' | menu "COPY-bookmark :" | tr '\`' '\n' | wl-copy && notify-send -e "Copied to clipboard" -i "com.github.davidmhewitt.clipped"
		;;
	*)
		result="$(sed '/^$/d' "$file" "$oshi_file" | sed -E 's/.*DL: ([^|]*).*/\1/g' | menu "Put-bookmark :" | tr '\`' '\n')"
		if printf '%s' "$result" | grep -q 'B>'; then
			google-chrome-stable "$(printf '%s' "$result" | cut -d'>' -f2- | tr -d '\n ')"
		else
			wtype -d 10 "$result"
		fi
		;;
esac

sed -i '/^$/d' "$file"
printf "\n" >>"$file"
