From a84032c5d37356ade11f3c3eff402f2c8a8d8e41 Mon Sep 17 00:00:00 2001 From: Nikolay Odegov Date: Wed, 19 Feb 2025 15:46:29 +0300 Subject: [PATCH] END REFACTORING OF FONTS!!!!!!!!! --- .../nto/presentation/composable/Navigation.kt | 2 +- .../composable/cards/VisitCard.kt | 22 +++---- .../screens/profileScreen/ProfileScreen.kt | 57 +++++++++++++------ .../screens/profileScreen/ProfileViewModel.kt | 15 ++++- 4 files changed, 68 insertions(+), 28 deletions(-) diff --git a/presentation/src/main/java/com/nto/presentation/composable/Navigation.kt b/presentation/src/main/java/com/nto/presentation/composable/Navigation.kt index 1bbb8f3..58fbed4 100644 --- a/presentation/src/main/java/com/nto/presentation/composable/Navigation.kt +++ b/presentation/src/main/java/com/nto/presentation/composable/Navigation.kt @@ -15,7 +15,7 @@ fun Navigation(navController: NavHostController, modifier: Modifier = Modifier) NavHost( navController = navController, modifier = modifier, - startDestination = Destinations.Login + startDestination = Destinations.Profile ) { composable { LoginScreen(navController) diff --git a/presentation/src/main/java/com/nto/presentation/composable/cards/VisitCard.kt b/presentation/src/main/java/com/nto/presentation/composable/cards/VisitCard.kt index 0cc5ed5..df310a5 100644 --- a/presentation/src/main/java/com/nto/presentation/composable/cards/VisitCard.kt +++ b/presentation/src/main/java/com/nto/presentation/composable/cards/VisitCard.kt @@ -24,6 +24,7 @@ import com.nto.data.models.cards.VisitCardDTO import com.nto.data.models.cards.VisitType import com.nto.presentation.R import com.nto.presentation.theme.NTOTheme +import com.nto.presentation.theme.raleway import java.time.format.DateTimeFormatter @Composable @@ -45,29 +46,30 @@ fun VisitCard(data: VisitCardDTO, modifier: Modifier = Modifier) { Column(horizontalAlignment = Alignment.Start) { Text( text = data.name, - style = NTOTheme.typography.displaySmall, - fontSize = 12.sp, - fontWeight = FontWeight.Bold + fontSize = 14.sp, + fontFamily = raleway, + fontWeight = FontWeight.Medium, + color = NTOTheme.colors.primaryText ) - Spacer(modifier = Modifier.height(10.dp)) + Spacer(modifier = Modifier.height(6.dp)) Text( text = data.id.toString(), - style = NTOTheme.typography.displaySmall, fontSize = 12.sp, - fontWeight = FontWeight.Thin + fontFamily = raleway, + color = NTOTheme.colors.primaryText ) } Column(horizontalAlignment = Alignment.End) { Text( text = data.dateString.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME), - style = NTOTheme.typography.displaySmall, - fontSize = 12.sp, + fontSize = 14.sp, + fontFamily = raleway, color = NTOTheme.colors.disabledText ) - Spacer(modifier = Modifier.height(10.dp)) + Spacer(modifier = Modifier.height(6.dp)) Text( text = stringResource(if (data.visitType == VisitType.PHONE_ENTRY) R.string.label_qr_login else R.string.label_card_login), - style = NTOTheme.typography.displaySmall, + fontFamily = raleway, fontSize = 12.sp, color = NTOTheme.colors.disabledText ) diff --git a/presentation/src/main/java/com/nto/presentation/screens/profileScreen/ProfileScreen.kt b/presentation/src/main/java/com/nto/presentation/screens/profileScreen/ProfileScreen.kt index 5e8582e..5addaed 100644 --- a/presentation/src/main/java/com/nto/presentation/screens/profileScreen/ProfileScreen.kt +++ b/presentation/src/main/java/com/nto/presentation/screens/profileScreen/ProfileScreen.kt @@ -48,6 +48,8 @@ import com.nto.presentation.composable.DecoratedButton import com.nto.presentation.composable.cards.VisitCard import com.nto.presentation.theme.NTOTheme import com.nto.presentation.theme.TextGray +import com.nto.presentation.theme.playfair +import com.nto.presentation.theme.raleway @Composable fun ProfileScreen( @@ -91,8 +93,9 @@ fun ProfileScreen( ) { Text( stringResource(R.string.title_profile), - style = NTOTheme.typography.titleLarge, - fontSize = 36.sp, + fontFamily = playfair, + color = NTOTheme.colors.primaryText, + fontSize = 32.sp, fontWeight = FontWeight.Bold ) Row(verticalAlignment = Alignment.CenterVertically) { @@ -156,7 +159,10 @@ fun ProfileScreen( } Spacer(modifier = Modifier.height(50.dp)) - Row(modifier = Modifier.fillMaxWidth()) { + Row( + modifier = Modifier.fillMaxWidth(), + verticalAlignment = Alignment.CenterVertically + ) { Image( painter = painterResource(R.drawable.logo_placeholder_user), modifier = Modifier @@ -176,23 +182,34 @@ fun ProfileScreen( ) { Text( state.secondName, - style = NTOTheme.typography.displaySmall, - fontWeight = FontWeight.Bold + fontFamily = raleway, + color = NTOTheme.colors.primaryText, + fontSize = 16.sp, + fontWeight = FontWeight.SemiBold, + lineHeight = 16.sp ) Text( state.firstName, - style = NTOTheme.typography.displaySmall, - fontWeight = FontWeight.Bold + fontFamily = raleway, + color = NTOTheme.colors.primaryText, + fontSize = 16.sp, + fontWeight = FontWeight.SemiBold, + lineHeight = 16.sp ) Text( state.thirdName, - style = NTOTheme.typography.displaySmall, - fontWeight = FontWeight.Bold + fontFamily = raleway, + color = NTOTheme.colors.primaryText, + fontSize = 16.sp, + fontWeight = FontWeight.SemiBold, + lineHeight = 16.sp ) - Spacer(modifier = Modifier.height(10.dp)) + Spacer(modifier = Modifier.height(8.dp)) Text( state.job, - style = NTOTheme.typography.placeholder, + fontWeight = FontWeight.Medium, + fontFamily = raleway, + fontSize = 14.sp, color = TextGray ) } @@ -210,18 +227,26 @@ fun ProfileScreen( ) { Text( stringResource(R.string.label_last_visit), - style = NTOTheme.typography.placeholder, - fontSize = 12.sp + fontWeight = FontWeight.Medium, + fontFamily = raleway, + color = NTOTheme.colors.primaryText, + fontSize = 14.sp ) Text( - state.lastOpen, style = NTOTheme.typography.placeholder, fontSize = 12.sp + state.lastOpen, + fontWeight = FontWeight.Normal, + fontFamily = raleway, + color = NTOTheme.colors.primaryText, + fontSize = 14.sp ) } Spacer(modifier = Modifier.height(20.dp)) Text( stringResource(R.string.label_visits), - style = NTOTheme.typography.displaySmall, - fontWeight = FontWeight.Bold + fontWeight = FontWeight.SemiBold, + fontSize = 20.sp, + fontFamily = raleway, + color = NTOTheme.colors.primaryText ) Spacer(modifier = Modifier.height(10.dp)) diff --git a/presentation/src/main/java/com/nto/presentation/screens/profileScreen/ProfileViewModel.kt b/presentation/src/main/java/com/nto/presentation/screens/profileScreen/ProfileViewModel.kt index 5bb86f7..b122518 100644 --- a/presentation/src/main/java/com/nto/presentation/screens/profileScreen/ProfileViewModel.kt +++ b/presentation/src/main/java/com/nto/presentation/screens/profileScreen/ProfileViewModel.kt @@ -5,6 +5,9 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import androidx.navigation.NavController import com.nto.data.models.Position +import com.nto.data.models.QRDTO +import com.nto.data.models.cards.VisitCardDTO +import com.nto.data.models.cards.VisitType import com.nto.data.utils.Destinations import com.nto.domain.usecase.ProfileUseCase import com.nto.presentation.R @@ -15,13 +18,23 @@ import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.launch +import java.time.LocalDateTime import javax.inject.Inject @HiltViewModel class ProfileViewModel @Inject constructor( private val useCase: ProfileUseCase, @ApplicationContext private val context: Context ) : ViewModel() { - private val _state = MutableStateFlow(ProfileState()) + private val _state = MutableStateFlow( + ProfileState( + "Николай", + "Одегов", + "Алексеевич", + "20 января 2024 20:21", + "Senior UI/UX designer", + visits = listOf(VisitCardDTO("Кабинет 207", 10020, LocalDateTime.now(), VisitType.CARD_ENTRY, qrCode = QRDTO(12032, "Кобинет 52"))) + ) + ) val state: StateFlow get() = _state.asStateFlow()