×
Einen neuen Artikel erstellen
Schreibe den Seitennamen hierhin:
Wir haben derzeit 9.055 Artikel auf Vaultpedia. Gib deinen Artikelnamen oberhalb von oder klicke auf einen der unten stehenden Titel und beginne zu schreiben! ein



    Vaultpedia
    9.055Artikel

    Modul:Fortschrittsbalken: Unterschied zwischen den Versionen

    Tritt unserem Discord bei und informiere dich auf unserem Twitter-Kanal über die aktuellsten Themen rund um Fallout!
    Huu.Psii (Diskussion | Beiträge)
    Keine Bearbeitungszusammenfassung
    Huu.Psii (Diskussion | Beiträge)
    Keine Bearbeitungszusammenfassung
    Zeile 32: Zeile 32:
             '<div style="width: 100%%; background-color: #282828; border-radius: 10px; overflow: hidden; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); margin: 12px auto;">' ..
             '<div style="width: 100%%; background-color: #282828; border-radius: 10px; overflow: hidden; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); margin: 12px auto;">' ..
             '<div style="width: %.2f%%; background: linear-gradient(90deg, %s, %s); color: #fff08c; text-align: center; padding: 7px 0; border-radius: 10px 0 0 10px; box-shadow: inset 0 -1px 1px rgba(0, 0, 0, 0.1);">' ..
             '<div style="width: %.2f%%; background: linear-gradient(90deg, %s, %s); color: #fff08c; text-align: center; padding: 7px 0; border-radius: 10px 0 0 10px; box-shadow: inset 0 -1px 1px rgba(0, 0, 0, 0.1);">' ..
             '%d / %d <span style="color: #fff;">Seiten</span> <span style="color: #fff;">(</span>%s%%<span style="color: #fff;">)</span></div></div>',
             '<span style="color: #fff;">%d / %d Seiten</span> (%s%%)</div></div>',
             prozent, colorStart, colorEnd, currentSeiten, maxSeiten, prozentFormatted
             prozent, colorStart, colorEnd, currentSeiten, maxSeiten, prozentFormatted
         )
         )

    Version vom 10. Juli 2024, 16:12 Uhr

    Die Dokumentation für dieses Modul kann unter Modul:Fortschrittsbalken/Doku erstellt werden

    local p = {}
    
    function p.fortschritt(frame)
        local args = frame:getParent().args
        local maxSeiten = tonumber(args[1])
        
        -- Sicherstellen, dass maxSeiten definiert und eine Zahl ist
        if not maxSeiten then
            return "Fehler: Bitte geben Sie die maximale Seitenanzahl an."
        end
    
        local categoryName = mw.title.getCurrentTitle().text -- Name der aktuellen Kategorie
        local cat = mw.site.stats.pagesInCategory(categoryName)
        local currentSeiten = tonumber(cat) or 0
        
        local prozent = (currentSeiten / maxSeiten) * 100
        if prozent > 100 then prozent = 100 end
        local prozentFormatted = string.format("%.2f", prozent)
    
        -- Farben für den Balken
        local colorStart, colorEnd
        if prozent == 100 then
            colorStart = "#3b9d3e"  -- Grün (Startfarbe)
            colorEnd = "#3b9d3e"    -- Grün (Endfarbe)
        else
            colorStart = "#004775"  -- Blau (Startfarbe)
            colorEnd = "#0072bd"    -- Blau (Endfarbe)
        end
    
        -- Fortschrittsbalken HTML
        local progressBar = string.format(
            '<div style="width: 100%%; background-color: #282828; border-radius: 10px; overflow: hidden; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); margin: 12px auto;">' ..
            '<div style="width: %.2f%%; background: linear-gradient(90deg, %s, %s); color: #fff08c; text-align: center; padding: 7px 0; border-radius: 10px 0 0 10px; box-shadow: inset 0 -1px 1px rgba(0, 0, 0, 0.1);">' ..
            '<span style="color: #fff;">%d / %d Seiten</span> (%s%%)</div></div>',
            prozent, colorStart, colorEnd, currentSeiten, maxSeiten, prozentFormatted
        )
        
        return progressBar
    end
    
    return p