#!/bin/bash

### Localization ###
TEXTDOMAINDIR=/usr/share/locale
TEXTDOMAIN=ft10-templates

# Source variables and templates
FT10_LIBS=/usr/local/lib/ft10
. "$FT10_LIBS/ft10-variables.sh"
. "$FT10_LIBS/templates/jgmenu.template"
. "$FT10_LIBS/templates/tint2rc.template"

# Create tint2 folder if missing
TINT2_FOLDER="$HOME/.config/tint2"
[ ! -d "$TINT2_FOLDER" ] && mkdir -p "$TINT2_FOLDER"
# Make backup of old tint2 configuration
TINT2RC_FILE="$TINT2_FOLDER/tint2rc"
[ -r "$TINT2RC_FILE" ] && cp "$TINT2RC_FILE" "$TINT2_FOLDER/tint2rc.$(date +%+4Y-%m-%d-%H:%M:%S)"
# Create new tint2rc from template
tint2_menu_template


# Create jgmenu folder if it doesn't exist
JGMENU_FOLDER="$HOME/.config/jgmenu"
[ ! -d "$JGMENU_FOLDER" ] && mkdir -p "$JGMENU_FOLDER"
# Make backup of old jgmenu configuration
if [ -f "$JGMENU_FOLDER/jgmenurc" ] || [ -f "$JGMENU_FOLDER/prepend.csv" ] || \
 [ -f "$JGMENU_FOLDER/append.csv" ] || [ -f "$JGMENU_FOLDER/buttons.csv" ]; then
    BACKUP_FOLDER="$JGMENU_FOLDER/backup/$(date +%4Y%m%d%H%M%S)"
    mkdir -p "$BACKUP_FOLDER"
    [ -f "$JGMENU_FOLDER/jgmenurc" ]    && cp "$JGMENU_FOLDER/jgmenurc"    "$BACKUP_FOLDER/"
    [ -f "$JGMENU_FOLDER/prepend.csv" ] && cp "$JGMENU_FOLDER/prepend.csv" "$BACKUP_FOLDER/"
    [ -f "$JGMENU_FOLDER/append.csv" ]  && cp "$JGMENU_FOLDER/append.csv"  "$BACKUP_FOLDER/"
    [ -f "$JGMENU_FOLDER/buttons.csv" ] && cp "$JGMENU_FOLDER/buttons.csv" "$BACKUP_FOLDER/"
    [ -f "$JGMENU_FOLDER/tiles.csv" ]   && cp "$JGMENU_FOLDER/tiles.csv"   "$BACKUP_FOLDER/"
fi

# Create jgmenu files from templates
CATEGORY_LAYOUT="$FT10_LIBS/icons/category-layout.svg"
TILED_LAYOUT="$FT10_LIBS/icons/tiled-layout.svg"
CUSTOM_YAD_DIALOG=(
    --title="FT10 jgmenu option"
    --button="!$CATEGORY_LAYOUT!":0
    --button="!$TILED_LAYOUT!":2
    )

yad "${CUSTOM_YAD_DIALOG[@]}"
EXIT_CODE=$?

# Category layout selected
if [ $EXIT_CODE -eq 0 ]; then
    echo "Processing Category template"
    # Needed jgmenu configuration files
    jgmenu_category_template
    #~ # Optional (do not overwrite) <- May need to separate optional cases for the future
    #~ [ ! -f "$JGMENU_FOLDER/append.csv" ] && jgmenu_category_append
# Tiled layout selected
elif [ $EXIT_CODE -eq 2 ]; then
    echo "Processing TILED template"
    # Needed jgmenu configuration files
    jgmenu_tiled_template
    #~ # Optional (do not overwrite) <- May need to separate optional cases for the future
    #~ [ ! -f "$JGMENU_FOLDER/append.csv" ] && jgmenu_tiled_append
    #~ [ ! -f "$JGMENU_FOLDER/tiles.csv" ] && jgmenu_tiled_tiles
fi

# Create this file for future checks
touch $HOME/.config/tint2/ft10.conf
