mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-15 15:47:03 +05:30
desktop: use Aurora styling
This commit is contained in:
parent
5e9bdd2a1b
commit
be848532ea
1 changed files with 35 additions and 18 deletions
|
@ -1,33 +1,50 @@
|
||||||
import androidx.compose.foundation.VerticalScrollbar
|
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
|
||||||
import androidx.compose.foundation.layout.fillMaxHeight
|
import androidx.compose.foundation.layout.fillMaxHeight
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.rememberScrollState
|
import androidx.compose.foundation.lazy.LazyColumn
|
||||||
|
import androidx.compose.foundation.lazy.itemsIndexed
|
||||||
|
import androidx.compose.foundation.lazy.rememberLazyListState
|
||||||
import androidx.compose.foundation.rememberScrollbarAdapter
|
import androidx.compose.foundation.rememberScrollbarAdapter
|
||||||
import androidx.compose.foundation.verticalScroll
|
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.window.singleWindowApplication
|
import androidx.compose.ui.window.WindowPlacement
|
||||||
|
import androidx.compose.ui.window.WindowPosition
|
||||||
|
import androidx.compose.ui.window.application
|
||||||
|
import androidx.compose.ui.window.rememberWindowState
|
||||||
import dev.msfjarvis.claw.common.posts.LobstersCard
|
import dev.msfjarvis.claw.common.posts.LobstersCard
|
||||||
import dev.msfjarvis.claw.common.posts.TEST_POST
|
import dev.msfjarvis.claw.common.posts.TEST_POST
|
||||||
import dev.msfjarvis.claw.common.theme.LobstersTheme
|
import dev.msfjarvis.claw.common.theme.LobstersTheme
|
||||||
import dev.msfjarvis.claw.common.urllauncher.UrlLauncher
|
import dev.msfjarvis.claw.common.urllauncher.UrlLauncher
|
||||||
|
import org.pushingpixels.aurora.component.AuroraVerticalScrollbar
|
||||||
|
import org.pushingpixels.aurora.skin.ceruleanSkin
|
||||||
|
import org.pushingpixels.aurora.window.AuroraWindow
|
||||||
|
|
||||||
fun main() = singleWindowApplication {
|
fun main() = application {
|
||||||
val urlLauncher = UrlLauncher()
|
val urlLauncher = UrlLauncher()
|
||||||
|
val state =
|
||||||
|
rememberWindowState(
|
||||||
|
placement = WindowPlacement.Floating,
|
||||||
|
position = WindowPosition.Aligned(Alignment.Center),
|
||||||
|
)
|
||||||
|
val itemsList = (0 until 10).toList()
|
||||||
|
AuroraWindow(
|
||||||
|
skin = ceruleanSkin(),
|
||||||
|
title = "Claw",
|
||||||
|
state = state,
|
||||||
|
undecorated = true,
|
||||||
|
onCloseRequest = ::exitApplication,
|
||||||
|
) {
|
||||||
LobstersTheme(darkTheme = false) {
|
LobstersTheme(darkTheme = false) {
|
||||||
Box(
|
Box(
|
||||||
modifier = Modifier.fillMaxSize(),
|
modifier = Modifier.fillMaxSize(),
|
||||||
) {
|
) {
|
||||||
val stateVertical = rememberScrollState(0)
|
val listState = rememberLazyListState()
|
||||||
Box(
|
LazyColumn(
|
||||||
modifier = Modifier.fillMaxSize().verticalScroll(stateVertical),
|
state = listState,
|
||||||
) {
|
) {
|
||||||
Column {
|
itemsIndexed(itemsList) { _, _ ->
|
||||||
repeat(10) {
|
|
||||||
LobstersCard(
|
LobstersCard(
|
||||||
post = TEST_POST,
|
post = TEST_POST,
|
||||||
isSaved = false,
|
isSaved = false,
|
||||||
|
@ -38,11 +55,11 @@ fun main() = singleWindowApplication {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
AuroraVerticalScrollbar(
|
||||||
VerticalScrollbar(
|
adapter = rememberScrollbarAdapter(listState),
|
||||||
modifier = Modifier.align(Alignment.CenterEnd).fillMaxHeight(),
|
modifier = Modifier.align(Alignment.CenterEnd).fillMaxHeight(),
|
||||||
adapter = rememberScrollbarAdapter(stateVertical),
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue