Padding...
This commit is contained in:
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
|
||||||
|
|||||||
+6
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user