#!/bin/bash
CONF="$HOME/.config/clickradio"
SDIR="$HOME/.config/clickradio/slist"
PLAYR="/usr/bin/mpv"
EICON='/usr/share/click-radio/icons/error.svg'
FDIR="$HOME/.config/clickradio/favs"
DEL="$HOME/.config/clickradio/delete"

if [ ! -d "$FDIR" ]; then
mkdir -p "$FDIR"
fi
slist(){
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-radio16.png" \
--width=550 --height=375 --center --on-top \
--list --column="Streaming Menu" --grid-lines=hor --text="<span font_desc='Sans Bold Italic 10' foreground='#BE7F00'>Double Click To Play Menu Items</span>" \
--button="Delete"!/usr/share/click-radio/icons/error.png:4 \
--button="Add Favorites"!/usr/share/click-radio/icons/playlist.svg:2 \
--button=Cancel!/usr/share/click-radio/icons/cancel.svg:"/usr/share/click-radio/menu/app/killslist")
if [ $? = 2 ]; then
rm -f $CONF/.fav
echo "$SELECT" | sed 's/[|].*//' | awk 'NR==1{print $0}' > $CONF/.fav
CP=$(echo "$SELECT" | sed 's/[|].*//' | awk 'NR==1{print $0}')
cp -f "$SDIR"/"$CP" "$FDIR"
sleep 1
if [[ -z $(grep '[^[:space:]]' "$CONF"/.fav) ]] ; then
/usr/share/click-radio/menu/app/killslist
exit 0
fi
python3 /usr/share/click-radio/menu/notify/fav_add.py &
/usr/share/click-radio/menu/app/slist-info
fi |
if [ $? = 4 ]; then
touch "$CONF"/.delete
echo "$SELECT"|sed 's/[|].*//' > "$CONF"/.delete
DEL=$(cat $CONF/.delete)
if [[ -z $(grep '[^[:space:]]' "$CONF"/.delete) ]] ; then
/usr/share/click-radio/menu/app/killslist
fi |
 $(yad --width=450 --height=100 --center --fixed \
--text="\n<b>Removing the selected default stream from list</b>\nThe file <span color=\"#BE7F00\"><b>$DEL</b></span> will be deleted!\n\nIf no file is shown, no file will be removed from list.\n" \
--window-icon=$EICON \
--image=$EICON \
--title='Removal Warning' \
--button="Delete"!/usr/share/click-radio/icons/ok.svg:6 \
--button="Cancel"!/usr/share/click-radio/icons/cancel.svg:0)
if [ $? = "6" ]; then
rm -f "$SDIR"/"$DEL"
/usr/share/click-radio/menu/app/slist-info
exit
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
/usr/share/click-radio/menu/app/PLS &
$PLAYR --audio-display=no --quiet --loop "$SDIR"/"$play" > $CONF/.tmp &
python3 /usr/share/click-radio/menu/wayland/menu/"Click Radio" 2>/dev/null
fi
}
if ! test -d "$SDIR" 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 "$SDIR" -type f \( -name "*.pls" -o -name "*.m3u" \)| sort |awk -F'/' '{print $NF}'| slist | awk 'NR % 3 == 0;fflush()'  > /dev/null 2>&1
fi


