Changed commited and uncommited changes to use new design

This commit is contained in:
Abdelilah El Aissaoui 2021-11-26 05:24:14 +01:00
parent 317947cee7
commit b394d9f33b
2 changed files with 143 additions and 137 deletions

View File

@ -33,6 +33,7 @@ import androidx.compose.ui.graphics.toComposeImageBitmap
import app.ui.components.ScrollableLazyColumn import app.ui.components.ScrollableLazyColumn
import app.git.GitManager import app.git.GitManager
import app.theme.headerText import app.theme.headerText
import org.eclipse.jgit.lib.PersonIdent
import org.jetbrains.skia.Image.Companion.makeFromEncoded import org.jetbrains.skia.Image.Companion.makeFromEncoded
@Composable @Composable
@ -48,26 +49,22 @@ fun CommitChanges(
Column( Column(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize(),
.background(MaterialTheme.colors.background),
) {
Column(
modifier = Modifier
.fillMaxWidth(),
) { ) {
val scroll = rememberScrollState(0) val scroll = rememberScrollState(0)
Card(
Column(
modifier = Modifier modifier = Modifier
.padding(8.dp)
.fillMaxWidth() .fillMaxWidth()
.padding(8.dp),
) { ) {
Column {
SelectionContainer { SelectionContainer {
Text( Text(
text = commit.fullMessage, text = commit.fullMessage,
fontSize = 14.sp, fontSize = 14.sp,
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
.background(MaterialTheme.colors.background)
.height(120.dp) .height(120.dp)
.padding(8.dp) .padding(8.dp)
.verticalScroll(scroll), .verticalScroll(scroll),
@ -76,69 +73,16 @@ fun CommitChanges(
Divider(modifier = Modifier.fillMaxWidth()) Divider(modifier = Modifier.fillMaxWidth())
Row( Author(commit.authorIdent)
modifier = Modifier }
.fillMaxWidth()
.height(72.dp),
verticalAlignment = Alignment.CenterVertically
) {
val url = "https://www.gravatar.com/avatar/${commit.authorIdent.emailAddress.md5}"
Image(
bitmap = rememberNetworkImage(url),
modifier = Modifier
.padding(horizontal = 16.dp)
.height(40.dp)
.clip(CircleShape),
contentDescription = null,
)
Column( Column(
modifier = Modifier
.fillMaxSize(),
verticalArrangement = Arrangement.Center
) {
Row {
Text(
text = commit.authorIdent.name,
color = MaterialTheme.colors.primaryTextColor,
maxLines = 1,
fontSize = 14.sp,
)
Spacer(modifier = Modifier.weight(1f, fill = true))
val date = remember(commit) {
commit.authorIdent.`when`.toSmartSystemString()
}
Text(
text = date,
color = MaterialTheme.colors.secondaryTextColor,
maxLines = 1,
modifier = Modifier.padding(horizontal = 16.dp),
fontSize = 12.sp,
)
}
Text(
text = commit.authorIdent.emailAddress,
color = MaterialTheme.colors.secondaryTextColor,
maxLines = 1,
fontSize = 12.sp,
)
}
}
}
}
}
Card(
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
.weight(1f, fill = true) .weight(1f, fill = true)
.padding(horizontal = 8.dp, vertical = 8.dp) .padding(horizontal = 8.dp, vertical = 8.dp)
.background(MaterialTheme.colors.background)
) { ) {
Column {
Text( Text(
modifier = Modifier modifier = Modifier
.background(MaterialTheme.colors.headerBackground) .background(MaterialTheme.colors.headerBackground)
@ -156,7 +100,65 @@ fun CommitChanges(
CommitLogChanges(diff, onDiffSelected = onDiffSelected) CommitLogChanges(diff, onDiffSelected = onDiffSelected)
} }
} }
}
@Composable
fun Author(authorIdent: PersonIdent?) {
if(authorIdent == null)
return
Row(
modifier = Modifier
.fillMaxWidth()
.height(72.dp)
.background(MaterialTheme.colors.background),
verticalAlignment = Alignment.CenterVertically
) {
val url = "https://www.gravatar.com/avatar/${authorIdent.emailAddress.md5}"
Image(
bitmap = rememberNetworkImage(url),
modifier = Modifier
.padding(horizontal = 16.dp)
.height(40.dp)
.clip(CircleShape),
contentDescription = null,
)
Column(
modifier = Modifier
.fillMaxSize(),
verticalArrangement = Arrangement.Center
) {
Row {
Text(
text = authorIdent.name,
color = MaterialTheme.colors.primaryTextColor,
maxLines = 1,
fontSize = 14.sp,
)
Spacer(modifier = Modifier.weight(1f, fill = true))
val date = remember(authorIdent) {
authorIdent.`when`.toSmartSystemString()
}
Text(
text = date,
color = MaterialTheme.colors.secondaryTextColor,
maxLines = 1,
modifier = Modifier.padding(horizontal = 16.dp),
fontSize = 12.sp,
)
}
Text(
text = authorIdent.emailAddress,
color = MaterialTheme.colors.secondaryTextColor,
maxLines = 1,
fontSize = 12.sp,
)
}
} }
} }

View File

@ -9,11 +9,13 @@ import androidx.compose.animation.fadeOut
import androidx.compose.foundation.* import androidx.compose.foundation.*
import androidx.compose.foundation.layout.* import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.foundation.lazy.itemsIndexed
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.* import androidx.compose.material.*
import androidx.compose.runtime.* import androidx.compose.runtime.*
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.RectangleShape import androidx.compose.ui.graphics.RectangleShape
import androidx.compose.ui.input.pointer.pointerMoveFilter import androidx.compose.ui.input.pointer.pointerMoveFilter
@ -127,7 +129,7 @@ fun UncommitedChanges(
value = commitMessage, value = commitMessage,
onValueChange = { commitMessage = it }, onValueChange = { commitMessage = it },
label = { Text("Write your commit message here", fontSize = 14.sp) }, label = { Text("Write your commit message here", fontSize = 14.sp) },
colors = TextFieldDefaults.textFieldColors(backgroundColor = MaterialTheme.colors.surface), colors = TextFieldDefaults.textFieldColors(backgroundColor = MaterialTheme.colors.background),
textStyle = TextStyle.Default.copy(fontSize = 14.sp) textStyle = TextStyle.Default.copy(fontSize = 14.sp)
) )
@ -166,11 +168,9 @@ private fun EntriesList(
onAllAction: () -> Unit, onAllAction: () -> Unit,
allActionTitle: String, allActionTitle: String,
) { ) {
Column(
Card(
modifier = modifier modifier = modifier
) { ) {
Column {
Box { Box {
Text( Text(
modifier = Modifier modifier = Modifier
@ -185,21 +185,28 @@ private fun EntriesList(
maxLines = 1, maxLines = 1,
) )
Button( Box(
onClick = onAllAction,
modifier = Modifier modifier = Modifier
.padding(horizontal = 16.dp) .padding(horizontal = 16.dp)
.align(Alignment.CenterEnd), .align(Alignment.CenterEnd)
elevation = ButtonDefaults.elevation(0.dp, 0.dp, 0.dp), .clip(RoundedCornerShape(5.dp))
colors = ButtonDefaults.buttonColors(backgroundColor = actionColor) .background(actionColor)
.clickable { onAllAction() },
) { ) {
Text(allActionTitle, fontSize = 10.sp) Text(
text = allActionTitle,
fontSize = 12.sp,
color = MaterialTheme.colors.contentColorFor(actionColor),
modifier = Modifier.padding(vertical = 4.dp, horizontal = 16.dp)
)
} }
} }
ScrollableLazyColumn( ScrollableLazyColumn(
modifier = Modifier.fillMaxSize(), modifier = Modifier
.fillMaxSize()
.background(MaterialTheme.colors.background),
) { ) {
itemsIndexed(diffEntries) { index, diffEntry -> itemsIndexed(diffEntries) { index, diffEntry ->
FileEntry( FileEntry(
@ -220,9 +227,6 @@ private fun EntriesList(
if (index < diffEntries.size - 1) { if (index < diffEntries.size - 1) {
Divider(modifier = Modifier.fillMaxWidth()) Divider(modifier = Modifier.fillMaxWidth())
} }
}
} }
} }
} }