package net.pterodactylus.sone.web.pages
-import net.pterodactylus.sone.data.Sone
+import net.pterodactylus.sone.data.*
import net.pterodactylus.sone.main.*
-import net.pterodactylus.sone.utils.paginate
-import net.pterodactylus.sone.utils.parameters
-import net.pterodactylus.sone.web.WebInterface
+import net.pterodactylus.sone.utils.*
+import net.pterodactylus.sone.web.*
import net.pterodactylus.sone.web.page.*
-import net.pterodactylus.util.template.TemplateContext
-import javax.inject.Inject
+import net.pterodactylus.util.template.*
+import javax.inject.*
/**
* This page shows all known Sones.
*/
@MenuName("KnownSones")
@TemplatePath("/templates/knownSones.html")
-class KnownSonesPage @Inject constructor(webInterface: WebInterface, loaders: Loaders, templateRenderer: TemplateRenderer):
- SoneTemplatePage("knownSones.html", webInterface, loaders, templateRenderer, pageTitleKey = "Page.KnownSones.Title") {
+@ToadletPath("knownSones.html")
+class KnownSonesPage @Inject constructor(webInterface: WebInterface, loaders: Loaders, templateRenderer: TemplateRenderer) :
+ SoneTemplatePage(webInterface, loaders, templateRenderer, pageTitleKey = "Page.KnownSones.Title") {
override fun handleRequest(soneRequest: SoneRequest, templateContext: TemplateContext) {
getCurrentSone(soneRequest.toadletContext).let { currentSone ->
.sortedWith(
when (soneRequest.parameters["sort"]) {
"images" -> Sone.IMAGE_COUNT_COMPARATOR
- "name" -> Sone.NICE_NAME_COMPARATOR.reversed()
- "posts" -> Sone.POST_COUNT_COMPARATOR
- else -> Sone.LAST_ACTIVITY_COMPARATOR
+ "name" -> niceNameComparator.reversed()
+ "posts" -> postCountComparator
+ else -> lastActivityComparator
}.let { comparator ->
when (soneRequest.parameters["order"]) {
"asc" -> comparator.reversed()