33 lines
1.1 KiB
Kotlin
33 lines
1.1 KiB
Kotlin
package dev.inmo.postssystem.features.content.text.client
|
|
|
|
import androidx.compose.runtime.*
|
|
import dev.inmo.jsuikit.modifiers.UIKitWidth
|
|
import dev.inmo.jsuikit.modifiers.include
|
|
import dev.inmo.postssystem.features.common.common.*
|
|
import dev.inmo.postssystem.features.content.client.ContentClientProvider
|
|
import dev.inmo.postssystem.features.content.common.Content
|
|
import dev.inmo.postssystem.features.content.text.common.TextContent
|
|
import org.jetbrains.compose.web.dom.TextArea
|
|
import org.w3c.dom.Text
|
|
|
|
val loadingClientModule = ModuleLoader {
|
|
singleWithRandomQualifier<ContentClientProvider> {
|
|
TextContentClientProvider
|
|
}
|
|
}.also {
|
|
AdditionalModules.addModule(it)
|
|
}
|
|
|
|
object TextContentClientProvider : ContentClientProvider {
|
|
override fun contentTypeNameForUser(): String = "Text"
|
|
|
|
override fun createNewContentRenderer(): ContentClientProvider.ContentRenderer {
|
|
return ContentClientProvider.ContentRenderer.default(TextContent("")) { state ->
|
|
TextArea(state.value.text) {
|
|
include(UIKitWidth.Expand)
|
|
onInput { state.value = TextContent(it.value) }
|
|
}
|
|
}
|
|
}
|
|
}
|