♻️ Copy session-handling code to FreenetRequest
[Sone.git] / src / main / kotlin / net / pterodactylus / sone / web / page / PageToadletFactory.kt
index 48ea39f..7a552db 100644 (file)
 
 package net.pterodactylus.sone.web.page
 
 
 package net.pterodactylus.sone.web.page
 
-import freenet.client.HighLevelSimpleClient
-import net.pterodactylus.util.web.Page
+import freenet.client.*
+import freenet.clients.http.*
+import net.pterodactylus.util.web.*
 
 
-class PageToadletFactory(private val highLevelSimpleClient: HighLevelSimpleClient, private val pathPrefix: String) {
+class PageToadletFactory(private val highLevelSimpleClient: HighLevelSimpleClient, private val sessionManager: SessionManager, private val pathPrefix: String) {
 
        @JvmOverloads
        fun createPageToadlet(page: Page<FreenetRequest>, menuName: String? = null) =
 
        @JvmOverloads
        fun createPageToadlet(page: Page<FreenetRequest>, menuName: String? = null) =
-                       PageToadlet(highLevelSimpleClient, menuName, page, pathPrefix)
+                       PageToadlet(highLevelSimpleClient, sessionManager, menuName ?: page.menuName, page, pathPrefix)
 
 }
 
 }
+
+private val Page<*>.menuName get() = javaClass.getAnnotation(MenuName::class.java)?.value