*/
@MenuName("ImageBrowser")
@TemplatePath("/templates/imageBrowser.html")
+@ToadletPath("imageBrowser.html")
class ImageBrowserPage @Inject constructor(webInterface: WebInterface, loaders: Loaders, templateRenderer: TemplateRenderer) :
- LoggedInPage("imageBrowser.html", "Page.ImageBrowser.Title", webInterface, loaders, templateRenderer) {
+ LoggedInPage("Page.ImageBrowser.Title", webInterface, loaders, templateRenderer) {
override fun handleRequest(soneRequest: SoneRequest, currentSone: Sone, templateContext: TemplateContext) {
if ("album" in soneRequest.parameters) {
} else if (soneRequest.parameters["mode"] == "gallery") {
templateContext["galleryRequested"] = true
soneRequest.core.sones
- .map(Sone::getRootAlbum)
- .flatMap(Album::getAlbums)
- .flatMap { Album.FLATTENER.apply(it)!! }
+ .flatMap(Sone::allAlbums)
.filterNot(Album::isEmpty)
.sortedBy(Album::getTitle)
.also { albums ->