add SessionVideoApi

This commit is contained in:
2026-08-07 13:39:00 +03:00
parent b851cf5d6d
commit 23d9912449
10 changed files with 119 additions and 50 deletions
@@ -2,7 +2,9 @@ package ru.shadowsparky.http.domain
import io.ktor.http.HttpStatusCode
open class HttpException(val httpCode: Int, override val message: String?) : RuntimeException()
open class HttpException(val httpCode: Int, override val message: String?) : RuntimeException() {
constructor(code: HttpStatusCode) : this(code.value, code.description)
}
class BadRequestException(msg: String) : HttpException(HttpStatusCode.BadRequest.value, msg)
open class NotFoundException(msg: String) : HttpException(HttpStatusCode.NotFound.value, msg)
@@ -1,6 +1,7 @@
package ru.shadowsparky.ui.components
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
import androidx.compose.material3.ListItem
import androidx.compose.material3.ListItemDefaults
import androidx.compose.material3.MaterialTheme
@@ -10,16 +11,19 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.style.TextOverflow
@OptIn(ExperimentalMaterial3ExpressiveApi::class)
@Composable
fun TextPreference(
modifier: Modifier = Modifier,
text: String,
onClick: () -> Unit,
modifier: Modifier = Modifier,
summary: String? = null
) {
ListItem(
colors = ListItemDefaults.colors(Color.Transparent),
onClick = onClick,
modifier = modifier.fillMaxWidth(),
headlineContent = {
content = {
Text(
text,
maxLines = 1,