(async () => {
    const apiClient = window.ApiClient;
    if (!apiClient) {
        console.error("ApiClient not found. Are you logged in?");
        return;
    }

    const userId = apiClient.getCurrentUserId();
    const serverAddress = apiClient.serverAddress();

    const maxDaysRecent = 30; // Test: Added in last 30 days
    
    // 1. Calculate the cutoff date
    const pastDate = new Date();
    pastDate.setDate(pastDate.getDate() - maxDaysRecent);
    const dateStr = pastDate.toISOString();

    console.log(`\n%c=== TEST: 2-Stufen "Zuletzt Hinzugefügt" Filter ===`, "color: #00a4dc; font-weight: bold; font-size: 14px;");
    console.log(`Suche Items neuer als: ${dateStr} (${maxDaysRecent} Tage alt)\n`);

    const apiUrl = `${serverAddress}/Items?IncludeItemTypes=Movie,Series&Recursive=true&enableUserData=true&Limit=50&fields=Id,DateCreated&userId=${userId}&minDateLastSaved=${dateStr}`;

    try {
        console.log(`%cSchritt 1: API Call mit minDateLastSaved...`, "color: yellow;");
        console.log(`URL: ${apiUrl}`);

        const response = await fetch(apiUrl, {
            headers: {
                Authorization: `MediaBrowser Client="${apiClient.appName()}", Device="${apiClient.deviceName()}", DeviceId="${apiClient.deviceId()}", Version="${apiClient.appVersion()}", Token="${apiClient.accessToken()}"`
            }
        });

        if (!response.ok) {
             throw new Error(`Failed to fetch items: ${response.status} ${response.statusText}`);
        }

        const data = await response.json();
        let items = data.Items || [];
        
        console.log(`-> API lieferte ${items.length} potenziell neue/geänderte Items zurück.\n`);
        if (items.length > 0) {
            console.log("Die API hielt diese Items für neu/aktuell:");
            items.forEach(item => console.log(`  - ${item.Name} (DateCreated: ${item.DateCreated})`));
        }

        console.log(`\n%cSchritt 2: Lokaler DateCreated Filter (Wie das Plugin ihn jetzt nutzt)...`, "color: yellow;");
        
        // Exakt dieser Filter-Block ist jetzt auch so in mediaBarEnhanced.js
        const finalItems = items.filter(item => {
            if (!item.DateCreated) return true; // Fallback falls Jellyfin kein Datum schickt
            const dCreated = new Date(item.DateCreated);
            return dCreated >= pastDate;
        });

        console.log(`%c-> FINALES ERGEBNIS: ${finalItems.length} echte Neuzugänge bleiben übrig!`, "color: #00ff00; font-weight: bold; font-size: 14px;");
        
        if(finalItems.length > 0) {
            console.log("Diese Items schaffen es in die Slideshow:");
            finalItems.forEach(item => {
                console.log(`  🎬 Name: ${item.Name}, DateCreated: ${item.DateCreated}`);
            });
        }
        
        // Teste den Fallback
        if(finalItems.length === 0 && items.length > 0) {
            console.log("\n%c💡 HINWEIS: Da nach Filterung 0 Items übrig bleiben, greift in der Slideshow jetzt automatisch unser Fallback und zeigt zufällige Filme aller Jahre!", "color: orange;");
        }

    } catch (error) {
        console.error("Fehler beim Abruf:", error);
    }
})();
