#!/bin/sh
VDIR="$HOME/.local/share/contacts"

STDIN="$(cat)"
[ -n "$STDIN" ] && printf '%s' "$STDIN" > "$VDIR/temp-contact.vcf"

QUERY="$(grep -r '^FN:' "$VDIR" | sed 's/.*://' | tr -d '\r' | menu "Contact:")"
[ -z "$QUERY" ] && exit 0
FILE="$(grep -r "^FN:$QUERY" "$VDIR" | cut -d ':' -f 1)"

if [ -e "$FILE" ] ; then
    NAME="$QUERY"
else
    LIST="$(grep -ir "$QUERY" "$VDIR" | cut -d ':' -f 1 | uniq | tr '\n' ' ')"
    NAME="$(for VCARD in $LIST ; do grep -r 'FN' "$VCARD" | cut -d ':' -f 2 ; done | menu "'$QUERY' results:")"
    [ -z "$NAME" ] && exit 0
    FILE="$(grep -r "^FN:$NAME" "$VDIR" | cut -d ':' -f 1)"
fi ; [ -z "$FILE" ] && exit 0

INFO="$(sed -e '/^.*:VCARD/d;/^VERSION:/d;/^PRODID:/d;/^UID:/d;/^ /d' \
    -e '/^FN:/d;/^N:/d;/^NICKNAME.*:/d;/^REV.*:/d;/^PHOTO.*:/d' \
    -e 's/^EMAIL.*:/󰇮 /;s/^TEL.*:/󰘂 /;s/^IMPP.*:/󰟿 /' \
    -e 's/^TITLE.*:/󰃖 /;s/^ORG.*:/ /' \
    -e 's/^.*://g;s/[;]/ /g;/^\s*$/d' \
    "$FILE" )"

FIELD="$(printf '%s\n󰭷 VCARD' "$INFO" | tr -d '\r' | menu " $NAME:" | cut -c 6- | tr -d '\n' | sed 's/\s*$//g')"
[ -z "$FIELD" ] && exit 0

[ "$FIELD" = "VCARD" ] && sed '/^PHOTO.*:/d;/^ /d' "$FILE" | qrencode -s 8 -t PNG -o - | display && exit 0
#wl-copy "$FIELD"
printf '%s' "$FIELD" | xsel -ib