Changed secondary color & reorganized welcome/home screen
This commit is contained in:
parent
8f92b6d195
commit
b980784b1f
@ -6,7 +6,7 @@ val primaryLight = Color(0xFF9FD1FF)
|
||||
val primary = Color(0xFF0070D8)
|
||||
val primaryDark = Color(0xFF014F97)
|
||||
val onPrimary = Color(0xFFFFFFFFF)
|
||||
val secondary = Color(0xFFAB02E9)
|
||||
val secondary = Color(0xFFe9c754)
|
||||
val mainText = Color(0xFF212934)
|
||||
val mainTextDark = Color(0xFFFFFFFF)
|
||||
val secondaryText = Color(0xFF595858)
|
||||
|
@ -20,6 +20,7 @@ import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import app.AppConstants
|
||||
import app.AppStateManager
|
||||
import app.extensions.dirName
|
||||
import app.extensions.dirPath
|
||||
import app.theme.primaryTextColor
|
||||
@ -60,6 +61,50 @@ fun WelcomePage(
|
||||
verticalAlignment = Alignment.Top,
|
||||
modifier = Modifier.align(BiasAlignment(0f, -0.5f))
|
||||
) {
|
||||
HomeButtons(
|
||||
newUpdate = newUpdate,
|
||||
tabViewModel = tabViewModel,
|
||||
onShowCloneView = {
|
||||
showCloneView = true
|
||||
}
|
||||
)
|
||||
|
||||
RecentRepositories(appStateManager, tabViewModel)
|
||||
}
|
||||
|
||||
Text(
|
||||
"Version ${AppConstants.APP_VERSION}",
|
||||
color = MaterialTheme.colors.primaryTextColor,
|
||||
fontSize = 12.sp,
|
||||
modifier = Modifier
|
||||
.align(Alignment.BottomEnd)
|
||||
.padding(bottom = 16.dp, end = 16.dp)
|
||||
)
|
||||
}
|
||||
|
||||
LaunchedEffect(showCloneView) {
|
||||
if (showCloneView) tabViewModel.cloneViewModel.reset() // Reset dialog before showing it
|
||||
}
|
||||
|
||||
|
||||
if (showCloneView) CloneDialog(
|
||||
tabViewModel.cloneViewModel,
|
||||
onClose = {
|
||||
showCloneView = false
|
||||
tabViewModel.cloneViewModel.reset()
|
||||
},
|
||||
onOpenRepository = { dir ->
|
||||
tabViewModel.openRepository(dir)
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun HomeButtons(
|
||||
newUpdate: Update?,
|
||||
tabViewModel: TabViewModel,
|
||||
onShowCloneView: () -> Unit,
|
||||
) {
|
||||
Column(
|
||||
modifier = Modifier.padding(end = 32.dp),
|
||||
) {
|
||||
@ -80,9 +125,7 @@ fun WelcomePage(
|
||||
modifier = Modifier.padding(bottom = 8.dp),
|
||||
title = "Clone a repository",
|
||||
painter = painterResource("download.svg"),
|
||||
onClick = {
|
||||
showCloneView = true
|
||||
}
|
||||
onClick = onShowCloneView
|
||||
)
|
||||
|
||||
ButtonTile(
|
||||
@ -120,30 +163,41 @@ fun WelcomePage(
|
||||
|
||||
if(newUpdate != null) {
|
||||
IconTextButton(
|
||||
title = "New update ${newUpdate?.appVersion} available ",
|
||||
title = "New update ${newUpdate.appVersion} available ",
|
||||
painter = painterResource("grade.svg"),
|
||||
iconColor = MaterialTheme.colors.secondary,
|
||||
onClick = {
|
||||
newUpdate?.downloadUrl?.let {
|
||||
Desktop.getDesktop().browse(URI(it))
|
||||
}
|
||||
Desktop.getDesktop().browse(URI(newUpdate.downloadUrl))
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun RecentRepositories(appStateManager: AppStateManager, tabViewModel: TabViewModel) {
|
||||
Column(
|
||||
modifier = Modifier
|
||||
.padding(start = 32.dp),
|
||||
) {
|
||||
val latestOpenedRepositoriesPaths = appStateManager.latestOpenedRepositoriesPaths
|
||||
Text(
|
||||
text = "Recent",
|
||||
fontSize = 18.sp,
|
||||
modifier = Modifier.padding(top = 48.dp, bottom = 8.dp),
|
||||
color = MaterialTheme.colors.primaryTextColor,
|
||||
)
|
||||
|
||||
if(latestOpenedRepositoriesPaths.isEmpty()) {
|
||||
Text(
|
||||
"Nothing to see here, open a repository first!",
|
||||
color = MaterialTheme.colors.secondaryTextColor,
|
||||
fontSize = 14.sp,
|
||||
modifier = Modifier.padding(top = 16.dp)
|
||||
)
|
||||
} else {
|
||||
LazyColumn {
|
||||
items(items = appStateManager.latestOpenedRepositoriesPaths) { repo ->
|
||||
items(items = latestOpenedRepositoriesPaths) { repo ->
|
||||
val repoDirName = repo.dirName
|
||||
val repoDirPath = repo.dirPath
|
||||
|
||||
@ -173,32 +227,6 @@ fun WelcomePage(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Text(
|
||||
"Version ${AppConstants.APP_VERSION}",
|
||||
color = MaterialTheme.colors.primaryTextColor,
|
||||
fontSize = 12.sp,
|
||||
modifier = Modifier
|
||||
.align(Alignment.BottomEnd)
|
||||
.padding(bottom = 16.dp, end = 16.dp)
|
||||
)
|
||||
}
|
||||
|
||||
LaunchedEffect(showCloneView) {
|
||||
if (showCloneView) tabViewModel.cloneViewModel.reset() // Reset dialog before showing it
|
||||
}
|
||||
|
||||
|
||||
if (showCloneView) CloneDialog(
|
||||
tabViewModel.cloneViewModel,
|
||||
onClose = {
|
||||
showCloneView = false
|
||||
tabViewModel.cloneViewModel.reset()
|
||||
},
|
||||
onOpenRepository = { dir ->
|
||||
tabViewModel.openRepository(dir)
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
@Composable
|
||||
|
Loading…
Reference in New Issue
Block a user