From d93e634a5c8f65d5a89347e317ea6f9a1720c845 Mon Sep 17 00:00:00 2001 From: Abdelilah El Aissaoui Date: Sun, 10 Jul 2022 16:04:03 +0200 Subject: [PATCH] Unified fonts styles --- build.gradle.kts | 2 +- src/main/kotlin/app/theme/Theme.kt | 2 +- src/main/kotlin/app/theme/Type.kt | 24 ------- src/main/kotlin/app/theme/Typography.kt | 60 ++++++++++++++++++ src/main/kotlin/app/ui/Blame.kt | 9 +-- src/main/kotlin/app/ui/Branches.kt | 2 +- src/main/kotlin/app/ui/CommitChanges.kt | 16 ++--- src/main/kotlin/app/ui/Diff.kt | 11 ++-- src/main/kotlin/app/ui/FileHistory.kt | 10 ++- src/main/kotlin/app/ui/Menu.kt | 6 +- src/main/kotlin/app/ui/RebaseInteractive.kt | 4 +- src/main/kotlin/app/ui/RepositoryOpen.kt | 3 +- src/main/kotlin/app/ui/UncommitedChanges.kt | 21 +++--- src/main/kotlin/app/ui/WelcomePage.kt | 22 +++---- .../components/AdjustableOutlinedTextField.kt | 2 +- .../app/ui/components/RepositoriesTabPanel.kt | 2 +- .../app/ui/components/SecondaryButton.kt | 3 +- .../kotlin/app/ui/components/SideMenuEntry.kt | 4 +- .../app/ui/components/SideMenuSubentry.kt | 2 +- .../app/ui/context_menu/DropDownContent.kt | 3 +- .../kotlin/app/ui/dialogs/AppInfoDialog.kt | 9 +-- .../kotlin/app/ui/dialogs/AuthorDialog.kt | 6 +- src/main/kotlin/app/ui/dialogs/CloneDialog.kt | 4 +- .../app/ui/dialogs/EditRemotesDialog.kt | 8 +-- .../kotlin/app/ui/dialogs/NewBranchDialog.kt | 9 ++- .../kotlin/app/ui/dialogs/NewTagDialog.kt | 9 ++- .../kotlin/app/ui/dialogs/PasswordDialog.kt | 9 ++- .../kotlin/app/ui/dialogs/SettingsDialog.kt | 15 +++-- .../app/ui/dialogs/StashWithMessageDialog.kt | 9 ++- .../app/ui/dialogs/UserPasswordDialog.kt | 19 ++++-- src/main/kotlin/app/ui/log/Log.kt | 25 ++++---- .../fonts/{ => OpenSans}/OpenSans-Bold.ttf | Bin .../{ => OpenSans}/OpenSans-BoldItalic.ttf | Bin .../fonts/{ => OpenSans}/OpenSans-Italic.ttf | Bin .../fonts/{ => OpenSans}/OpenSans-Medium.ttf | Bin .../{ => OpenSans}/OpenSans-MediumItalic.ttf | Bin .../fonts/{ => OpenSans}/OpenSans-Regular.ttf | Bin .../{ => OpenSans}/OpenSans-SemiBold.ttf | Bin .../OpenSans-SemiBoldItalic.ttf | Bin 39 files changed, 191 insertions(+), 139 deletions(-) delete mode 100644 src/main/kotlin/app/theme/Type.kt create mode 100644 src/main/kotlin/app/theme/Typography.kt rename src/main/resources/fonts/{ => OpenSans}/OpenSans-Bold.ttf (100%) rename src/main/resources/fonts/{ => OpenSans}/OpenSans-BoldItalic.ttf (100%) rename src/main/resources/fonts/{ => OpenSans}/OpenSans-Italic.ttf (100%) rename src/main/resources/fonts/{ => OpenSans}/OpenSans-Medium.ttf (100%) rename src/main/resources/fonts/{ => OpenSans}/OpenSans-MediumItalic.ttf (100%) rename src/main/resources/fonts/{ => OpenSans}/OpenSans-Regular.ttf (100%) rename src/main/resources/fonts/{ => OpenSans}/OpenSans-SemiBold.ttf (100%) rename src/main/resources/fonts/{ => OpenSans}/OpenSans-SemiBoldItalic.ttf (100%) diff --git a/build.gradle.kts b/build.gradle.kts index b597064..530ae25 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -27,7 +27,7 @@ dependencies { implementation(compose.desktop.currentOs) @OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class) implementation(compose.desktop.components.splitPane) - implementation("org.eclipse.jgit:org.eclipse.jgit:6.1.0.202203080745-r") + implementation("org.eclipse.jgit:org.eclipse.jgit:6.2.0.202206071550-r") implementation("org.apache.sshd:sshd-core:2.8.0") implementation("com.google.dagger:dagger:2.42") implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.3") diff --git a/src/main/kotlin/app/theme/Theme.kt b/src/main/kotlin/app/theme/Theme.kt index 0ed71e7..32cc7a6 100644 --- a/src/main/kotlin/app/theme/Theme.kt +++ b/src/main/kotlin/app/theme/Theme.kt @@ -29,7 +29,7 @@ fun AppTheme( MaterialTheme( colors = theme.toComposeColors(), content = content, - typography = typography, + typography = typography(), ) } diff --git a/src/main/kotlin/app/theme/Type.kt b/src/main/kotlin/app/theme/Type.kt deleted file mode 100644 index fe6c4c4..0000000 --- a/src/main/kotlin/app/theme/Type.kt +++ /dev/null @@ -1,24 +0,0 @@ -package app.theme - -import androidx.compose.material.Typography -import androidx.compose.ui.text.TextStyle -import androidx.compose.ui.text.font.FontFamily -import androidx.compose.ui.text.font.FontStyle -import androidx.compose.ui.text.font.FontWeight -import androidx.compose.ui.text.platform.Font -import androidx.compose.ui.unit.sp - -// Set of Material typography styles to start with -val fontFamily = FontFamily( - Font("fonts/OpenSans-Regular.ttf", FontWeight.Normal, FontStyle.Normal), - Font("fonts/OpenSans-Italic.ttf", FontWeight.Normal, FontStyle.Italic), - Font("fonts/OpenSans-Medium.ttf", FontWeight.Medium, FontStyle.Normal), - Font("fonts/OpenSans-MediumItalic.ttf", FontWeight.Medium, FontStyle.Italic), - Font("fonts/OpenSans-SemiBold.ttf", FontWeight.SemiBold, FontStyle.Normal), - Font("fonts/OpenSans-SemiBoldItalic.ttf", FontWeight.SemiBold, FontStyle.Italic), - Font("fonts/OpenSans-Bold.ttf", FontWeight.Bold, FontStyle.Normal), - Font("fonts/OpenSans-BoldItalic.ttf", FontWeight.Bold, FontStyle.Italic), -) -val typography = Typography( - defaultFontFamily = fontFamily -) \ No newline at end of file diff --git a/src/main/kotlin/app/theme/Typography.kt b/src/main/kotlin/app/theme/Typography.kt new file mode 100644 index 0000000..010c6cf --- /dev/null +++ b/src/main/kotlin/app/theme/Typography.kt @@ -0,0 +1,60 @@ +package app.theme + +import androidx.compose.material.MaterialTheme +import androidx.compose.material.Typography +import androidx.compose.runtime.Composable +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontFamily +import androidx.compose.ui.text.font.FontStyle +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.platform.Font +import androidx.compose.ui.unit.sp + +// Set of Material typography styles to start with +val openSansFontFamily = FontFamily( + Font("fonts/OpenSans/OpenSans-Regular.ttf", FontWeight.Normal, FontStyle.Normal), + Font("fonts/OpenSans/OpenSans-Italic.ttf", FontWeight.Normal, FontStyle.Italic), + Font("fonts/OpenSans/OpenSans-Medium.ttf", FontWeight.Medium, FontStyle.Normal), + Font("fonts/OpenSans/OpenSans-MediumItalic.ttf", FontWeight.Medium, FontStyle.Italic), + Font("fonts/OpenSans/OpenSans-SemiBold.ttf", FontWeight.SemiBold, FontStyle.Normal), + Font("fonts/OpenSans/OpenSans-SemiBoldItalic.ttf", FontWeight.SemiBold, FontStyle.Italic), + Font("fonts/OpenSans/OpenSans-Bold.ttf", FontWeight.Bold, FontStyle.Normal), + Font("fonts/OpenSans/OpenSans-BoldItalic.ttf", FontWeight.Bold, FontStyle.Italic), +) + +const val LETTER_SPACING = 0.5 + +@Composable +fun typography() = Typography( + defaultFontFamily = openSansFontFamily, + h1 = TextStyle( + fontSize = 32.sp, + color = MaterialTheme.colors.primaryTextColor, + letterSpacing = LETTER_SPACING.sp, + ), + h2 = TextStyle( + fontSize = 24.sp, + color = MaterialTheme.colors.primaryTextColor, + letterSpacing = LETTER_SPACING.sp, + ), + h3 = TextStyle( + fontSize = 20.sp, + color = MaterialTheme.colors.primaryTextColor, + letterSpacing = LETTER_SPACING.sp, + ), + h4 = TextStyle( + fontSize = 16.sp, + color = MaterialTheme.colors.primaryTextColor, + letterSpacing = LETTER_SPACING.sp, + ), + body1 = TextStyle( + fontSize = 14.sp, + color = MaterialTheme.colors.primaryTextColor, + letterSpacing = LETTER_SPACING.sp, + ), + body2 = TextStyle( + fontSize = 12.sp, + color = MaterialTheme.colors.primaryTextColor, + letterSpacing = LETTER_SPACING.sp, + ) +) \ No newline at end of file diff --git a/src/main/kotlin/app/ui/Blame.kt b/src/main/kotlin/app/ui/Blame.kt index 47bc44f..35b96f8 100644 --- a/src/main/kotlin/app/ui/Blame.kt +++ b/src/main/kotlin/app/ui/Blame.kt @@ -103,10 +103,9 @@ fun Blame( ) { Text( text = author?.name.orEmpty(), - color = MaterialTheme.colors.primaryTextColor, maxLines = 1, modifier = Modifier.padding(start = 16.dp), - fontSize = 12.sp, + style = MaterialTheme.typography.body2, ) Text( text = commit?.shortMessage ?: "Uncommited change", @@ -174,9 +173,8 @@ fun MinimizedBlame( ) Text( text = filePath, - color = MaterialTheme.colors.primaryTextColor, + style = MaterialTheme.typography.body2, maxLines = 1, - fontSize = 12.sp, ) } @@ -216,8 +214,7 @@ private fun Header( ) { Text( text = filePath, - color = MaterialTheme.colors.primaryTextColor, - fontSize = 13.sp, + style = MaterialTheme.typography.body1, modifier = Modifier.padding(horizontal = 16.dp), ) diff --git a/src/main/kotlin/app/ui/Branches.kt b/src/main/kotlin/app/ui/Branches.kt index 87b0dbb..3a15a72 100644 --- a/src/main/kotlin/app/ui/Branches.kt +++ b/src/main/kotlin/app/ui/Branches.kt @@ -96,7 +96,7 @@ private fun BranchLineEntry( Text( text = "HEAD", color = MaterialTheme.colors.secondaryTextColor, - fontSize = 12.sp, + style = MaterialTheme.typography.body2, modifier = Modifier.padding(horizontal = 16.dp), ) } diff --git a/src/main/kotlin/app/ui/CommitChanges.kt b/src/main/kotlin/app/ui/CommitChanges.kt index f5d70f4..b13ba42 100644 --- a/src/main/kotlin/app/ui/CommitChanges.kt +++ b/src/main/kotlin/app/ui/CommitChanges.kt @@ -82,8 +82,7 @@ fun CommitChangesView( SelectionContainer { Text( text = commit.fullMessage, - fontSize = 14.sp, - color = MaterialTheme.colors.primaryTextColor, + style = MaterialTheme.typography.body1, modifier = Modifier .fillMaxWidth() .background(MaterialTheme.colors.background) @@ -115,7 +114,7 @@ fun CommitChangesView( textAlign = TextAlign.Left, color = MaterialTheme.colors.headerText, maxLines = 1, - fontSize = 13.sp, + style = MaterialTheme.typography.body1, ) @@ -156,9 +155,8 @@ fun Author( ) { TooltipText( text = author.name, - color = MaterialTheme.colors.primaryTextColor, maxLines = 1, - fontSize = 14.sp, + style = MaterialTheme.typography.body2, tooltipTitle = author.emailAddress, ) @@ -167,7 +165,7 @@ fun Author( text = id.abbreviate(7).name(), color = MaterialTheme.colors.secondaryTextColor, maxLines = 1, - fontSize = 12.sp, + style = MaterialTheme.typography.body2, ) @@ -186,7 +184,7 @@ fun Author( color = MaterialTheme.colors.secondaryTextColor, maxLines = 1, modifier = Modifier.padding(horizontal = 16.dp), - fontSize = 13.sp, + style = MaterialTheme.typography.body2, tooltipTitle = systemDate ) } @@ -248,8 +246,8 @@ fun CommitLogChanges( modifier = Modifier.weight(1f, fill = false), maxLines = 1, softWrap = false, - fontSize = 13.sp, overflow = TextOverflow.Ellipsis, + style = MaterialTheme.typography.body2, color = MaterialTheme.colors.secondaryTextColor, ) } @@ -258,7 +256,7 @@ fun CommitLogChanges( modifier = Modifier.weight(1f, fill = false), maxLines = 1, softWrap = false, - fontSize = 13.sp, + style = MaterialTheme.typography.body2, color = MaterialTheme.colors.primaryTextColor, ) } diff --git a/src/main/kotlin/app/ui/Diff.kt b/src/main/kotlin/app/ui/Diff.kt index fbbf064..cbe07db 100644 --- a/src/main/kotlin/app/ui/Diff.kt +++ b/src/main/kotlin/app/ui/Diff.kt @@ -279,7 +279,7 @@ fun HunkHeader( Text( text = hunk.header, color = MaterialTheme.colors.primaryTextColor, - fontSize = 13.sp, + style = MaterialTheme.typography.body1, ) Spacer(modifier = Modifier.weight(1f)) @@ -346,8 +346,7 @@ fun DiffHeader( Text( text = filePath, - color = MaterialTheme.colors.primaryTextColor, - fontSize = 13.sp, + style = MaterialTheme.typography.body1, modifier = Modifier.padding(horizontal = 16.dp), ) @@ -441,10 +440,9 @@ fun DiffLine( modifier = Modifier .padding(start = 8.dp) .fillMaxSize(), - color = MaterialTheme.colors.primaryTextColor, maxLines = 1, fontFamily = FontFamily.Monospace, - fontSize = 13.sp, + style = MaterialTheme.typography.body2, overflow = TextOverflow.Visible, ) } @@ -454,13 +452,12 @@ fun DiffLine( fun LineNumber(text: String) { Text( text = text, - color = MaterialTheme.colors.primaryTextColor, modifier = Modifier .background(MaterialTheme.colors.secondarySurface) .fillMaxHeight() .padding(horizontal = 4.dp), fontFamily = FontFamily.Monospace, - fontSize = 13.sp, + style = MaterialTheme.typography.body2, ) } diff --git a/src/main/kotlin/app/ui/FileHistory.kt b/src/main/kotlin/app/ui/FileHistory.kt index a7828c1..29ed096 100644 --- a/src/main/kotlin/app/ui/FileHistory.kt +++ b/src/main/kotlin/app/ui/FileHistory.kt @@ -94,8 +94,7 @@ private fun Header( ) { Text( text = filePath, - color = MaterialTheme.colors.primaryTextColor, - fontSize = 13.sp, + style = MaterialTheme.typography.body1, modifier = Modifier.padding(horizontal = 16.dp), ) @@ -212,15 +211,14 @@ fun HistoryCommit(commit: RevCommit, onCommitSelected: () -> Unit) { Text( text = commit.shortMessage, maxLines = 1, - fontSize = 14.sp, - color = MaterialTheme.colors.primaryTextColor, + style = MaterialTheme.typography.body1, ) Row { Text( text = commit.name.take(7), maxLines = 1, - fontSize = 12.sp, + style = MaterialTheme.typography.body2, color = MaterialTheme.colors.secondaryTextColor, ) Spacer(modifier = Modifier.weight(1f)) @@ -234,7 +232,7 @@ fun HistoryCommit(commit: RevCommit, onCommitSelected: () -> Unit) { color = MaterialTheme.colors.secondaryTextColor, maxLines = 1, modifier = Modifier.padding(horizontal = 16.dp), - fontSize = 12.sp, + style = MaterialTheme.typography.body2, tooltipTitle = date ) } diff --git a/src/main/kotlin/app/ui/Menu.kt b/src/main/kotlin/app/ui/Menu.kt index 766c6f0..4fa745e 100644 --- a/src/main/kotlin/app/ui/Menu.kt +++ b/src/main/kotlin/app/ui/Menu.kt @@ -178,8 +178,7 @@ fun MenuButton( ) Text( text = title, - fontSize = 12.sp, - color = MaterialTheme.colors.primaryTextColor + style = MaterialTheme.typography.body2, ) } } @@ -221,8 +220,7 @@ fun ExtendedMenuButton( ) Text( text = title, - fontSize = 12.sp, - color = MaterialTheme.colors.primaryTextColor + style = MaterialTheme.typography.body2, ) } diff --git a/src/main/kotlin/app/ui/RebaseInteractive.kt b/src/main/kotlin/app/ui/RebaseInteractive.kt index 5eda9fd..dedd0ae 100644 --- a/src/main/kotlin/app/ui/RebaseInteractive.kt +++ b/src/main/kotlin/app/ui/RebaseInteractive.kt @@ -143,7 +143,7 @@ fun RebaseCommit( newMessage = it onMessageChanged(it) }, - textStyle = LocalTextStyle.current.copy(fontSize = 12.sp), + textStyle = MaterialTheme.typography.body2, ) } @@ -186,7 +186,7 @@ fun ActionDropdown( ) { Text( text = dropDownOption.toToken().replaceFirstChar { it.uppercase() }, - fontSize = 14.sp, + style = MaterialTheme.typography.body1, ) } } diff --git a/src/main/kotlin/app/ui/RepositoryOpen.kt b/src/main/kotlin/app/ui/RepositoryOpen.kt index 4d375b9..5461d99 100644 --- a/src/main/kotlin/app/ui/RepositoryOpen.kt +++ b/src/main/kotlin/app/ui/RepositoryOpen.kt @@ -150,8 +150,7 @@ fun RepositoryOpenPage(tabViewModel: TabViewModel) { ) { Text( text = "${userInfo.name ?: "Name not set"} <${userInfo.email ?: "Email not set"}>", - color = MaterialTheme.colors.primaryTextColor, - fontSize = 12.sp, + style = MaterialTheme.typography.body2, ) } } diff --git a/src/main/kotlin/app/ui/UncommitedChanges.kt b/src/main/kotlin/app/ui/UncommitedChanges.kt index 416d89a..aad2e60 100644 --- a/src/main/kotlin/app/ui/UncommitedChanges.kt +++ b/src/main/kotlin/app/ui/UncommitedChanges.kt @@ -185,9 +185,14 @@ fun UncommitedChanges( statusViewModel.updateCommitMessage(it) }, enabled = !repositoryState.isRebasing, - label = { Text("Write your commit message here", fontSize = 14.sp) }, + label = { + Text( + text = "Write your commit message here", + style = MaterialTheme.typography.body1.copy(color = MaterialTheme.colors.primaryVariant), + ) + }, colors = textFieldColors(), - textStyle = TextStyle.Default.copy(fontSize = 14.sp), + textStyle = MaterialTheme.typography.body1, ) when { @@ -394,12 +399,11 @@ fun AbortButton(modifier: Modifier, onClick: () -> Unit) { modifier = modifier, colors = ButtonDefaults.buttonColors( backgroundColor = MaterialTheme.colors.abortButton, - contentColor = Color.White ) ) { Text( text = "Abort", - fontSize = 14.sp, + style = MaterialTheme.typography.body1.copy(color = MaterialTheme.colors.onError), ) } } @@ -419,12 +423,11 @@ fun ConfirmationButton( shape = shape, colors = ButtonDefaults.buttonColors( backgroundColor = MaterialTheme.colors.primary, - contentColor = Color.White ) ) { Text( text = text, - fontSize = 14.sp, + style = MaterialTheme.typography.body1.copy(color = MaterialTheme.colors.onPrimary), ) } } @@ -458,7 +461,7 @@ private fun EntriesList( fontWeight = FontWeight.Normal, textAlign = TextAlign.Left, color = MaterialTheme.colors.headerText, - fontSize = 13.sp, + style = MaterialTheme.typography.body1, maxLines = 1, ) @@ -561,7 +564,7 @@ private fun FileEntry( modifier = Modifier.weight(1f, fill = false), maxLines = 1, softWrap = false, - fontSize = 13.sp, + style = MaterialTheme.typography.body2, overflow = TextOverflow.Ellipsis, color = MaterialTheme.colors.secondaryTextColor, ) @@ -571,7 +574,7 @@ private fun FileEntry( modifier = Modifier.weight(1f, fill = false), maxLines = 1, softWrap = false, - fontSize = 13.sp, + style = MaterialTheme.typography.body2, color = MaterialTheme.colors.primaryTextColor, ) } diff --git a/src/main/kotlin/app/ui/WelcomePage.kt b/src/main/kotlin/app/ui/WelcomePage.kt index eba4f2e..8b26491 100644 --- a/src/main/kotlin/app/ui/WelcomePage.kt +++ b/src/main/kotlin/app/ui/WelcomePage.kt @@ -73,8 +73,7 @@ fun WelcomePage( Text( "Version ${AppConstants.APP_VERSION}", - color = MaterialTheme.colors.primaryTextColor, - fontSize = 12.sp, + style = MaterialTheme.typography.body2, maxLines = 1, modifier = Modifier .align(Alignment.BottomEnd) @@ -120,9 +119,8 @@ fun HomeButtons( ) { Text( text = AppConstants.APP_NAME, - fontSize = 32.sp, + style = MaterialTheme.typography.h1, maxLines = 1, - color = MaterialTheme.colors.primaryTextColor, modifier = Modifier.padding(bottom = 16.dp), ) @@ -150,9 +148,8 @@ fun HomeButtons( ) Text( - text = "About Gitnuro", - fontSize = 18.sp, - color = MaterialTheme.colors.primaryTextColor, + text = "About", + style = MaterialTheme.typography.h3, modifier = Modifier.padding(top = 16.dp, bottom = 8.dp), ) @@ -200,16 +197,15 @@ fun RecentRepositories(appStateManager: AppStateManager, tabViewModel: TabViewMo val latestOpenedRepositoriesPaths = appStateManager.latestOpenedRepositoriesPaths Text( text = "Recent", - fontSize = 18.sp, + style = MaterialTheme.typography.h3, 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, + style = MaterialTheme.typography.body1, modifier = Modifier.padding(top = 16.dp) ) } else { @@ -229,14 +225,15 @@ fun RecentRepositories(appStateManager: AppStateManager, tabViewModel: TabViewMo ) { Text( text = repoDirName, - fontSize = 14.sp, + style = MaterialTheme.typography.body1, maxLines = 1, + color = MaterialTheme.colors.primaryVariant ) } Text( text = repoDirPath, - fontSize = 14.sp, + style = MaterialTheme.typography.body1, modifier = Modifier.padding(start = 4.dp), maxLines = 1, color = MaterialTheme.colors.secondaryTextColor @@ -275,6 +272,7 @@ fun ButtonTile( Text( text = title, maxLines = 1, + style = MaterialTheme.typography.body1, color = MaterialTheme.colors.primaryVariant, ) } diff --git a/src/main/kotlin/app/ui/components/AdjustableOutlinedTextField.kt b/src/main/kotlin/app/ui/components/AdjustableOutlinedTextField.kt index dfb10b8..6df4f00 100644 --- a/src/main/kotlin/app/ui/components/AdjustableOutlinedTextField.kt +++ b/src/main/kotlin/app/ui/components/AdjustableOutlinedTextField.kt @@ -29,7 +29,7 @@ fun AdjustableOutlinedTextField( colors: TextFieldColors = outlinedTextFieldColors(), maxLines: Int = Int.MAX_VALUE, keyboardOptions: KeyboardOptions = KeyboardOptions.Default, - textStyle: TextStyle = LocalTextStyle.current.copy(fontSize = 14.sp), + textStyle: TextStyle = LocalTextStyle.current.copy(fontSize = MaterialTheme.typography.body1.fontSize), interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, ) { val textColor = textStyle.color.takeOrElse { diff --git a/src/main/kotlin/app/ui/components/RepositoriesTabPanel.kt b/src/main/kotlin/app/ui/components/RepositoriesTabPanel.kt index 8b506c7..a559286 100644 --- a/src/main/kotlin/app/ui/components/RepositoriesTabPanel.kt +++ b/src/main/kotlin/app/ui/components/RepositoriesTabPanel.kt @@ -156,7 +156,7 @@ fun Tab(title: MutableState, selected: Boolean, onClick: () -> Unit, onC .weight(1f), color = MaterialTheme.colors.primaryTextColor, overflow = TextOverflow.Visible, - fontSize = 14.sp, + style = MaterialTheme.typography.body1, maxLines = 1, ) IconButton( diff --git a/src/main/kotlin/app/ui/components/SecondaryButton.kt b/src/main/kotlin/app/ui/components/SecondaryButton.kt index 6511e63..d0e7cc6 100644 --- a/src/main/kotlin/app/ui/components/SecondaryButton.kt +++ b/src/main/kotlin/app/ui/components/SecondaryButton.kt @@ -4,6 +4,7 @@ import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.padding import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.MaterialTheme import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier @@ -30,7 +31,7 @@ fun SecondaryButton( ) { Text( text = text, - fontSize = 12.sp, + style = MaterialTheme.typography.body2, color = textColor, modifier = Modifier.padding(vertical = 4.dp, horizontal = 16.dp) ) diff --git a/src/main/kotlin/app/ui/components/SideMenuEntry.kt b/src/main/kotlin/app/ui/components/SideMenuEntry.kt index 7762782..464a0e4 100644 --- a/src/main/kotlin/app/ui/components/SideMenuEntry.kt +++ b/src/main/kotlin/app/ui/components/SideMenuEntry.kt @@ -56,7 +56,7 @@ fun SideMenuEntry( .padding(horizontal = 8.dp) .weight(1f), maxLines = 1, - fontSize = 14.sp, + style = MaterialTheme.typography.body2, color = MaterialTheme.colors.primaryTextColor, overflow = TextOverflow.Ellipsis, ) @@ -66,7 +66,7 @@ fun SideMenuEntry( } else Text( text = itemsCount.toString(), - fontSize = 14.sp, + style = MaterialTheme.typography.body2, color = MaterialTheme.colors.secondaryTextColor, modifier = Modifier.padding(end = 16.dp), ) diff --git a/src/main/kotlin/app/ui/components/SideMenuSubentry.kt b/src/main/kotlin/app/ui/components/SideMenuSubentry.kt index 3c7d5d6..ac3b2bb 100644 --- a/src/main/kotlin/app/ui/components/SideMenuSubentry.kt +++ b/src/main/kotlin/app/ui/components/SideMenuSubentry.kt @@ -61,7 +61,7 @@ fun SideMenuSubentry( text = text, modifier = Modifier.weight(1f, fill = true), maxLines = 1, - fontSize = 12.sp, + style = MaterialTheme.typography.body2, color = MaterialTheme.colors.primaryTextColor, softWrap = false, ) diff --git a/src/main/kotlin/app/ui/context_menu/DropDownContent.kt b/src/main/kotlin/app/ui/context_menu/DropDownContent.kt index ad50b96..1ee00ad 100644 --- a/src/main/kotlin/app/ui/context_menu/DropDownContent.kt +++ b/src/main/kotlin/app/ui/context_menu/DropDownContent.kt @@ -4,6 +4,7 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.padding import androidx.compose.material.DropdownMenuItem import androidx.compose.material.Icon +import androidx.compose.material.MaterialTheme import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment @@ -38,7 +39,7 @@ fun DropDownContent( Text( text = dropDownContentData.label, - fontSize = 13.sp, + style = MaterialTheme.typography.body2, modifier = Modifier.padding(end = 8.dp), maxLines = 1, ) diff --git a/src/main/kotlin/app/ui/dialogs/AppInfoDialog.kt b/src/main/kotlin/app/ui/dialogs/AppInfoDialog.kt index 544c8e5..bf9ecfe 100644 --- a/src/main/kotlin/app/ui/dialogs/AppInfoDialog.kt +++ b/src/main/kotlin/app/ui/dialogs/AppInfoDialog.kt @@ -36,21 +36,18 @@ fun AppInfoDialog( Column(modifier = Modifier.padding(16.dp)) { Text( AppConstants.APP_NAME, - fontSize = 24.sp, - color = MaterialTheme.colors.primaryTextColor, + style = MaterialTheme.typography.h2, ) Text( AppConstants.APP_DESCRIPTION, - fontSize = 14.sp, - color = MaterialTheme.colors.primaryTextColor, + style = MaterialTheme.typography.body1, modifier = Modifier.padding(top = 16.dp) ) Text( "Gitnuro has been possible thanks to the following open source projects:", - fontSize = 14.sp, - color = MaterialTheme.colors.primaryTextColor, + style = MaterialTheme.typography.body1, modifier = Modifier.padding(vertical = 16.dp) ) } diff --git a/src/main/kotlin/app/ui/dialogs/AuthorDialog.kt b/src/main/kotlin/app/ui/dialogs/AuthorDialog.kt index 5020867..6b9add2 100644 --- a/src/main/kotlin/app/ui/dialogs/AuthorDialog.kt +++ b/src/main/kotlin/app/ui/dialogs/AuthorDialog.kt @@ -89,8 +89,7 @@ fun AuthorDialog( ) Text( text = "Repository-level values will override global values", - color = MaterialTheme.colors.primaryTextColor, - fontSize = 12.sp, + style = MaterialTheme.typography.body2, modifier = Modifier .padding(top = 8.dp, bottom = 8.dp, start = 4.dp), ) @@ -142,8 +141,7 @@ private fun TextInput( ) { Text( text = title, - color = MaterialTheme.colors.primaryTextColor, - fontSize = 14.sp, + style = MaterialTheme.typography.body1, modifier = Modifier .width(80.dp) .padding(end = 16.dp), diff --git a/src/main/kotlin/app/ui/dialogs/CloneDialog.kt b/src/main/kotlin/app/ui/dialogs/CloneDialog.kt index 7416842..954653e 100644 --- a/src/main/kotlin/app/ui/dialogs/CloneDialog.kt +++ b/src/main/kotlin/app/ui/dialogs/CloneDialog.kt @@ -105,7 +105,7 @@ private fun CloneInput( next = directoryFocusRequester }, label = { Text("URL") }, - textStyle = TextStyle(fontSize = 14.sp, color = MaterialTheme.colors.primaryTextColor), + textStyle = MaterialTheme.typography.body1, maxLines = 1, value = url, colors = outlinedTextFieldColors(), @@ -130,7 +130,7 @@ private fun CloneInput( previous = urlFocusRequester next = directoryButtonFocusRequester }, - textStyle = TextStyle(fontSize = 14.sp, color = MaterialTheme.colors.primaryTextColor), + textStyle = MaterialTheme.typography.body1, maxLines = 1, label = { Text("Directory") }, value = directory, diff --git a/src/main/kotlin/app/ui/dialogs/EditRemotesDialog.kt b/src/main/kotlin/app/ui/dialogs/EditRemotesDialog.kt index cc5d906..71bde36 100644 --- a/src/main/kotlin/app/ui/dialogs/EditRemotesDialog.kt +++ b/src/main/kotlin/app/ui/dialogs/EditRemotesDialog.kt @@ -196,7 +196,7 @@ fun EditRemotesDialog( modifier = Modifier .fillMaxWidth() .background(MaterialTheme.colors.surface) - .padding(horizontal = 8.dp) + .padding(horizontal = 16.dp) ) { if (selectedRemote != null) { Column { @@ -204,7 +204,7 @@ fun EditRemotesDialog( Text( text = "New remote name", color = MaterialTheme.colors.primaryTextColor, - modifier = Modifier.padding(vertical = 8.dp), + modifier = Modifier.padding(top = 8.dp), ) AdjustableOutlinedTextField( @@ -230,7 +230,7 @@ fun EditRemotesDialog( Text( text = "Fetch URL", color = MaterialTheme.colors.primaryTextColor, - modifier = Modifier.padding(vertical = 8.dp), + modifier = Modifier.padding(top = 8.dp), ) AdjustableOutlinedTextField( @@ -250,7 +250,7 @@ fun EditRemotesDialog( Text( text = "Push URL", color = MaterialTheme.colors.primaryTextColor, - modifier = Modifier.padding(vertical = 8.dp), + modifier = Modifier.padding(top = 8.dp), ) AdjustableOutlinedTextField( diff --git a/src/main/kotlin/app/ui/dialogs/NewBranchDialog.kt b/src/main/kotlin/app/ui/dialogs/NewBranchDialog.kt index 884ff41..6ef5dda 100644 --- a/src/main/kotlin/app/ui/dialogs/NewBranchDialog.kt +++ b/src/main/kotlin/app/ui/dialogs/NewBranchDialog.kt @@ -53,8 +53,13 @@ fun NewBranchDialog( }, value = branchField, singleLine = true, - label = { Text("New branch name", fontSize = 14.sp) }, - textStyle = TextStyle(fontSize = 14.sp, color = MaterialTheme.colors.primaryTextColor), + label = { + Text( + "New branch name", + style = MaterialTheme.typography.body1.copy(MaterialTheme.colors.primaryVariant), + ) + }, + textStyle = MaterialTheme.typography.body1, colors = outlinedTextFieldColors(), onValueChange = { branchField = it diff --git a/src/main/kotlin/app/ui/dialogs/NewTagDialog.kt b/src/main/kotlin/app/ui/dialogs/NewTagDialog.kt index 09e84a5..fdc3524 100644 --- a/src/main/kotlin/app/ui/dialogs/NewTagDialog.kt +++ b/src/main/kotlin/app/ui/dialogs/NewTagDialog.kt @@ -53,8 +53,13 @@ fun NewTagDialog( }, value = tagField, singleLine = true, - label = { Text("New tag name", fontSize = 14.sp) }, - textStyle = TextStyle(fontSize = 14.sp, color = MaterialTheme.colors.primaryTextColor), + label = { + Text( + "New tag name", + style = MaterialTheme.typography.body1.copy(MaterialTheme.colors.primaryVariant), + ) + }, + textStyle = MaterialTheme.typography.body1, colors = outlinedTextFieldColors(), onValueChange = { tagField = it diff --git a/src/main/kotlin/app/ui/dialogs/PasswordDialog.kt b/src/main/kotlin/app/ui/dialogs/PasswordDialog.kt index 09c9a7f..a270189 100644 --- a/src/main/kotlin/app/ui/dialogs/PasswordDialog.kt +++ b/src/main/kotlin/app/ui/dialogs/PasswordDialog.kt @@ -60,8 +60,13 @@ fun PasswordDialog( }, value = passwordField, singleLine = true, - label = { Text("Password", fontSize = 14.sp) }, - textStyle = TextStyle(fontSize = 14.sp, color = MaterialTheme.colors.primaryTextColor), + label = { + Text( + "Password", + style = MaterialTheme.typography.body1.copy(MaterialTheme.colors.primaryVariant), + ) + }, + textStyle = MaterialTheme.typography.body1, colors = outlinedTextFieldColors(), onValueChange = { passwordField = it diff --git a/src/main/kotlin/app/ui/dialogs/SettingsDialog.kt b/src/main/kotlin/app/ui/dialogs/SettingsDialog.kt index 7cd2d58..f6a56ce 100644 --- a/src/main/kotlin/app/ui/dialogs/SettingsDialog.kt +++ b/src/main/kotlin/app/ui/dialogs/SettingsDialog.kt @@ -113,7 +113,10 @@ fun SettingsDialog( onDismiss() } ) { - Text("Close") + Text( + "Close", + style = MaterialTheme.typography.body1.copy(color = MaterialTheme.colors.primaryVariant) + ) } } } @@ -149,8 +152,8 @@ fun SettingDropDown( OutlinedButton(onClick = { showThemeDropdown = true }) { Text( text = currentOption.optionName, + style = MaterialTheme.typography.body1, color = MaterialTheme.colors.primaryTextColor, - fontSize = 14.sp, ) } @@ -192,8 +195,7 @@ fun SettingButton( OutlinedButton(onClick = onClick) { Text( text = buttonText, - color = MaterialTheme.colors.primaryTextColor, - fontSize = 14.sp, + style = MaterialTheme.typography.body1, ) } } @@ -280,15 +282,14 @@ private fun FieldTitles( ) { Text( text = title, - color = MaterialTheme.colors.primaryTextColor, - fontSize = 14.sp, + style = MaterialTheme.typography.body1, ) Text( text = subtitle, color = MaterialTheme.colors.secondaryTextColor, modifier = Modifier.padding(top = 4.dp), - fontSize = 12.sp, + style = MaterialTheme.typography.body2, ) } } diff --git a/src/main/kotlin/app/ui/dialogs/StashWithMessageDialog.kt b/src/main/kotlin/app/ui/dialogs/StashWithMessageDialog.kt index 0ce3d1c..fb36981 100644 --- a/src/main/kotlin/app/ui/dialogs/StashWithMessageDialog.kt +++ b/src/main/kotlin/app/ui/dialogs/StashWithMessageDialog.kt @@ -52,8 +52,13 @@ fun StashWithMessageDialog( } }, value = textField, - label = { Text("New stash message", fontSize = 14.sp) }, - textStyle = TextStyle(fontSize = 14.sp, color = MaterialTheme.colors.primaryTextColor), + label = { + Text( + "New stash message", + style = MaterialTheme.typography.body1.copy(color = MaterialTheme.colors.primaryVariant), + ) + }, + textStyle = MaterialTheme.typography.body1, colors = outlinedTextFieldColors(), onValueChange = { textField = it diff --git a/src/main/kotlin/app/ui/dialogs/UserPasswordDialog.kt b/src/main/kotlin/app/ui/dialogs/UserPasswordDialog.kt index 943663b..1ef9b4f 100644 --- a/src/main/kotlin/app/ui/dialogs/UserPasswordDialog.kt +++ b/src/main/kotlin/app/ui/dialogs/UserPasswordDialog.kt @@ -69,8 +69,13 @@ fun UserPasswordDialog( value = userField, singleLine = true, colors = outlinedTextFieldColors(), - label = { Text("User", fontSize = 14.sp) }, - textStyle = TextStyle(fontSize = 14.sp, color = MaterialTheme.colors.primaryTextColor), + label = { + Text( + "User", + style = MaterialTheme.typography.body1.copy(color = MaterialTheme.colors.primaryVariant), + ) + }, + textStyle = MaterialTheme.typography.body1, onValueChange = { userField = it }, @@ -92,8 +97,14 @@ fun UserPasswordDialog( }, value = passwordField, singleLine = true, - label = { Text("Password", fontSize = 14.sp) }, - textStyle = TextStyle(fontSize = 14.sp, color = MaterialTheme.colors.primaryTextColor), + label = { + Text( + "Password", + style = MaterialTheme.typography.body1, + color = MaterialTheme.colors.primaryVariant, + ) + }, + textStyle = MaterialTheme.typography.body1, colors = outlinedTextFieldColors(), onValueChange = { passwordField = it diff --git a/src/main/kotlin/app/ui/log/Log.kt b/src/main/kotlin/app/ui/log/Log.kt index 6c977b3..21c01b8 100644 --- a/src/main/kotlin/app/ui/log/Log.kt +++ b/src/main/kotlin/app/ui/log/Log.kt @@ -10,6 +10,7 @@ import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.items +import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.* @@ -237,7 +238,7 @@ fun Log( text = "Scroll to top", modifier = Modifier.padding(start = 8.dp), color = MaterialTheme.colors.onPrimary, - fontSize = 14.sp, + style = MaterialTheme.typography.body1, ) } } @@ -309,7 +310,7 @@ fun SearchFilter( Text("Search by message, author name or commit ID") }, colors = textFieldColors(), - textStyle = TextStyle.Default.copy(fontSize = 14.sp, color = MaterialTheme.colors.primaryTextColor), + textStyle = MaterialTheme.typography.body1, trailingIcon = { Row( modifier = Modifier @@ -396,7 +397,7 @@ fun MessagesList( ) } } - items(items = commitList) { graphNode -> + items(items = commitList) {graphNode -> CommitLine( graphWidth = graphWidth, logViewModel = logViewModel, @@ -425,8 +426,8 @@ fun MessagesList( Text( text = "The commits list has been limited to $commitsLimit. Access the settings to change it.", color = MaterialTheme.colors.primaryTextColor, - fontSize = 14.sp, fontStyle = FontStyle.Italic, + style = MaterialTheme.typography.body2, maxLines = 1, ) } @@ -574,7 +575,7 @@ fun GraphHeader( modifier = Modifier.width(graphWidth).padding(start = 16.dp), text = "Graph", color = MaterialTheme.colors.headerText, - fontSize = 14.sp, + style = MaterialTheme.typography.body1, maxLines = 1, ) @@ -592,7 +593,7 @@ fun GraphHeader( .weight(1f), text = "Message", color = MaterialTheme.colors.headerText, - fontSize = 14.sp, + style = MaterialTheme.typography.body1, maxLines = 1, ) @@ -640,7 +641,7 @@ fun UncommitedChangesLine( text = text, fontStyle = FontStyle.Italic, modifier = Modifier.padding(start = 16.dp), - fontSize = 14.sp, + style = MaterialTheme.typography.body2, maxLines = 1, color = MaterialTheme.colors.primaryTextColor, ) @@ -703,8 +704,7 @@ fun SummaryEntry( ) { Text( text = count.toString(), - color = MaterialTheme.colors.primaryTextColor, - fontSize = 14.sp, + style = MaterialTheme.typography.body2, ) Icon( @@ -847,7 +847,7 @@ fun CommitMessage( modifier = Modifier .padding(start = 8.dp) .weight(1f), - fontSize = 14.sp, + style = MaterialTheme.typography.body2, color = if (matchesSearchFilter == false) MaterialTheme.colors.secondaryTextColor else MaterialTheme.colors.primaryTextColor, maxLines = 1, overflow = TextOverflow.Ellipsis, @@ -856,7 +856,7 @@ fun CommitMessage( Text( text = commit.authorIdent.`when`.toSmartSystemString(), modifier = Modifier.padding(horizontal = 16.dp), - fontSize = 12.sp, + fontSize = 10.sp, color = MaterialTheme.colors.secondaryTextColor, maxLines = 1, overflow = TextOverflow.Ellipsis, @@ -1139,8 +1139,7 @@ fun RefChip( } Text( text = ref.simpleLogName, - color = MaterialTheme.colors.primaryTextColor, - fontSize = 13.sp, + style = MaterialTheme.typography.body2, maxLines = 1, modifier = Modifier.padding(horizontal = 6.dp) ) diff --git a/src/main/resources/fonts/OpenSans-Bold.ttf b/src/main/resources/fonts/OpenSans/OpenSans-Bold.ttf similarity index 100% rename from src/main/resources/fonts/OpenSans-Bold.ttf rename to src/main/resources/fonts/OpenSans/OpenSans-Bold.ttf diff --git a/src/main/resources/fonts/OpenSans-BoldItalic.ttf b/src/main/resources/fonts/OpenSans/OpenSans-BoldItalic.ttf similarity index 100% rename from src/main/resources/fonts/OpenSans-BoldItalic.ttf rename to src/main/resources/fonts/OpenSans/OpenSans-BoldItalic.ttf diff --git a/src/main/resources/fonts/OpenSans-Italic.ttf b/src/main/resources/fonts/OpenSans/OpenSans-Italic.ttf similarity index 100% rename from src/main/resources/fonts/OpenSans-Italic.ttf rename to src/main/resources/fonts/OpenSans/OpenSans-Italic.ttf diff --git a/src/main/resources/fonts/OpenSans-Medium.ttf b/src/main/resources/fonts/OpenSans/OpenSans-Medium.ttf similarity index 100% rename from src/main/resources/fonts/OpenSans-Medium.ttf rename to src/main/resources/fonts/OpenSans/OpenSans-Medium.ttf diff --git a/src/main/resources/fonts/OpenSans-MediumItalic.ttf b/src/main/resources/fonts/OpenSans/OpenSans-MediumItalic.ttf similarity index 100% rename from src/main/resources/fonts/OpenSans-MediumItalic.ttf rename to src/main/resources/fonts/OpenSans/OpenSans-MediumItalic.ttf diff --git a/src/main/resources/fonts/OpenSans-Regular.ttf b/src/main/resources/fonts/OpenSans/OpenSans-Regular.ttf similarity index 100% rename from src/main/resources/fonts/OpenSans-Regular.ttf rename to src/main/resources/fonts/OpenSans/OpenSans-Regular.ttf diff --git a/src/main/resources/fonts/OpenSans-SemiBold.ttf b/src/main/resources/fonts/OpenSans/OpenSans-SemiBold.ttf similarity index 100% rename from src/main/resources/fonts/OpenSans-SemiBold.ttf rename to src/main/resources/fonts/OpenSans/OpenSans-SemiBold.ttf diff --git a/src/main/resources/fonts/OpenSans-SemiBoldItalic.ttf b/src/main/resources/fonts/OpenSans/OpenSans-SemiBoldItalic.ttf similarity index 100% rename from src/main/resources/fonts/OpenSans-SemiBoldItalic.ttf rename to src/main/resources/fonts/OpenSans/OpenSans-SemiBoldItalic.ttf