X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Frhynodge%2Ffilters%2Fwebpages%2Fepicgames%2FFreeGamesState.kt;fp=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Frhynodge%2Ffilters%2Fwebpages%2Fepicgames%2FFreeGamesState.kt;h=47a78fd8bfdbbafc4a72348d8c01db8cf3723eaa;hb=593dff9452ddfd852786c98e86cec0c4b76fe160;hp=0000000000000000000000000000000000000000;hpb=f0824d2a3ad6713fed7a11d65535e9ec7a81a904;p=rhynodge.git diff --git a/src/main/kotlin/net/pterodactylus/rhynodge/filters/webpages/epicgames/FreeGamesState.kt b/src/main/kotlin/net/pterodactylus/rhynodge/filters/webpages/epicgames/FreeGamesState.kt new file mode 100644 index 0000000..47a78fd --- /dev/null +++ b/src/main/kotlin/net/pterodactylus/rhynodge/filters/webpages/epicgames/FreeGamesState.kt @@ -0,0 +1,67 @@ +package net.pterodactylus.rhynodge.filters.webpages.epicgames + +import kotlinx.html.body +import kotlinx.html.div +import kotlinx.html.dom.createHTMLDocument +import kotlinx.html.dom.serialize +import kotlinx.html.head +import kotlinx.html.html +import kotlinx.html.img +import kotlinx.html.style +import kotlinx.html.unsafe +import net.pterodactylus.rhynodge.states.AbstractState +import java.time.ZoneId +import java.util.Comparator.comparing + +class FreeGamesState(val games: Set, private val triggered: Boolean = false, private val timezone: ZoneId = ZoneId.systemDefault()) : AbstractState(true) { + + override fun plainText() = games + .sortedWith(comparing(FreeGame::startDate).thenBy(FreeGame::title)) + .joinToString("\n") { game -> + "${game.title}: ${"%tF % + div("game") { + div("game-image") { + img(src = game.imageUrl) + } + div("game-title") { + +game.title + } + div("game-start") { + +"%tF %