#!/bin/bash

# Load the configuration variables
. /etc/minios/config

# Define the FIREFOX_BRANDING paths
FIREFOX_BRANDING_PATHS=(
    "/usr/share/firefox-esr/browser/defaults/preferences/firefox-branding.js"
    "/etc/firefox/syspref.js"
    "/etc/firefox-esr/syspref.js"
)

# Apply settings to each file if it exists
for FIREFOX_BRANDING in "${FIREFOX_BRANDING_PATHS[@]}"; do
    if [ -f "$FIREFOX_BRANDING" ]; then
        # If no backup exists for the FIREFOX_BRANDING file and 'minios' is not found within its content, create a backup and apply necessary changes
        if [ ! -f "${FIREFOX_BRANDING}.bak" ] && ! grep -q minios "${FIREFOX_BRANDING}"; then
            cp "${FIREFOX_BRANDING}" "${FIREFOX_BRANDING}.bak"
            echo "Backup for ${FIREFOX_BRANDING} created."

            # Apply preferred settings (PREF) depending on the chosen desktop environment.
            if [[ "${DESKTOP_ENVIRONMENT}" == *"flux"* ]]; then
                PREF='pref("general.smoothScroll", false);
                pref("browser.uidensity", 1);
                pref("browser.newtabpage.activity-stream.feeds.topsites", false);
                pref("browser.toolbars.bookmarks.visibility", "never");'
            else
                PREF='pref("browser.tabs.drawInTitlebar", true);
                pref("general.smoothScroll", false);
                pref("browser.compactmode.show", true);
                pref("browser.uidensity", 1);
                pref("browser.tabs.inTitlebar", 1);
                pref("browser.newtabpage.activity-stream.feeds.topsites", false);
                pref("browser.toolbars.bookmarks.visibility", "never");'
            fi

            echo 'pref("startup.homepage_welcome_url", "file:///usr/share/minios/html/index.html");' >>"${FIREFOX_BRANDING}"
            echo "${PREF}" >>"${FIREFOX_BRANDING}"
            echo "Changes applied to ${FIREFOX_BRANDING}."

        # If a backup for FIREFOX_BRANDING exists and the original file is missing, remove the backup
        elif [ -f "${FIREFOX_BRANDING}.bak" ] && [ ! -f "${FIREFOX_BRANDING}" ]; then
            rm "${FIREFOX_BRANDING}.bak"
            echo "Backup for ${FIREFOX_BRANDING} removed."
        fi
    fi
done

exit 0
