Current branch now uses bold fontWeight
This commit is contained in:
parent
9a76d13483
commit
e3a2b0b31a
@ -1,39 +1,29 @@
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.border
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.lazy.itemsIndexed
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.material.*
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.Build
|
||||
import androidx.compose.material.icons.filled.MoreVert
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.collectAsState
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.ImageBitmap
|
||||
import androidx.compose.ui.graphics.asImageBitmap
|
||||
import androidx.compose.ui.graphics.painter.Painter
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.res.useResource
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.unit.dp
|
||||
import extensions.filePath
|
||||
import extensions.icon
|
||||
import extensions.toByteArray
|
||||
import extensions.simpleName
|
||||
import org.eclipse.jgit.lib.Ref
|
||||
import org.jetbrains.skija.Image
|
||||
import theme.headerBackground
|
||||
|
||||
@Composable
|
||||
fun Branches(gitManager: GitManager) {
|
||||
val branches by gitManager.branches.collectAsState()
|
||||
val currentBranch by gitManager.currentBranch.collectAsState()
|
||||
|
||||
Card(
|
||||
modifier = Modifier
|
||||
@ -58,6 +48,7 @@ fun Branches(gitManager: GitManager) {
|
||||
itemsIndexed(branches) { _, branch ->
|
||||
BranchRow(
|
||||
branch = branch,
|
||||
isCurrentBranch = currentBranch == branch.name
|
||||
)
|
||||
|
||||
}
|
||||
@ -67,7 +58,15 @@ fun Branches(gitManager: GitManager) {
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun BranchRow(branch: Ref) {
|
||||
private fun BranchRow(
|
||||
branch: Ref,
|
||||
isCurrentBranch: Boolean
|
||||
) {
|
||||
val fontWeight = if(isCurrentBranch)
|
||||
FontWeight.Bold
|
||||
else
|
||||
FontWeight.Normal
|
||||
|
||||
Row(
|
||||
modifier = Modifier
|
||||
.height(56.dp)
|
||||
@ -86,7 +85,8 @@ private fun BranchRow(branch: Ref) {
|
||||
)
|
||||
|
||||
Text(
|
||||
text = branch.name,
|
||||
text = branch.simpleName,
|
||||
fontWeight = fontWeight,
|
||||
modifier = Modifier.weight(1f, fill = true),
|
||||
maxLines = 1,
|
||||
overflow = TextOverflow.Ellipsis,
|
||||
|
@ -44,6 +44,9 @@ class GitManager {
|
||||
val branches: StateFlow<List<Ref>>
|
||||
get() = branchesManager.branches
|
||||
|
||||
val currentBranch: StateFlow<String>
|
||||
get() = branchesManager.currentBranch
|
||||
|
||||
val stashStatus: StateFlow<StashStatus>
|
||||
get() = stashManager.stashStatus
|
||||
|
||||
|
8
src/main/kotlin/extensions/RefExtensions.kt
Normal file
8
src/main/kotlin/extensions/RefExtensions.kt
Normal file
@ -0,0 +1,8 @@
|
||||
package extensions
|
||||
|
||||
import org.eclipse.jgit.lib.Ref
|
||||
|
||||
val Ref.simpleName: String
|
||||
get() {
|
||||
return this.name.split("/").last()
|
||||
}
|
@ -12,12 +12,21 @@ class BranchesManager {
|
||||
val branches: StateFlow<List<Ref>>
|
||||
get() = _branches
|
||||
|
||||
private val _currentBranch = MutableStateFlow<String>("")
|
||||
val currentBranch: StateFlow<String>
|
||||
get() = _currentBranch
|
||||
|
||||
suspend fun loadBranches(git: Git) = withContext(Dispatchers.IO) {
|
||||
val branchList = git
|
||||
.branchList()
|
||||
.call()
|
||||
|
||||
val branchName = git
|
||||
.repository
|
||||
.fullBranch
|
||||
|
||||
_branches.value = branchList
|
||||
_currentBranch.value = branchName
|
||||
}
|
||||
|
||||
suspend fun createBranch(git: Git, branchName: String) = withContext(Dispatchers.IO) {
|
||||
|
Loading…
Reference in New Issue
Block a user