Merge pull request #24 from msfjarvis/ui-improvements

This commit is contained in:
Harsh Shandilya 2020-09-25 02:35:05 +05:30 committed by GitHub
commit c300a85204
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,10 +1,12 @@
package dev.msfjarvis.lobsters.ui
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.Text
import androidx.compose.foundation.background
import androidx.compose.foundation.border
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.ConstraintLayout
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumnFor
@ -16,6 +18,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.ui.tooling.preview.Preview
import dev.msfjarvis.lobsters.model.LobstersPost
import dev.msfjarvis.lobsters.model.Submitter
@ -30,30 +33,39 @@ fun LazyItemScope.LobstersItem(
.fillParentMaxWidth()
.clickable(onClick = { onClick.invoke(post) }),
text = {
Column {
ConstraintLayout {
val (title, tags, submitter) = createRefs()
Text(
text = post.title,
color = Color(0xFF7395D9),
fontWeight = FontWeight.Bold,
modifier = Modifier.padding(top = 4.dp)
modifier = Modifier.padding(top = 4.dp).constrainAs(title) {
top.linkTo(parent.top)
start.linkTo(parent.start)
}
)
Row(
modifier = Modifier.padding(vertical = 8.dp),
modifier = Modifier.padding(vertical = 8.dp).constrainAs(tags) {
top.linkTo(title.bottom)
},
horizontalArrangement = Arrangement.spacedBy(8.dp),
) {
post.tags.forEach { tag ->
Text(
text = tag,
modifier = Modifier
.border(BorderStroke(1.dp, Color.Gray))
.background(Color(0xFFFFFCD7), RoundedCornerShape(4.dp))
.padding(4.dp),
.padding(vertical = 2.dp, horizontal = 4.dp),
color = Color.DarkGray,
)
}
}
Text(
text = "submitted by ${post.submitterUser.username}",
modifier = Modifier.padding(bottom = 4.dp),
modifier = Modifier.padding(bottom = 4.dp).constrainAs(submitter) {
top.linkTo(tags.bottom)
},
)
}
}
@ -61,6 +73,7 @@ fun LazyItemScope.LobstersItem(
}
@Composable
@Preview
fun PreviewLobstersItem() {
val post = LobstersPost(
"zqyydb",