*/
@MenuName("KnownSones")
@TemplatePath("/templates/knownSones.html")
+@ToadletPath("knownSones.html")
class KnownSonesPage @Inject constructor(webInterface: WebInterface, loaders: Loaders, templateRenderer: TemplateRenderer) :
- SoneTemplatePage("knownSones.html", webInterface, loaders, templateRenderer, pageTitleKey = "Page.KnownSones.Title") {
+ SoneTemplatePage(webInterface, loaders, templateRenderer, pageTitleKey = "Page.KnownSones.Title") {
override fun handleRequest(soneRequest: SoneRequest, templateContext: TemplateContext) {
getCurrentSone(soneRequest.toadletContext).let { currentSone ->
.filterNot { soneRequest.parameters["filter"] == "not-own" && it.isLocal }
.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
+ "images" -> imageCountComparator
+ "name" -> niceNameComparator.reversed()
+ "posts" -> postCountComparator
+ else -> lastActivityComparator
}.let { comparator ->
when (soneRequest.parameters["order"]) {
"asc" -> comparator.reversed()