// marker-display-utils.js
// Aufgabe: Liefert die grundlegende Logik zur Farbbestimmung und zum Icon-HTML für einzelne Marker, 
// basierend auf deren last_cleaned-Datum und Patenschaftsstatus. 
// Es sind reine Hilfsfunktionen für die visuelle Darstellung.

/**
 * Bestimmt den Farbcode und den Text für einen Stolperstein basierend auf dem letzten Reinigungsdatum.
 * @param {string|null} lastCleanedTimestamp Das letzte Reinigungsdatum als ISO-String oder null.
 * @returns {{colorCode: string, text: string}} Ein Objekt mit Farbcode (green, yellow, orange, red, gray) und Status-Text.
 */
export function getColorCodeAndText(lastCleanedTimestamp) {
    const now = new Date();
    let colorCode = "gray"; // Standardfarbe für unbekannt oder nicht gereinigt
    let text = "Unbekannt";

    if (lastCleanedTimestamp) {
        const lastCleaned = new Date(lastCleanedTimestamp);
        const diffTime = Math.abs(now - lastCleaned);
        const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));

        if (diffDays <= 30) {
            colorCode = "green";
            text = "im letzten Monat";
        } else if (diffDays <= 90) {
            colorCode = "yellow";
            text = "vor 2 bis 3 Monaten";
        } else if (diffDays <= 180) {
            colorCode = "orange";
            text = "vor 4 bis 6 Monaten";
        } else {
            colorCode = "red";
            text = "vor über 6 Monaten";
        }
    }
    return { colorCode, text };
}

/**
 * Generiert den HTML-String für das Marker-Icon.
 * Setzt den CSS-Style für das Stolperstein-Icon – abhängig davon, ob es einen Paten gibt (Schild) oder nicht (Dreieck).
 * @param {string} caretakerStatus Der Status des Paten (nicht leer, wenn ein Pate vorhanden ist).
 * @param {string} colorCode Der Farbcode (z.B. "green", "red", "gray").
 * @returns {string} Der HTML-String für das Icon.
 */
export function getMarkerIcon(caretakerStatus, colorCode) {
    let iconClass = "";

    if (caretakerStatus && caretakerStatus.trim() !== "") {
        iconClass = "fas fa-shield-alt"; // Schild für Steine mit Paten
    } else {
        iconClass = "fas fa-exclamation-triangle"; // Dreieck für Steine ohne Paten
    }

   // return `<i class="${iconClass}" style="font-size: 24px; color:${colorCode}; background: none; border: none;"></i>`;
 return `<i class="${iconClass} marker-fa-icon" style="color:${colorCode}; background: none; border: none;"></i>`;
}
