Skip to content

Commit

Permalink
#1 Textos corregidos, Type.kt -> Composables de texto a usar en la app
Browse files Browse the repository at this point in the history
  • Loading branch information
Richi-Mi committed Mar 17, 2024
1 parent 70dba4c commit 2b70d41
Show file tree
Hide file tree
Showing 10 changed files with 228 additions and 317 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import androidx.navigation.compose.rememberNavController
import org.coderic.protective.mobile.model.Routes
import org.coderic.protective.mobile.presentation.DashBoardScreen
import org.coderic.protective.mobile.presentation.DeviceScreen
import org.coderic.protective.mobile.presentation.LoadingScreen
import org.coderic.protective.mobile.presentation.pet.PetScreen
import org.coderic.protective.mobile.presentation.pet.PetViewModel
import org.coderic.protective.mobile.presentation.components.BottomBar
Expand All @@ -23,14 +24,17 @@ class MainActivity : ComponentActivity() {
super.onCreate(savedInstanceState)

setContent {

CocoAppTheme {
// A surface container using the 'background' color from the theme
val navController = rememberNavController()
Scaffold (
modifier = Modifier
.fillMaxSize(),
contentColor = MaterialTheme.colorScheme.background,
bottomBar = { BottomBar( navController ) }
bottomBar = {
BottomBar( navController )
}
) { paddingValues ->
NavHost(
navController = navController,
Expand All @@ -43,7 +47,7 @@ class MainActivity : ComponentActivity() {
PetScreen( paddingValues = paddingValues, PetViewModel() )
}
composable( Routes.ExploreScreen.route ) {
// TODO: Finish the explore Screen
LoadingScreen(paddingValues = paddingValues )
}
composable( Routes.ManageScreen.route ) {
DeviceScreen( paddingValues )
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,8 @@ package org.coderic.protective.mobile.model.datos
* @param status Shows if the device is conected.
* @param battery Shows the device battery state.
* */
data class Device( val name: String, var status: Boolean, var battery: Int )
data class Device(
val name: String,
var status: Boolean = false,
var battery: Int = 0
)
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import androidx.compose.ui.unit.dp
import androidx.navigation.NavHostController
import org.coderic.protective.mobile.R
import org.coderic.protective.mobile.model.Routes
import org.coderic.protective.mobile.presentation.pet.PetTitleContentText
import org.coderic.protective.mobile.ui.theme.PetCareTitleText
import org.coderic.protective.mobile.ui.theme.fredoka

@Composable
Expand Down Expand Up @@ -109,7 +109,7 @@ fun ShowMyPets() {
modifier = Modifier.padding( 8.dp )
) {
Icon(painter = painterResource(id = R.drawable.pet), contentDescription = "Pet")
PetTitleContentText(text = "My Pets")
PetCareTitleText(text = "My Pets", 24)
}
Row ( horizontalArrangement = Arrangement.SpaceEvenly,
modifier = Modifier
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,37 +8,31 @@ import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.calculateStartPadding
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Home
import androidx.compose.material.icons.rounded.Star
import androidx.compose.material3.Card
import androidx.compose.material3.CardDefaults
import androidx.compose.material3.Icon
import androidx.compose.material3.LinearProgressIndicator
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.SuggestionChip
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import org.coderic.protective.mobile.R
import org.coderic.protective.mobile.ui.theme.fredoka
import org.coderic.protective.mobile.ui.theme.PetCareContentText
import org.coderic.protective.mobile.ui.theme.PetCareTitleText

@Composable
fun DeviceScreen(paddingValues: PaddingValues) {
Expand Down Expand Up @@ -93,8 +87,8 @@ fun TitleNameDevice() {
.background(Color.White),
horizontalArrangement = Arrangement.SpaceBetween,
verticalAlignment = Alignment.CenterVertically ) {
DeviceText("Fi Smart Collar", 28, false )
DeviceText("Blocky", 16, true )
PetCareTitleText( text = "Fi Smart Collar", size = 28 )
PetCareContentText(text = "Blocky", size = 16)
}
}
}
Expand All @@ -109,12 +103,13 @@ fun StatusDevice() {
elevation = CardDefaults.cardElevation( 16.dp )
) {
Row( Modifier.padding(16.dp)) {
DeviceText("Connected", 16, true, modifier = Modifier.weight(1f))
PetCareContentText(text = "Connected", size = 16, modifier = Modifier.weight( 1f ), align = TextAlign.Start )

Icon(painterResource(id = R.drawable.bateria ), contentDescription = "Pila", tint = Color.Black,
modifier = Modifier.size(16.dp))
Spacer(modifier = Modifier.width(8.dp))
DeviceText("46 %", 16, true )

PetCareContentText(text = "46 %", size = 16)
}
}
}
Expand All @@ -134,7 +129,7 @@ fun PetStatus() {
modifier = Modifier.size(24.dp),
tint = Color.Black
)
DeviceText("Pet Status", 24, false )
PetCareTitleText("Pet Status", 24 )
}
Row(Modifier.padding( horizontal = 16.dp, vertical = 16.dp )) {
Card {
Expand All @@ -146,7 +141,10 @@ fun PetStatus() {
.size(80.dp)
)
}
Column {
Column(
verticalArrangement = Arrangement.SpaceEvenly,
modifier = Modifier.fillMaxHeight()
) {
Status("Health", 88)
Status("Food", 48)
Status("Mood", 51)
Expand All @@ -160,19 +158,8 @@ fun Status(name: String, value: Int) {
Row(
verticalAlignment = Alignment.CenterVertically
) {
DeviceText(name, 12, true, Modifier.padding(end = 16.dp, start = 16.dp ))
PetCareContentText( name, 12, modifier = Modifier.padding(end = 16.dp, start = 16.dp ))
LinearProgressIndicator(progress = (value.toFloat() / 100), modifier = Modifier.weight(1f) )
DeviceText(txt = "$value %", 12, true, Modifier.padding(start = 16.dp), Color.Red )
PetCareContentText("$value %", 12, Color.Red, modifier = Modifier.padding(start = 16.dp) )
}
}
@Composable
fun DeviceText( txt: String, size: Int, light: Boolean, modifier: Modifier = Modifier, color: Color = Color.Black ) {
Text(
modifier = modifier,
text = txt,
fontSize = size.sp,
fontFamily = fredoka,
fontWeight = if( light ) FontWeight.Medium else FontWeight.Bold,
color = color
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import org.coderic.protective.mobile.R
import org.coderic.protective.mobile.ui.theme.PetCareTitleText
import org.coderic.protective.mobile.ui.theme.fredoka
import org.coderic.protective.mobile.ui.theme.seed

Expand All @@ -26,7 +27,7 @@ fun LoadingScreen(paddingValues: PaddingValues) {
Modifier
.fillMaxSize()
.background(seed)
.padding( paddingValues ),
.padding(paddingValues),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {
Expand All @@ -35,12 +36,7 @@ fun LoadingScreen(paddingValues: PaddingValues) {
contentDescription = "loading",
modifier = Modifier.size( 320.dp )
)
Text(
text = stringResource(id = R.string.loading),
fontSize = 32.sp,
fontFamily = fredoka,
letterSpacing = 5.sp
)
PetCareTitleText(text = stringResource(id = R.string.loading), size = 32 )
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import androidx.compose.material.icons.filled.LocationOn
import androidx.compose.material3.Icon
import androidx.compose.material3.NavigationBar
import androidx.compose.material3.NavigationBarItem
import androidx.compose.material3.NavigationBarItemColors
import androidx.compose.material3.NavigationBarItemDefaults
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
Expand All @@ -16,18 +16,17 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontWeight
import androidx.navigation.NavHostController
import org.coderic.protective.mobile.R
import org.coderic.protective.mobile.model.Routes
import org.coderic.protective.mobile.ui.theme.fredoka
import org.coderic.protective.mobile.ui.theme.MyNavBarText
import org.coderic.protective.mobile.ui.theme.navColor
import org.coderic.protective.mobile.ui.theme.selectedIconColor

@Composable
fun BottomBar( navController: NavHostController) {
var screen by remember { mutableStateOf( 1 ) }
NavigationBar(
NavigationBar (
containerColor = navColor
) {
NavigationBarItem(
Expand All @@ -37,64 +36,47 @@ fun BottomBar( navController: NavHostController) {
navController.navigate( Routes.MainScreen.route )
},
icon = { Icon(Icons.Filled.Home, "Home" ) },
label = { MyTextNavBar(R.string.home) },
colors = NavigationBarItemDefaults.colors(
selectedIconColor = Color.White,
unselectedIconColor = Color.White,
indicatorColor = selectedIconColor
)
label = { MyNavBarText( stringResource(id = R.string.home ) ) },
colors = navBarItemColors()
)
NavigationBarItem(
selected = screen == 3,
onClick = {
screen = 3
screen = 3
navController.navigate( Routes.ExploreScreen.route )
},
icon = { Icon(Icons.Filled.LocationOn, "Location") },
label = { MyTextNavBar(R.string.explore) },
colors = NavigationBarItemDefaults.colors(
selectedIconColor = Color.White,
unselectedIconColor = Color.White,
indicatorColor = selectedIconColor
)
label = { MyNavBarText( stringResource(id = R.string.explore) ) },
colors = navBarItemColors()
)
NavigationBarItem(
selected = screen == 4,
onClick = {
screen = 4
screen = 4
navController.navigate( Routes.ManageScreen.route )
},
icon = { Icon(painterResource(id = R.drawable.devices_icon), "Manage" ) },
label = { MyTextNavBar(R.string.manage) },
colors = NavigationBarItemDefaults.colors(
selectedIconColor = Color.White,
unselectedIconColor = Color.White,
indicatorColor = selectedIconColor
)
icon = { Icon(painterResource(id = R.drawable.devices_icon), "Manage" ) },
label = { MyNavBarText( stringResource( id = R.string.manage ) ) },
colors = navBarItemColors()
)
NavigationBarItem(
selected = screen == 5,
onClick = {
screen = 5
navController.navigate( Routes.MyPetScreen.route )
},
icon = { Icon(painterResource(id = R.drawable.sound_dog_icon), "Dog", tint = Color.White) },
label = { MyTextNavBar(R.string.profile) },
colors = NavigationBarItemDefaults.colors(
selectedIconColor = Color.White,
unselectedIconColor = Color.White,
indicatorColor = selectedIconColor
)
icon = { Icon(painterResource(id = R.drawable.sound_dog_icon), "Dog", tint = Color.White) },
label = { MyNavBarText( stringResource(id = R.string.profile)) },
colors = navBarItemColors()
)
}
}

@Composable
fun MyTextNavBar(txt: Int) {
Text(
text = stringResource(id = txt),
fontFamily = fredoka,
fontWeight = FontWeight.Medium,
color = Color.White
fun navBarItemColors() : NavigationBarItemColors {
return NavigationBarItemDefaults.colors(
selectedIconColor = Color.White,
unselectedIconColor = Color.White,
indicatorColor = selectedIconColor
)
}
}

Loading

0 comments on commit 2b70d41

Please sign in to comment.