#!/bin/bash
CONF="$HOME/.config/clickradio"
FDIR="$HOME/.config/clickradio/favs"
PLAYR="/usr/bin/mpv"
EICON='/usr/share/click-radio/icons/error.svg'
CONF="$HOME/.config/clickradio"
FDIR="$HOME/.config/clickradio/favs"
DEL="$HOME/.config/clickradio/delete"
USERS=$(who |sed 's/ .*//'|head -n1)

if [ ! -d $FDIR ]; then
mkdir -p $FDIR
fi

favlist(){
while read data; do
echo "$data" | sed 's/&/&amp;/g' 
done | tee >(lisT)
}
function lisT(){
SELECT=$(yad \
--title="Click Radio" \
--window-icon=/usr/share/click-radio/icons/click-radio.png \
--width=550 --height=375 --center --on-top \
--list --column="Streaming Favorites Menu" --grid-lines=hor --text="<span font_desc='Sans Bold Italic 10' foreground='#BE7F00'>Double Click To Play Menu Items</span>" \
--button="Remove"!/usr/share/click-radio/icons/stop.svg:3 \
--button="Add Personal"!/usr/share/click-radio/icons/playlist.svg:2 \
--button=Cancel!/usr/share/click-radio/icons/cancel.svg:"/usr/bin/click-radio") 
if [ $? = 3 ]; then
$(yad --width=475 --height=100 --center --fixed \
--text="\nNo favorite file was removed from previous list.\nYou must select the file again to confirm removal.\n" \
--window-icon=/usr/share/click-radio/icons/click-radio.png \
--image=/usr/share/click-radio/icons/click-radio.png \
--title='Favorites' \
--button="OK"!/usr/share/click-radio/icons/ok.svg)
dlist(){
while read data; do
echo "$data" | sed 's/&/&amp;/g' 
done | tee >(lisT)
}
function lisT(){
SELECT=$(yad \
--title="Click Radio" \
--window-icon=/usr/share/click-radio/icons/click-radio.png \
--width=550 --height=375 --center --on-top \
--list --column="Remove Favorite Item" --grid-lines=hor --text="<span font_desc='Sans Bold Italic 10' foreground='#BE7F00'>Confirming Removal Favorite Item</span>" \
--button="Remove"!/usr/share/click-radio/icons/cancel.svg:0 \
--button="Cancel"!/usr/share/click-radio/icons/ok.svg:1) 
if [ $? = "1" ]; then
pkill -f mpv
pkill -f "Click Radio"
$CONF/favlist-info &
/usr/bin/click-radio
fi
if ! grep -q '[^[:space:]]' "$CONF/.tmp"; then
  $(yad --width=425 --height=100 --center --fixed \
--text="\nNo file was selected from the favorites list!\nSelect file and remove from the list\n" \
--window-icon=$EICON \
--image=$EICON \
--title='Error' \
--button="Cancel"!/usr/share/click-radio/icons/cancel.svg:1 \
--button="Ok"!/usr/share/click-radio/icons/ok.svg:0) 
if [ $? = 1 ]; then
pkill -mpv
pkill -f "Click Radio" 
$CONF/favlist-info &
/usr/bin/click-radio
else
pkill -f "Click Radio"
$CONF/favlist-info &
/usr/bin/click-radio
fi
 fi 
echo "$SELECT"|sed 's/[|].*//' > "$CONF"/.delete 
sleep 0.50
DEL=$(cat $CONF/.delete) 
echo "$SELECT"|sed 's/[|].*//' > "$CONF"/.delete
DEL=$(cat $CONF/.delete)  
python3 /usr/share/click-radio/menu/notify/fav_remove.py
rm -f "$FDIR/$DEL"
$CONF/favlist-info
/usr/share/click-radio/menu/app/kill &
pkill -f favlist-info &
/usr/bin/click-radio
exit 0
}
find "$FDIR" -type f \( -name "*.pls" -o -name "*.m3u" \)| sort |awk -F'/' '{print $NF}'| dlist | awk 'NR % 3 == 0;fflush()'  > /dev/null 2>&1 
 fi | 
if [ $? = 2 ]; then
FILENAME=$(yad \
--title="Click Radio" \
--window-icon=/usr/share/click-radio/icons/click-radio.png \
--on-top --center --title "Select (pls,m3u) audio files to add to favorites stream" \
--file-selection --filename=/home/"$USERS"/Downloads --file-filter='Audio (pls, m3u) | *.pls  *.m3u' \
--width=700 --height=450 --center \
--button="Cancel"!/usr/share/click-radio/icons/cancel.svg:"4" \
--button="Ok"!/usr/share/click-radio/icons/ok.svg:0)
if [ $? = 4 ]; then
/usr/share/click-radio/menu/app/killslist
else
ADD=$(echo "$FILENAME" | sed 's/[|].*//' | awk 'NR==1{print $0}') 
cp -f "$ADD" "$FDIR" 
sleep 0.50
"$CONF"/favlist-info
fi
 fi
if [ $? = 0 ]; then
echo "$SELECT" | sed 's/[|].*//'| sed 's/amp;/&/' | sed 's/amp;//g'| sed "s/[.].*//" | awk 'NR==1{print $0}' > $CONF/sfplay
echo "$SELECT" | sed 's/[|].*//'| sed 's/amp;/&/' | sed 's/amp;//g' | awk 'NR==1{print $0}' > $CONF/.tmp
/usr/share/click-radio/menu/app/kill &
play=$(cat $CONF/.tmp | awk 'NR==1{print $0}')
sleep 0.50
$PLAYR --audio-display=no --loop "$FDIR"/"$play" > $CONF/.tmp & 
python3 /usr/share/click-radio/menu/notify/menu/"Click Radio" 2>&1 &
/usr/share/click-radio/menu/app/PLS
fi 
}
if ! test -d "$FDIR" 2>/dev/null; then 
$(yad --width=450 --height=100 --center --fixed \
--text="\nNo streaming files for the streaming menu!\nFiles are missing in config folder." \
--window-icon=$EICON \
--image=$EICON \
--title='Error' \
--button="Cancel"!/usr/share/click-radio/icons/cancel.svg:1)
exit 0
else
find "$FDIR" -type f \( -name "*.pls" -o -name "*.m3u" \)| sort |awk -F'/' '{print $NF}'| favlist | awk 'NR % 3 == 0;fflush()'  > /dev/null 2>&1 
fi

