From 7b55ced78dfabe3c665d33fabf5190c89252306a Mon Sep 17 00:00:00 2001 From: Lanius Trolling Date: Sun, 6 Oct 2024 15:29:26 -0400 Subject: [PATCH] Make same-page fragment links easier --- src/jvmMain/kotlin/info/mechyrdia/auth/WebDav.kt | 14 +------------- .../kotlin/info/mechyrdia/data/ViewsUser.kt | 7 +------ .../kotlin/info/mechyrdia/lore/ParserHtml.kt | 2 +- src/jvmMain/kotlin/info/mechyrdia/lore/ViewOg.kt | 3 +-- .../kotlin/info/mechyrdia/robot/ViewsRobot.kt | 13 +------------ 5 files changed, 5 insertions(+), 34 deletions(-) diff --git a/src/jvmMain/kotlin/info/mechyrdia/auth/WebDav.kt b/src/jvmMain/kotlin/info/mechyrdia/auth/WebDav.kt index 9f91756..92c8d97 100644 --- a/src/jvmMain/kotlin/info/mechyrdia/auth/WebDav.kt +++ b/src/jvmMain/kotlin/info/mechyrdia/auth/WebDav.kt @@ -19,19 +19,7 @@ import info.mechyrdia.route.href import info.mechyrdia.route.installCsrfToken import io.ktor.server.application.ApplicationCall import kotlinx.coroutines.flow.toList -import kotlinx.html.FormMethod -import kotlinx.html.HTML -import kotlinx.html.div -import kotlinx.html.form -import kotlinx.html.h1 -import kotlinx.html.p -import kotlinx.html.style -import kotlinx.html.submitInput -import kotlinx.html.table -import kotlinx.html.td -import kotlinx.html.textInput -import kotlinx.html.th -import kotlinx.html.tr +import kotlinx.html.* import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable import java.time.Instant diff --git a/src/jvmMain/kotlin/info/mechyrdia/data/ViewsUser.kt b/src/jvmMain/kotlin/info/mechyrdia/data/ViewsUser.kt index 64c89d7..5f814e1 100644 --- a/src/jvmMain/kotlin/info/mechyrdia/data/ViewsUser.kt +++ b/src/jvmMain/kotlin/info/mechyrdia/data/ViewsUser.kt @@ -15,12 +15,7 @@ import io.ktor.server.application.ApplicationCall import io.ktor.server.sessions.get import io.ktor.server.sessions.sessions import kotlinx.coroutines.flow.toList -import kotlinx.html.HTML -import kotlinx.html.a -import kotlinx.html.h1 -import kotlinx.html.id -import kotlinx.html.p -import kotlinx.html.section +import kotlinx.html.* fun ApplicationCall.currentUserPage(): Nothing { val currNationId = sessions.get()?.nationId diff --git a/src/jvmMain/kotlin/info/mechyrdia/lore/ParserHtml.kt b/src/jvmMain/kotlin/info/mechyrdia/lore/ParserHtml.kt index 0f48b04..f5f6255 100644 --- a/src/jvmMain/kotlin/info/mechyrdia/lore/ParserHtml.kt +++ b/src/jvmMain/kotlin/info/mechyrdia/lore/ParserHtml.kt @@ -369,7 +369,7 @@ fun processTableCell(param: String?): Map { return width?.let { mapOf("colspan" to "$it") }.orEmpty() + height?.let { mapOf("rowspan" to "$it") }.orEmpty() } -fun String.toInternalUrl() = if (startsWith("/")) "/lore$this" else "./$this" +fun String.toInternalUrl() = if (startsWith("/")) "/lore$this" else if (startsWith("#")) this else "./$this" fun String.toExternalUrl() = if (startsWith("http:")) "https:${substring(5)}" else this fun processInternalLink(param: String?): Map = param diff --git a/src/jvmMain/kotlin/info/mechyrdia/lore/ViewOg.kt b/src/jvmMain/kotlin/info/mechyrdia/lore/ViewOg.kt index 9d880da..2e22be2 100644 --- a/src/jvmMain/kotlin/info/mechyrdia/lore/ViewOg.kt +++ b/src/jvmMain/kotlin/info/mechyrdia/lore/ViewOg.kt @@ -3,8 +3,7 @@ package info.mechyrdia.lore import info.mechyrdia.MainDomainName import io.ktor.server.application.ApplicationCall import io.ktor.server.request.path -import kotlinx.html.HEAD -import kotlinx.html.meta +import kotlinx.html.* import kotlinx.serialization.Serializable @Serializable diff --git a/src/jvmMain/kotlin/info/mechyrdia/robot/ViewsRobot.kt b/src/jvmMain/kotlin/info/mechyrdia/robot/ViewsRobot.kt index b6a2c08..4541e68 100644 --- a/src/jvmMain/kotlin/info/mechyrdia/robot/ViewsRobot.kt +++ b/src/jvmMain/kotlin/info/mechyrdia/robot/ViewsRobot.kt @@ -19,18 +19,7 @@ import io.ktor.websocket.Frame import io.ktor.websocket.WebSocketSession import io.ktor.websocket.close import io.ktor.websocket.readText -import kotlinx.html.FormMethod -import kotlinx.html.HTML -import kotlinx.html.b -import kotlinx.html.form -import kotlinx.html.h1 -import kotlinx.html.li -import kotlinx.html.main -import kotlinx.html.p -import kotlinx.html.section -import kotlinx.html.span -import kotlinx.html.submitInput -import kotlinx.html.ul +import kotlinx.html.* suspend fun ApplicationCall.robotPage(): HTML.() -> Unit { val nation = currentNation()?.id ?: redirectHrefWithError(Root.Auth.LoginPage(), error = "You must be logged in to use the NUKE") -- 2.25.1