diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/ui/DisappearingMessages.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/ui/DisappearingMessages.kt index 4f41408b16..bff32928db 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/ui/DisappearingMessages.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/ui/DisappearingMessages.kt @@ -25,8 +25,8 @@ import org.thoughtcrime.securesms.ui.RadioOption import org.thoughtcrime.securesms.ui.theme.LocalColors import org.thoughtcrime.securesms.ui.components.SlimOutlineButton import org.thoughtcrime.securesms.ui.contentDescription -import org.thoughtcrime.securesms.ui.theme.extraSmall import org.thoughtcrime.securesms.ui.fadingEdges +import org.thoughtcrime.securesms.ui.theme.LocalType typealias ExpiryCallbacks = Callbacks typealias ExpiryRadioOption = RadioOption @@ -54,7 +54,7 @@ fun DisappearingMessages( if (state.showGroupFooter) Text( text = stringResource(R.string.activity_disappearing_messages_group_footer), - style = extraSmall, + style = LocalType.current.extraSmall, fontWeight = FontWeight(400), color = LocalColors.current.textSecondary, textAlign = TextAlign.Center, diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/start/home/StartConversation.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/start/home/StartConversation.kt index e23f215e46..66a84d27d2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/start/home/StartConversation.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/start/home/StartConversation.kt @@ -29,8 +29,7 @@ import org.thoughtcrime.securesms.ui.theme.LocalColors import org.thoughtcrime.securesms.ui.components.AppBar import org.thoughtcrime.securesms.ui.components.QrImage import org.thoughtcrime.securesms.ui.contentDescription -import org.thoughtcrime.securesms.ui.theme.small -import org.thoughtcrime.securesms.ui.theme.xl +import org.thoughtcrime.securesms.ui.theme.LocalType @Composable internal fun StartConversationScreen( @@ -78,12 +77,12 @@ internal fun StartConversationScreen( .padding(top = LocalDimensions.current.itemSpacing) .padding(bottom = LocalDimensions.current.margin) ) { - Text(stringResource(R.string.accountIdYours), style = xl) + Text(stringResource(R.string.accountIdYours), style = LocalType.current.xl) Spacer(modifier = Modifier.height(LocalDimensions.current.xxxsItemSpacing)) Text( text = stringResource(R.string.qrYoursDescription), color = LocalColors.current.textSecondary, - style = small + style = LocalType.current.small ) Spacer(modifier = Modifier.height(LocalDimensions.current.smallItemSpacing)) QrImage( diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/start/invitefriend/InviteFriend.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/start/invitefriend/InviteFriend.kt index ed1b089e87..e8290be267 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/start/invitefriend/InviteFriend.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/start/invitefriend/InviteFriend.kt @@ -17,14 +17,13 @@ import androidx.compose.ui.tooling.preview.Preview import network.loki.messenger.R import org.thoughtcrime.securesms.ui.theme.LocalDimensions import org.thoughtcrime.securesms.ui.theme.PreviewTheme -import org.thoughtcrime.securesms.ui.theme.base import org.thoughtcrime.securesms.ui.theme.LocalColors import org.thoughtcrime.securesms.ui.components.AppBar import org.thoughtcrime.securesms.ui.components.SlimOutlineButton import org.thoughtcrime.securesms.ui.components.SlimOutlineCopyButton import org.thoughtcrime.securesms.ui.components.border import org.thoughtcrime.securesms.ui.contentDescription -import org.thoughtcrime.securesms.ui.theme.small +import org.thoughtcrime.securesms.ui.theme.LocalType @Composable internal fun InviteFriend( @@ -47,7 +46,7 @@ internal fun InviteFriend( .border() .padding(LocalDimensions.current.smallMargin), textAlign = TextAlign.Center, - style = base + style = LocalType.current.base ) Spacer(modifier = Modifier.height(LocalDimensions.current.xsItemSpacing)) @@ -55,7 +54,7 @@ internal fun InviteFriend( Text( stringResource(R.string.invite_your_friend_to_chat_with_you_on_session_by_sharing_your_account_id_with_them), textAlign = TextAlign.Center, - style = small, + style = LocalType.current.small, color = LocalColors.current.textSecondary, modifier = Modifier.padding(horizontal = LocalDimensions.current.smallItemSpacing) ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/start/newmessage/NewMessage.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/start/newmessage/NewMessage.kt index f8e3afe622..acae7a3d56 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/start/newmessage/NewMessage.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/start/newmessage/NewMessage.kt @@ -36,7 +36,7 @@ import org.thoughtcrime.securesms.ui.components.PrimaryOutlineButton import org.thoughtcrime.securesms.ui.components.SessionOutlinedTextField import org.thoughtcrime.securesms.ui.components.SessionTabRow import org.thoughtcrime.securesms.ui.contentDescription -import org.thoughtcrime.securesms.ui.theme.small +import org.thoughtcrime.securesms.ui.theme.LocalType private val TITLES = listOf(R.string.enter_account_id, R.string.qrScan) @@ -100,7 +100,7 @@ private fun EnterAccountId( .contentDescription(R.string.AccessibilityId_help_desk_link) .padding(horizontal = LocalDimensions.current.margin) .fillMaxWidth(), - style = small, + style = LocalType.current.small, color = LocalColors.current.textSecondary, iconRes = R.drawable.ic_circle_question_mark, onClick = onHelp diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/MessageDetailActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/MessageDetailActivity.kt index 342cd9369b..a1adb8bd6d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/MessageDetailActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/MessageDetailActivity.kt @@ -68,14 +68,14 @@ import org.thoughtcrime.securesms.ui.theme.LocalDimensions import org.thoughtcrime.securesms.ui.theme.PreviewTheme import org.thoughtcrime.securesms.ui.theme.SessionColorsParameterProvider import org.thoughtcrime.securesms.ui.TitledText -import org.thoughtcrime.securesms.ui.theme.base -import org.thoughtcrime.securesms.ui.theme.baseBold -import org.thoughtcrime.securesms.ui.theme.baseMonospace import org.thoughtcrime.securesms.ui.theme.ThemeColors import org.thoughtcrime.securesms.ui.theme.LocalColors import org.thoughtcrime.securesms.ui.theme.blackAlpha40 import org.thoughtcrime.securesms.ui.theme.dangerButtonColors import org.thoughtcrime.securesms.ui.setComposeContent +import org.thoughtcrime.securesms.ui.theme.LocalType +import org.thoughtcrime.securesms.ui.theme.bold +import org.thoughtcrime.securesms.ui.theme.monospace import javax.inject.Inject @AndroidEntryPoint @@ -361,7 +361,7 @@ fun FileDetails(fileDetails: List) { fun TitledErrorText(titledText: TitledText?) { TitledText( titledText, - style = base, + style = LocalType.current.base, color = LocalColors.current.danger ) } @@ -370,7 +370,7 @@ fun TitledErrorText(titledText: TitledText?) { fun TitledMonospaceText(titledText: TitledText?) { TitledText( titledText, - style = baseMonospace + style = LocalType.current.base.monospace() ) } @@ -378,7 +378,7 @@ fun TitledMonospaceText(titledText: TitledText?) { fun TitledText( titledText: TitledText?, modifier: Modifier = Modifier, - style: TextStyle = base, + style: TextStyle = LocalType.current.base, color: Color = Color.Unspecified ) { titledText?.apply { @@ -396,7 +396,7 @@ fun TitledText( @Composable fun TitledView(title: GetString, modifier: Modifier = Modifier, content: @Composable () -> Unit) { Column(modifier = modifier, verticalArrangement = Arrangement.spacedBy(LocalDimensions.current.xxxsItemSpacing)) { - Text(title.string(), style = baseBold) + Text(title.string(), style = LocalType.current.base.bold()) content() } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/home/EmptyView.kt b/app/src/main/java/org/thoughtcrime/securesms/home/EmptyView.kt index 6e154e69b9..201018ded7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/home/EmptyView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/home/EmptyView.kt @@ -19,12 +19,9 @@ import org.thoughtcrime.securesms.ui.Divider import org.thoughtcrime.securesms.ui.theme.LocalDimensions import org.thoughtcrime.securesms.ui.theme.PreviewTheme import org.thoughtcrime.securesms.ui.theme.SessionColorsParameterProvider -import org.thoughtcrime.securesms.ui.theme.base import org.thoughtcrime.securesms.ui.theme.ThemeColors import org.thoughtcrime.securesms.ui.theme.LocalColors -import org.thoughtcrime.securesms.ui.theme.h4 -import org.thoughtcrime.securesms.ui.theme.h8 -import org.thoughtcrime.securesms.ui.theme.small +import org.thoughtcrime.securesms.ui.theme.LocalType @Composable internal fun EmptyView(newAccount: Boolean) { @@ -42,12 +39,12 @@ internal fun EmptyView(newAccount: Boolean) { if (newAccount) { Text( stringResource(R.string.onboardingAccountCreated), - style = h4, + style = LocalType.current.h4, textAlign = TextAlign.Center ) Text( stringResource(R.string.welcome_to_session), - style = base, + style = LocalType.current.base, color = LocalColors.current.primary, textAlign = TextAlign.Center ) @@ -57,12 +54,12 @@ internal fun EmptyView(newAccount: Boolean) { Text( stringResource(R.string.conversationsNone), - style = h8, + style = LocalType.current.h8, textAlign = TextAlign.Center, modifier = Modifier.padding(bottom = LocalDimensions.current.xsItemSpacing)) Text( stringResource(R.string.onboardingHitThePlusButton), - style = small, + style = LocalType.current.small, textAlign = TextAlign.Center ) Spacer(modifier = Modifier.weight(2f)) diff --git a/app/src/main/java/org/thoughtcrime/securesms/home/SeedReminder.kt b/app/src/main/java/org/thoughtcrime/securesms/home/SeedReminder.kt index ae15503005..376f0392ba 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/home/SeedReminder.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/home/SeedReminder.kt @@ -26,8 +26,7 @@ import org.thoughtcrime.securesms.ui.theme.ThemeColors import org.thoughtcrime.securesms.ui.theme.LocalColors import org.thoughtcrime.securesms.ui.components.SlimPrimaryOutlineButton import org.thoughtcrime.securesms.ui.contentDescription -import org.thoughtcrime.securesms.ui.theme.h8 -import org.thoughtcrime.securesms.ui.theme.small +import org.thoughtcrime.securesms.ui.theme.LocalType @Composable internal fun SeedReminder(startRecoveryPasswordActivity: () -> Unit) { @@ -51,14 +50,14 @@ internal fun SeedReminder(startRecoveryPasswordActivity: () -> Unit) { Row { Text( stringResource(R.string.save_your_recovery_password), - style = h8 + style = LocalType.current.h8 ) Spacer(Modifier.requiredWidth(LocalDimensions.current.xxsItemSpacing)) SessionShieldIcon() } Text( stringResource(R.string.save_your_recovery_password_to_make_sure_you_don_t_lose_access_to_your_account), - style = small + style = LocalType.current.small ) } Spacer(Modifier.width(LocalDimensions.current.xxsMargin)) diff --git a/app/src/main/java/org/thoughtcrime/securesms/onboarding/landing/Landing.kt b/app/src/main/java/org/thoughtcrime/securesms/onboarding/landing/Landing.kt index 00d39fdce1..a7ce5bd545 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/onboarding/landing/Landing.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/onboarding/landing/Landing.kt @@ -48,8 +48,7 @@ import org.thoughtcrime.securesms.ui.components.BorderlessHtmlButton import org.thoughtcrime.securesms.ui.components.PrimaryFillButton import org.thoughtcrime.securesms.ui.components.PrimaryOutlineButton import org.thoughtcrime.securesms.ui.contentDescription -import org.thoughtcrime.securesms.ui.theme.h4 -import org.thoughtcrime.securesms.ui.theme.large +import org.thoughtcrime.securesms.ui.theme.LocalType import kotlin.time.Duration.Companion.milliseconds @Preview @@ -113,7 +112,7 @@ internal fun LandingScreen( Text( stringResource(R.string.onboardingBubblePrivacyInYourPocket), modifier = Modifier.align(Alignment.CenterHorizontally), - style = h4, + style = LocalType.current.h4, textAlign = TextAlign.Center ) Spacer(modifier = Modifier.height(LocalDimensions.current.itemSpacing)) @@ -217,7 +216,7 @@ private fun MessageText( ) { Text( text, - style = large, + style = LocalType.current.large, color = textColor, modifier = Modifier.padding( horizontal = LocalDimensions.current.smallItemSpacing, diff --git a/app/src/main/java/org/thoughtcrime/securesms/onboarding/loadaccount/LoadAccount.kt b/app/src/main/java/org/thoughtcrime/securesms/onboarding/loadaccount/LoadAccount.kt index bcefdc99bf..0284b8bb42 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/onboarding/loadaccount/LoadAccount.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/onboarding/loadaccount/LoadAccount.kt @@ -26,11 +26,10 @@ import network.loki.messenger.R import org.thoughtcrime.securesms.onboarding.ui.ContinuePrimaryOutlineButton import org.thoughtcrime.securesms.ui.theme.LocalDimensions import org.thoughtcrime.securesms.ui.theme.PreviewTheme -import org.thoughtcrime.securesms.ui.theme.base import org.thoughtcrime.securesms.ui.components.MaybeScanQrCode import org.thoughtcrime.securesms.ui.components.SessionOutlinedTextField import org.thoughtcrime.securesms.ui.components.SessionTabRow -import org.thoughtcrime.securesms.ui.theme.h4 +import org.thoughtcrime.securesms.ui.theme.LocalType private val TITLES = listOf(R.string.sessionRecoveryPassword, R.string.qrScan) @@ -83,7 +82,7 @@ private fun RecoveryPassword(state: State, onChange: (String) -> Unit = {}, onCo Row { Text( text = stringResource(R.string.sessionRecoveryPassword), - style = h4 + style = LocalType.current.h4 ) Spacer(Modifier.width(LocalDimensions.current.xxsItemSpacing)) Icon( @@ -95,7 +94,7 @@ private fun RecoveryPassword(state: State, onChange: (String) -> Unit = {}, onCo Spacer(Modifier.height(LocalDimensions.current.smallItemSpacing)) Text( stringResource(R.string.activity_link_enter_your_recovery_password_to_load_your_account_if_you_haven_t_saved_it_you_can_find_it_in_your_app_settings), - style = base + style = LocalType.current.base ) Spacer(Modifier.height(LocalDimensions.current.itemSpacing)) SessionOutlinedTextField( diff --git a/app/src/main/java/org/thoughtcrime/securesms/onboarding/loading/Loading.kt b/app/src/main/java/org/thoughtcrime/securesms/onboarding/loading/Loading.kt index fb6e40dfe0..d03f5ff9ab 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/onboarding/loading/Loading.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/onboarding/loading/Loading.kt @@ -11,9 +11,8 @@ import androidx.compose.ui.res.stringResource import network.loki.messenger.R import org.thoughtcrime.securesms.ui.theme.LocalDimensions import org.thoughtcrime.securesms.ui.ProgressArc -import org.thoughtcrime.securesms.ui.theme.base import org.thoughtcrime.securesms.ui.contentDescription -import org.thoughtcrime.securesms.ui.theme.h7 +import org.thoughtcrime.securesms.ui.theme.LocalType @Composable internal fun LoadingScreen(progress: Float) { @@ -25,12 +24,12 @@ internal fun LoadingScreen(progress: Float) { ) Text( stringResource(R.string.waitOneMoment), - style = h7 + style = LocalType.current.h7 ) Spacer(modifier = Modifier.height(LocalDimensions.current.xxxsItemSpacing)) Text( stringResource(R.string.loadAccountProgressMessage), - style = base + style = LocalType.current.base ) Spacer(modifier = Modifier.weight(2f)) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/onboarding/messagenotifications/MessageNotifications.kt b/app/src/main/java/org/thoughtcrime/securesms/onboarding/messagenotifications/MessageNotifications.kt index f11642d9f9..b3116e038b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/onboarding/messagenotifications/MessageNotifications.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/onboarding/messagenotifications/MessageNotifications.kt @@ -25,16 +25,12 @@ import org.thoughtcrime.securesms.onboarding.ui.ContinuePrimaryOutlineButton import org.thoughtcrime.securesms.ui.theme.LocalDimensions import org.thoughtcrime.securesms.ui.theme.PreviewTheme import org.thoughtcrime.securesms.ui.theme.SessionColorsParameterProvider -import org.thoughtcrime.securesms.ui.theme.base import org.thoughtcrime.securesms.ui.theme.ThemeColors import org.thoughtcrime.securesms.ui.theme.LocalColors import org.thoughtcrime.securesms.ui.components.CircularProgressIndicator import org.thoughtcrime.securesms.ui.components.RadioButton import org.thoughtcrime.securesms.ui.contentDescription -import org.thoughtcrime.securesms.ui.theme.h4 -import org.thoughtcrime.securesms.ui.theme.h8 -import org.thoughtcrime.securesms.ui.theme.h9 -import org.thoughtcrime.securesms.ui.theme.small +import org.thoughtcrime.securesms.ui.theme.LocalType @Composable internal fun MessageNotificationsScreen( @@ -61,9 +57,9 @@ internal fun MessageNotificationsScreen( Spacer(Modifier.weight(1f)) Column(modifier = Modifier.padding(horizontal = LocalDimensions.current.onboardingMargin)) { - Text(stringResource(R.string.notificationsMessage), style = h4) + Text(stringResource(R.string.notificationsMessage), style = LocalType.current.h4) Spacer(Modifier.height(LocalDimensions.current.xsMargin)) - Text(stringResource(R.string.onboardingMessageNotificationExplaination), style = base) + Text(stringResource(R.string.onboardingMessageNotificationExplaination), style = LocalType.current.base) Spacer(Modifier.height(LocalDimensions.current.itemSpacing)) } @@ -119,15 +115,15 @@ private fun NotificationRadioButton( Column(modifier = Modifier .padding(horizontal = 15.dp) .padding(top = 10.dp, bottom = 11.dp)) { - Text(stringResource(title), style = h8) + Text(stringResource(title), style = LocalType.current.h8) - Text(stringResource(explanation), style = small, modifier = Modifier.padding(top = 7.dp)) + Text(stringResource(explanation), style = LocalType.current.small, modifier = Modifier.padding(top = 7.dp)) tag?.let { Text( stringResource(it), modifier = Modifier.padding(top = 6.dp), color = LocalColors.current.primary, - style = h9 + style = LocalType.current.h9 ) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/onboarding/pickname/PickDisplayName.kt b/app/src/main/java/org/thoughtcrime/securesms/onboarding/pickname/PickDisplayName.kt index a441b659a9..b39f00fcb8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/onboarding/pickname/PickDisplayName.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/onboarding/pickname/PickDisplayName.kt @@ -19,9 +19,8 @@ import org.thoughtcrime.securesms.onboarding.OnboardingBackPressAlertDialog import org.thoughtcrime.securesms.onboarding.ui.ContinuePrimaryOutlineButton import org.thoughtcrime.securesms.ui.theme.LocalDimensions import org.thoughtcrime.securesms.ui.theme.PreviewTheme -import org.thoughtcrime.securesms.ui.theme.base import org.thoughtcrime.securesms.ui.components.SessionOutlinedTextField -import org.thoughtcrime.securesms.ui.theme.h4 +import org.thoughtcrime.securesms.ui.theme.LocalType @Preview @Composable @@ -57,11 +56,11 @@ internal fun PickDisplayName( Column( modifier = Modifier.padding(horizontal = LocalDimensions.current.largeMargin) ) { - Text(stringResource(state.title), style = h4) + Text(stringResource(state.title), style = LocalType.current.h4) Spacer(Modifier.height(LocalDimensions.current.smallItemSpacing)) Text( stringResource(state.description), - style = base, + style = LocalType.current.base, modifier = Modifier.padding(bottom = LocalDimensions.current.xsItemSpacing)) Spacer(Modifier.height(LocalDimensions.current.itemSpacing)) SessionOutlinedTextField( diff --git a/app/src/main/java/org/thoughtcrime/securesms/preferences/QRCodeActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/preferences/QRCodeActivity.kt index 04d3a281a4..ed2f80a151 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/preferences/QRCodeActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/preferences/QRCodeActivity.kt @@ -32,7 +32,7 @@ import org.thoughtcrime.securesms.ui.components.QrImage import org.thoughtcrime.securesms.ui.components.SessionTabRow import org.thoughtcrime.securesms.ui.contentDescription import org.thoughtcrime.securesms.ui.setComposeContent -import org.thoughtcrime.securesms.ui.theme.small +import org.thoughtcrime.securesms.ui.theme.LocalType import org.thoughtcrime.securesms.util.start private val TITLES = listOf(R.string.view, R.string.scan) @@ -109,7 +109,7 @@ fun QrPage(string: String) { text = stringResource(R.string.this_is_your_account_id_other_users_can_scan_it_to_start_a_conversation_with_you), color = LocalColors.current.textSecondary, textAlign = TextAlign.Center, - style = small + style = LocalType.current.small ) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/recoverypassword/RecoveryPassword.kt b/app/src/main/java/org/thoughtcrime/securesms/recoverypassword/RecoveryPassword.kt index 5ea95c32e0..c602fb638c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recoverypassword/RecoveryPassword.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/recoverypassword/RecoveryPassword.kt @@ -30,7 +30,6 @@ import org.thoughtcrime.securesms.ui.theme.LocalDimensions import org.thoughtcrime.securesms.ui.theme.PreviewTheme import org.thoughtcrime.securesms.ui.theme.SessionColorsParameterProvider import org.thoughtcrime.securesms.ui.SessionShieldIcon -import org.thoughtcrime.securesms.ui.theme.base import org.thoughtcrime.securesms.ui.theme.ThemeColors import org.thoughtcrime.securesms.ui.theme.LocalColors import org.thoughtcrime.securesms.ui.components.QrImage @@ -38,8 +37,8 @@ import org.thoughtcrime.securesms.ui.components.SlimOutlineButton import org.thoughtcrime.securesms.ui.components.SlimOutlineCopyButton import org.thoughtcrime.securesms.ui.components.border import org.thoughtcrime.securesms.ui.contentDescription -import org.thoughtcrime.securesms.ui.theme.extraSmallMonospace -import org.thoughtcrime.securesms.ui.theme.h8 +import org.thoughtcrime.securesms.ui.theme.LocalType +import org.thoughtcrime.securesms.ui.theme.monospace @Composable internal fun RecoveryPasswordScreen( @@ -75,7 +74,7 @@ private fun RecoveryPasswordCell( Row { Text( stringResource(R.string.sessionRecoveryPassword), - style = h8 + style = LocalType.current.h8 ) Spacer(Modifier.width(LocalDimensions.current.xxsItemSpacing)) SessionShieldIcon() @@ -85,7 +84,7 @@ private fun RecoveryPasswordCell( Text( stringResource(R.string.recoveryPasswordDescription), - style = base + style = LocalType.current.base ) AnimatedVisibility(!showQr) { @@ -142,7 +141,7 @@ private fun RecoveryPassword(mnemonic: String) { .border() .padding(LocalDimensions.current.smallMargin), textAlign = TextAlign.Center, - style = extraSmallMonospace, + style = LocalType.current.extraSmall.monospace(), color = LocalColors.current.run { if (isLight) text else primary }, ) } @@ -156,11 +155,11 @@ private fun HideRecoveryPasswordCell(onHide: () -> Unit = {}) { ) { Text( stringResource(R.string.recoveryPasswordHideRecoveryPassword), - style = h8 + style = LocalType.current.h8 ) Text( stringResource(R.string.recoveryPasswordHideRecoveryPasswordDescription), - style = base + style = LocalType.current.base ) } Spacer(modifier = Modifier.width(LocalDimensions.current.xxsMargin)) diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/AlertDialog.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/AlertDialog.kt index 0911284d9f..a09512db8f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/AlertDialog.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/AlertDialog.kt @@ -1,6 +1,5 @@ package org.thoughtcrime.securesms.ui -import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.IntrinsicSize @@ -24,14 +23,12 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview -import androidx.compose.ui.unit.dp import network.loki.messenger.R import org.thoughtcrime.securesms.ui.theme.LocalColors import org.thoughtcrime.securesms.ui.theme.LocalDimensions +import org.thoughtcrime.securesms.ui.theme.LocalType import org.thoughtcrime.securesms.ui.theme.PreviewTheme -import org.thoughtcrime.securesms.ui.theme.h7 -import org.thoughtcrime.securesms.ui.theme.large -import org.thoughtcrime.securesms.ui.theme.largeBold +import org.thoughtcrime.securesms.ui.theme.bold class DialogButtonModel( @@ -83,7 +80,7 @@ fun AlertDialog( Text( it, textAlign = TextAlign.Center, - style = h7, + style = LocalType.current.h7, modifier = Modifier.padding(bottom = LocalDimensions.current.xxsItemSpacing) ) } @@ -91,7 +88,7 @@ fun AlertDialog( Text( it, textAlign = TextAlign.Center, - style = large, + style = LocalType.current.large, modifier = Modifier.padding(bottom = LocalDimensions.current.xxsItemSpacing) ) } @@ -130,7 +127,7 @@ fun DialogButton(text: String, modifier: Modifier, color: Color = Color.Unspecif Text( text, color = color.takeOrElse { LocalColors.current.text }, - style = largeBold, + style = LocalType.current.large.bold(), textAlign = TextAlign.Center, modifier = Modifier.padding( top = LocalDimensions.current.smallItemSpacing, diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/Components.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/Components.kt index 9079c4c224..9b40f9e874 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/Components.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/Components.kt @@ -67,15 +67,10 @@ import org.thoughtcrime.securesms.conversation.disappearingmessages.ui.OptionsCa import org.thoughtcrime.securesms.ui.components.SmallCircularProgressIndicator import org.thoughtcrime.securesms.ui.theme.LocalColors import org.thoughtcrime.securesms.ui.theme.LocalDimensions -import org.thoughtcrime.securesms.ui.theme.base +import org.thoughtcrime.securesms.ui.theme.LocalType import org.thoughtcrime.securesms.ui.theme.divider -import org.thoughtcrime.securesms.ui.theme.extraSmall -import org.thoughtcrime.securesms.ui.theme.h2 -import org.thoughtcrime.securesms.ui.theme.h8 -import org.thoughtcrime.securesms.ui.theme.large import org.thoughtcrime.securesms.ui.theme.radioButtonColors import org.thoughtcrime.securesms.ui.theme.transparentButtonColors -import org.thoughtcrime.securesms.ui.theme.xl import kotlin.math.min import kotlin.math.roundToInt @@ -102,7 +97,7 @@ data class RadioOption( fun OptionsCard(card: OptionsCard, callbacks: Callbacks) { Text( card.title(), - style = base + style = LocalType.current.base ) CellNoMargin { LazyColumn( @@ -124,7 +119,10 @@ fun LargeItemButtonWithDrawable( colors: ButtonColors = transparentButtonColors(), onClick: () -> Unit ) { - ItemButtonWithDrawable(textId, icon, modifier.heightIn(min = LocalDimensions.current.minLargeItemButtonHeight), h8, colors, onClick) + ItemButtonWithDrawable( + textId, icon, modifier.heightIn(min = LocalDimensions.current.minLargeItemButtonHeight), + LocalType.current.h8, colors, onClick + ) } @Composable @@ -132,7 +130,7 @@ fun ItemButtonWithDrawable( @StringRes textId: Int, @DrawableRes icon: Int, modifier: Modifier = Modifier, - textStyle: TextStyle = xl, + textStyle: TextStyle = LocalType.current.xl, colors: ButtonColors = transparentButtonColors(), onClick: () -> Unit ) { @@ -162,7 +160,10 @@ fun LargeItemButton( colors: ButtonColors = transparentButtonColors(), onClick: () -> Unit ) { - ItemButton(textId, icon, modifier.heightIn(min = LocalDimensions.current.minLargeItemButtonHeight), h8, colors, onClick) + ItemButton( + textId, icon, modifier.heightIn(min = LocalDimensions.current.minLargeItemButtonHeight), + LocalType.current.h8, colors, onClick + ) } /** @@ -173,7 +174,7 @@ fun ItemButton( @StringRes textId: Int, @DrawableRes icon: Int, modifier: Modifier = Modifier, - textStyle: TextStyle = xl, + textStyle: TextStyle = LocalType.current.xl, colors: ButtonColors = transparentButtonColors(), onClick: () -> Unit ) { @@ -203,7 +204,7 @@ fun ItemButton( text: String, icon: @Composable BoxScope.() -> Unit, modifier: Modifier = Modifier, - textStyle: TextStyle = xl, + textStyle: TextStyle = LocalType.current.xl, colors: ButtonColors = transparentButtonColors(), onClick: () -> Unit ) { @@ -281,13 +282,13 @@ fun TitledRadioButton(option: RadioOption, onClick: () -> Unit) { Column { Text( text = option.title(), - style = large, + style = LocalType.current.large, color = color ) option.subtitle?.let { Text( text = it(), - style = extraSmall, + style = LocalType.current.extraSmall, color = color ) } @@ -399,7 +400,7 @@ fun ProgressArc(progress: Float, modifier: Modifier = Modifier) { "${text}%", color = Color.White, modifier = Modifier.align(Alignment.Center), - style = h2 + style = LocalType.current.h2 ) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/components/AppBar.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/components/AppBar.kt index 97392c34a0..93490d3893 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/components/AppBar.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/components/AppBar.kt @@ -16,10 +16,10 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter import network.loki.messenger.R import org.thoughtcrime.securesms.ui.theme.LocalDimensions +import org.thoughtcrime.securesms.ui.theme.LocalType import org.thoughtcrime.securesms.ui.theme.PreviewTheme import org.thoughtcrime.securesms.ui.theme.SessionColorsParameterProvider import org.thoughtcrime.securesms.ui.theme.ThemeColors -import org.thoughtcrime.securesms.ui.theme.h4 @Preview @Composable @@ -42,7 +42,7 @@ fun AppBar(title: String, onClose: () -> Unit = {}, onBack: (() -> Unit)? = null } } Spacer(modifier = Modifier.weight(1f)) - Text(text = title, style = h4) + Text(text = title, style = LocalType.current.h4) Spacer(modifier = Modifier.weight(1f)) Box(contentAlignment = Alignment.Center, modifier = Modifier.size(LocalDimensions.current.appBarHeight)) { IconButton(onClick = onClose) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/components/Button.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/components/Button.kt index 70e87bc262..d0844951ef 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/components/Button.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/components/Button.kt @@ -37,13 +37,14 @@ import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.filter import network.loki.messenger.R import org.thoughtcrime.securesms.ui.LaunchedEffectAsync +import org.thoughtcrime.securesms.ui.contentDescription +import org.thoughtcrime.securesms.ui.theme.LocalColors +import org.thoughtcrime.securesms.ui.theme.LocalType import org.thoughtcrime.securesms.ui.theme.PreviewTheme import org.thoughtcrime.securesms.ui.theme.SessionColorsParameterProvider -import org.thoughtcrime.securesms.ui.theme.baseBold -import org.thoughtcrime.securesms.ui.theme.buttonShape import org.thoughtcrime.securesms.ui.theme.ThemeColors -import org.thoughtcrime.securesms.ui.theme.LocalColors -import org.thoughtcrime.securesms.ui.contentDescription +import org.thoughtcrime.securesms.ui.theme.bold +import org.thoughtcrime.securesms.ui.theme.buttonShape import kotlin.time.Duration import kotlin.time.Duration.Companion.seconds @@ -257,7 +258,7 @@ fun BorderlessButtonWithIcon( text: String, @DrawableRes iconRes: Int, modifier: Modifier = Modifier, - style: TextStyle = baseBold, + style: TextStyle = LocalType.current.base.bold(), color: Color = LocalColors.current.text, onClick: () -> Unit ) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/components/ButtonStyle.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/components/ButtonStyle.kt index 7ccda6bcc0..ce7eb2dfe8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/components/ButtonStyle.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/components/ButtonStyle.kt @@ -10,9 +10,8 @@ import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import org.thoughtcrime.securesms.ui.theme.baseBold -import org.thoughtcrime.securesms.ui.theme.extraSmall -import org.thoughtcrime.securesms.ui.theme.extraSmallBold +import org.thoughtcrime.securesms.ui.theme.LocalType +import org.thoughtcrime.securesms.ui.theme.bold interface ButtonStyle { @OptIn(ExperimentalMaterialApi::class) @@ -27,26 +26,34 @@ interface ButtonStyle { @SuppressLint("ComposableNaming") @Composable fun applyTextConstraints(content: @Composable () -> Unit) { CompositionLocalProvider( - LocalTextStyle provides textStyle, + LocalTextStyle provides textStyle(), content = content ) } - val textStyle: TextStyle + @Composable + fun textStyle() : TextStyle + val minHeight: Dp object Large: ButtonStyle { - override val textStyle = baseBold.copy(textAlign = TextAlign.Center) + @Composable + override fun textStyle() = LocalType.current.base.bold() + .copy(textAlign = TextAlign.Center) override val minHeight = 41.dp } object Slim: ButtonStyle { - override val textStyle = extraSmallBold.copy(textAlign = TextAlign.Center) + @Composable + override fun textStyle() = LocalType.current.extraSmall.bold() + .copy(textAlign = TextAlign.Center) override val minHeight = 29.dp } object Borderless: ButtonStyle { - override val textStyle = extraSmall.copy(textAlign = TextAlign.Center) + @Composable + override fun textStyle() = LocalType.current.extraSmall + .copy(textAlign = TextAlign.Center) override val minHeight = 37.dp } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/components/QR.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/components/QR.kt index 7104d493b7..4abc9eec6b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/components/QR.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/components/QR.kt @@ -57,9 +57,8 @@ import kotlinx.coroutines.launch import network.loki.messenger.R import org.session.libsignal.utilities.Log import org.thoughtcrime.securesms.ui.theme.LocalDimensions -import org.thoughtcrime.securesms.ui.theme.base import org.thoughtcrime.securesms.ui.theme.LocalColors -import org.thoughtcrime.securesms.ui.theme.xl +import org.thoughtcrime.securesms.ui.theme.LocalType import java.util.concurrent.Executors private const val TAG = "NewMessageFragment" @@ -94,7 +93,7 @@ fun MaybeScanQrCode( ) { Text( stringResource(R.string.activity_link_camera_permission_permanently_denied_configure_in_settings), - style = base, + style = LocalType.current.base, textAlign = TextAlign.Center ) Spacer(modifier = Modifier.size(LocalDimensions.current.itemSpacing)) @@ -113,7 +112,8 @@ fun MaybeScanQrCode( horizontalAlignment = Alignment.CenterHorizontally ) { Spacer(modifier = Modifier.weight(1f)) - Text(stringResource(R.string.fragment_scan_qr_code_camera_access_explanation), style = xl, textAlign = TextAlign.Center) + Text(stringResource(R.string.fragment_scan_qr_code_camera_access_explanation), + style = LocalType.current.xl, textAlign = TextAlign.Center) Spacer(modifier = Modifier.height(LocalDimensions.current.itemSpacing)) PrimaryOutlineButton( stringResource(R.string.cameraGrantAccess), diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/components/SessionTabRow.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/components/SessionTabRow.kt index c2424076e1..960f5b9d0c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/components/SessionTabRow.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/components/SessionTabRow.kt @@ -19,13 +19,13 @@ import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp import kotlinx.coroutines.launch import network.loki.messenger.R -import org.thoughtcrime.securesms.ui.theme.LocalDimensions import org.thoughtcrime.securesms.ui.theme.LocalColors +import org.thoughtcrime.securesms.ui.theme.LocalDimensions +import org.thoughtcrime.securesms.ui.theme.LocalType import org.thoughtcrime.securesms.ui.theme.PreviewTheme -import org.thoughtcrime.securesms.ui.theme.ThemeColors import org.thoughtcrime.securesms.ui.theme.SessionColorsParameterProvider +import org.thoughtcrime.securesms.ui.theme.ThemeColors import org.thoughtcrime.securesms.ui.theme.divider -import org.thoughtcrime.securesms.ui.theme.h8 private val TITLES = listOf(R.string.sessionRecoveryPassword, R.string.qrScan) @@ -58,7 +58,7 @@ fun SessionTabRow(pagerState: PagerState, titles: List) { ) { Text( stringResource(id = it), - style = h8 + style = LocalType.current.h8 ) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/components/Text.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/components/Text.kt index 5d406e6008..e111a9916d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/components/Text.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/components/Text.kt @@ -39,13 +39,13 @@ import androidx.compose.ui.unit.sp import network.loki.messenger.R import org.thoughtcrime.securesms.ui.theme.LocalDimensions import org.thoughtcrime.securesms.ui.theme.PreviewTheme -import org.thoughtcrime.securesms.ui.theme.base -import org.thoughtcrime.securesms.ui.theme.baseBold import org.thoughtcrime.securesms.ui.theme.LocalColors import org.thoughtcrime.securesms.ui.theme.borders import org.thoughtcrime.securesms.ui.theme.text import org.thoughtcrime.securesms.ui.theme.textSecondary import org.thoughtcrime.securesms.ui.contentDescription +import org.thoughtcrime.securesms.ui.theme.LocalType +import org.thoughtcrime.securesms.ui.theme.bold @Preview @Composable @@ -85,7 +85,7 @@ fun SessionOutlinedTextField( modifier: Modifier = Modifier, contentDescription: String? = null, onChange: (String) -> Unit = {}, - textStyle: TextStyle = base, + textStyle: TextStyle = LocalType.current.base, placeholder: String = "", onContinue: () -> Unit = {}, error: String? = null, @@ -106,7 +106,7 @@ fun SessionOutlinedTextField( if (text.isEmpty()) { Text( text = placeholder, - style = base, + style = LocalType.current.base, color = LocalColors.current.textSecondary(isTextErrorColor), modifier = Modifier.wrapContentSize() .align(Alignment.CenterStart) @@ -136,7 +136,7 @@ fun SessionOutlinedTextField( modifier = Modifier.fillMaxWidth() .contentDescription(R.string.AccessibilityId_error_message), textAlign = TextAlign.Center, - style = baseBold, + style = LocalType.current.base.bold(), color = LocalColors.current.danger ) } @@ -148,7 +148,7 @@ fun AnnotatedTextWithIcon( text: String, @DrawableRes iconRes: Int, modifier: Modifier = Modifier, - style: TextStyle = base, + style: TextStyle = LocalType.current.base, color: Color = Color.Unspecified, iconSize: TextUnit = 12.sp ) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/theme/SessionTypography.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/theme/SessionTypography.kt index 433b650f61..99fefce0c1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/theme/SessionTypography.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/theme/SessionTypography.kt @@ -1,6 +1,7 @@ package org.thoughtcrime.securesms.ui.theme 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.FontFamily.Companion.Monospace @@ -8,52 +9,158 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.TextUnit import androidx.compose.ui.unit.sp -fun boldStyle(size: TextUnit) = TextStyle.Default.copy( - fontSize = size, - lineHeight = size * 1.2, - fontWeight = FontWeight.Bold, -) -fun defaultStyle(size: TextUnit, fontFamily: FontFamily? = TextStyle.Default.fontFamily) = TextStyle.Default.copy( - fontSize = size, - lineHeight = size * 1.2, - fontFamily = fontFamily + +fun TextStyle.bold() = TextStyle.Default.copy( + fontWeight = FontWeight.Bold ) -val xl = defaultStyle(18.sp) - -val large = defaultStyle(16.sp) -val largeBold = boldStyle(16.sp) - -val base = defaultStyle(14.sp) -val baseBold = boldStyle(14.sp) -val baseMonospace = defaultStyle(14.sp, fontFamily = Monospace) - -val small = defaultStyle(12.sp) -val smallBold = boldStyle(12.sp) -val smallMonospace = defaultStyle(12.sp, fontFamily = Monospace) - -val extraSmall = defaultStyle(11.sp) -val extraSmallBold = boldStyle(11.sp) -val extraSmallMonospace = defaultStyle(11.sp, fontFamily = Monospace) - -val fine = defaultStyle(9.sp) - -val h1 = boldStyle(36.sp) -val h2 = boldStyle(32.sp) -val h3 = boldStyle(29.sp) -val h4 = boldStyle(26.sp) -val h5 = boldStyle(23.sp) -val h6 = boldStyle(20.sp) -val h7 = boldStyle(18.sp) -val h8 = boldStyle(16.sp) -val h9 = boldStyle(14.sp) - -val sessionTypography = Typography( - h1 = h1, - h2 = h2, - h3 = h3, - h4 = h4, - h5 = h5, - h6 = h6, +fun TextStyle.monospace() = TextStyle.Default.copy( + fontFamily = FontFamily.Monospace ) + +val sessionTypography = SessionTypography() + +data class SessionTypography( + // Body + val xl: TextStyle = TextStyle( + fontSize = 18.sp, + lineHeight = 21.6.sp, + fontWeight = FontWeight.Normal + ), + + val large: TextStyle = TextStyle( + fontSize = 16.sp, + lineHeight = 19.2.sp, + fontWeight = FontWeight.Normal + ), + + val base: TextStyle = TextStyle( + fontSize = 14.sp, + lineHeight = 16.8.sp, + fontWeight = FontWeight.Normal + ), + + val small: TextStyle = TextStyle( + fontSize = 12.sp, + lineHeight = 14.4.sp, + fontWeight = FontWeight.Normal + ), + + val extraSmall: TextStyle = TextStyle( + fontSize = 11.sp, + lineHeight = 13.2.sp, + fontWeight = FontWeight.Normal + ), + + val fine: TextStyle = TextStyle( + fontSize = 9.sp, + lineHeight = 10.8.sp, + fontWeight = FontWeight.Normal + ), + + // Headings + val h1: TextStyle = TextStyle( + fontSize = 36.sp, + lineHeight = 43.2.sp, + fontWeight = FontWeight.Bold + ), + + val h2: TextStyle = TextStyle( + fontSize = 32.sp, + lineHeight = 38.4.sp, + fontWeight = FontWeight.Bold + ), + + val h3: TextStyle = TextStyle( + fontSize = 29.sp, + lineHeight = 34.8.sp, + fontWeight = FontWeight.Bold + ), + + val h4: TextStyle = TextStyle( + fontSize = 26.sp, + lineHeight = 31.2.sp, + fontWeight = FontWeight.Bold + ), + + val h5: TextStyle = TextStyle( + fontSize = 23.sp, + lineHeight = 27.6.sp, + fontWeight = FontWeight.Bold + ), + + val h6: TextStyle = TextStyle( + fontSize = 20.sp, + lineHeight = 24.sp, + fontWeight = FontWeight.Bold + ), + + val h7: TextStyle = TextStyle( + fontSize = 18.sp, + lineHeight = 21.6.sp, + fontWeight = FontWeight.Bold + ), + + val h8: TextStyle = TextStyle( + fontSize = 16.sp, + lineHeight = 19.2.sp, + fontWeight = FontWeight.Bold + ), + + val h9: TextStyle = TextStyle( + fontSize = 14.sp, + lineHeight = 16.8.sp, + fontWeight = FontWeight.Bold + ) +) { + //todo ready to go when we switch to Material3 + + // An opinionated override of Material's defaults + /*@Composable + fun asMaterialTypography() = Typography( + // Display + displayLarge = h1, + displayMedium = h1, + displaySmall = h1, + + // Headline + headlineLarge = h2, + headlineMedium = h3, + headlineSmall = h4, + + // Title + titleLarge = h5, + titleMedium = h6, + titleSmall = h7, + + // Body + bodyLarge = large, + bodyMedium = base, + bodySmall = small, + + // Label + labelLarge = extraSmall, + labelMedium = fine, + labelSmall = fine + )*/ + + @Composable + fun asMaterialTypography() = Typography( + h1 = h1, + h2 = h2, + h3 = h3, + h4 = h4, + h5 = h5, + h6 = h6, + subtitle1 = h7, + subtitle2 = h8, + body1 = base, + body2 = small, + button = base, + caption = small, + overline = fine + ) +} + + diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/theme/ThemeColors.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/theme/ThemeColors.kt index 3109320456..099498c535 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/theme/ThemeColors.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/theme/ThemeColors.kt @@ -163,29 +163,26 @@ fun PreviewThemeColors( @Composable private fun ThemeColors() { Column { - Box(Modifier.background(MaterialTheme.colors.primary)) { - Text("primary", style = base) + Box(Modifier.background(LocalColors.current.primary)) { + Text("primary", style = LocalType.current.base) } - Box(Modifier.background(MaterialTheme.colors.primaryVariant)) { - Text("primaryVariant", style = base) + Box(Modifier.background(LocalColors.current.background)) { + Text("background", style = LocalType.current.base) } - Box(Modifier.background(MaterialTheme.colors.secondary)) { - Text("secondary", style = base) + Box(Modifier.background(LocalColors.current.backgroundSecondary)) { + Text("backgroundSecondary", style = LocalType.current.base) } - Box(Modifier.background(MaterialTheme.colors.secondaryVariant)) { - Text("secondaryVariant", style = base) + Box(Modifier.background(LocalColors.current.text)) { + Text("text", style = LocalType.current.base) } - Box(Modifier.background(MaterialTheme.colors.surface)) { - Text("surface", style = base) + Box(Modifier.background(LocalColors.current.textSecondary)) { + Text("textSecondary", style = LocalType.current.base) } - Box(Modifier.background(MaterialTheme.colors.primarySurface)) { - Text("primarySurface", style = base) + Box(Modifier.background(LocalColors.current.danger)) { + Text("danger", style = LocalType.current.base) } - Box(Modifier.background(MaterialTheme.colors.background)) { - Text("background", style = base) - } - Box(Modifier.background(MaterialTheme.colors.error)) { - Text("error", style = base) + Box(Modifier.background(LocalColors.current.borders)) { + Text("border", style = LocalType.current.base) } } } \ No newline at end of file diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/theme/Themes.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/theme/Themes.kt index c00b39d425..e0cd94ed66 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/theme/Themes.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/theme/Themes.kt @@ -21,6 +21,8 @@ import org.session.libsession.utilities.AppTextSecurePreferences // Globally accessible composition local objects val LocalColors = compositionLocalOf { ClassicDark() } +val LocalType = compositionLocalOf { sessionTypography } + var selectedTheme: ThemeColors? = null /** @@ -51,11 +53,12 @@ fun SessionMaterialTheme( ) { MaterialTheme( colors = colors.toMaterialColors(), - typography = sessionTypography, + typography = sessionTypography.asMaterialTypography(), shapes = sessionShapes, ) { CompositionLocalProvider( LocalColors provides colors, + LocalType provides sessionTypography, LocalContentColor provides colors.text, LocalTextSelectionColors provides colors.textSelectionColors, ) {