Padding...

This commit is contained in:
Kgothatso Ngako committed 2026-03-30 03:16:33 +02:00
1 parent 1cc2c6a982
commit 43c4ac0b84
2 files changed
+74 -3

No files matched your search

@@ -7,18 +7,23 @@ import ac.aux.compose.ui.composable.widgets.feed.FeedListItem
import ac.aux.compose.ui.theme.AuxTheme import ac.aux.compose.ui.theme.AuxTheme
import ac.aux.compose.ui.view.model.FeedListViewModel import ac.aux.compose.ui.view.model.FeedListViewModel
import ac.aux.compose.ui.view.state.FeedListUIState import ac.aux.compose.ui.view.state.FeedListUIState
import androidx.compose.foundation.horizontalScroll
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.rememberScrollState
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.ArrowDropDown
import androidx.compose.material.icons.filled.Create import androidx.compose.material.icons.filled.Create
import androidx.compose.material.icons.filled.Person import androidx.compose.material.icons.filled.Person
import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.ExtendedFloatingActionButton import androidx.compose.material3.ExtendedFloatingActionButton
import androidx.compose.material3.FilterChip
import androidx.compose.material3.Icon import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
@@ -26,6 +31,7 @@ import androidx.compose.material3.MediumTopAppBar
import androidx.compose.material3.Scaffold import androidx.compose.material3.Scaffold
import androidx.compose.material3.Surface import androidx.compose.material3.Surface
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBar
import androidx.compose.material3.TopAppBarDefaults import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.material3.rememberTopAppBarState import androidx.compose.material3.rememberTopAppBarState
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
@@ -117,10 +123,69 @@ fun FeedScreen(
} }
is FeedListUIState.Loaded -> { is FeedListUIState.Loaded -> {
LazyColumn( LazyColumn(
modifier = Modifier.fillMaxWidth(), modifier = Modifier.fillMaxWidth().fillMaxSize(),
verticalArrangement = Arrangement.spacedBy(10.dp), verticalArrangement = Arrangement.spacedBy(5.dp),
horizontalAlignment = Alignment.CenterHorizontally horizontalAlignment = Alignment.CenterHorizontally
) { ) {
stickyHeader {
Surface() {
Row(
modifier = Modifier.fillMaxWidth().padding(10.dp)
.horizontalScroll(
rememberScrollState()
),
horizontalArrangement = Arrangement.spacedBy(10.dp)
){
FilterChip(
selected = true,
onClick = {},
label = {
Text("All")
}
)
FilterChip(
selected = false,
onClick = {},
label = {
Text("Kind")
Icon(
Icons.Default.ArrowDropDown,
contentDescription = "Author Filter"
)
}
)
FilterChip(
selected = false,
onClick = {},
label = {
Text("Author")
Icon(
Icons.Default.ArrowDropDown,
contentDescription = "Author Filter"
)
}
)
FilterChip(
selected = false,
onClick = {},
label = {
Text("Unread")
Icon(
Icons.Default.ArrowDropDown,
contentDescription = "Author Filter"
)
}
)
}
}
}
items( items(
items = feedListUIState.nostrEvents, items = feedListUIState.nostrEvents,
key = { e -> e.id } key = { e -> e.id }
@@ -147,7 +212,7 @@ private fun FeedScreenPreview() {
modifier = Modifier.padding(20.dp) modifier = Modifier.padding(20.dp)
) { ) {
FeedScreen( FeedScreen(
initialFeedListUIState = FeedListUIState.Loading, initialFeedListUIState = FeedListUIState.Loaded(emptyList()),
onNavigateToEvent = {}, onNavigateToEvent = {},
onNavigateToWriteNewNote = {}, onNavigateToWriteNewNote = {},
nostrRepository = NostrRepository.NO_OP_NOSTR_REPOSITORY nostrRepository = NostrRepository.NO_OP_NOSTR_REPOSITORY
@@ -1,8 +1,11 @@
package ac.aux.compose.ui.composable.widgets.feed package ac.aux.compose.ui.composable.widgets.feed
import ac.aux.compose.database.model.NostrEvent import ac.aux.compose.database.model.NostrEvent
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.ElevatedCard import androidx.compose.material3.ElevatedCard
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import com.vitorpamplona.quartz.nip01Core.core.Event import com.vitorpamplona.quartz.nip01Core.core.Event
@Composable @Composable
@@ -11,6 +14,9 @@ fun FeedListItem(
onNavigateToEvent: (NostrEvent) -> Unit onNavigateToEvent: (NostrEvent) -> Unit
) { ) {
ElevatedCard( ElevatedCard(
modifier = Modifier.padding(
horizontal = 10.dp
),
onClick = { onClick = {
onNavigateToEvent.invoke(nostrEvent) onNavigateToEvent.invoke(nostrEvent)
} }