From 358521989bfba7c25af30047a2b25b93a100825c Mon Sep 17 00:00:00 2001 From: Nazario Date: Mon, 5 Jun 2023 16:02:18 +0200 Subject: Updated class 5/06/23 --- app/src/main/AndroidManifest.xml | 2 +- .../frannazario/proyectoandroid/AuthActivity.kt | 15 ----- .../frannazario/proyectoandroid/LoginFragment.kt | 28 --------- .../proyectoandroid/PasswordRecoveryFragment.kt | 21 ------- .../frannazario/proyectoandroid/SigninFragment.kt | 21 ------- .../data/datasources/SigninDataSource.kt | 8 +++ .../data/datasources/SigninRemoteDataSource.kt | 26 ++++++++ .../data/repositories/SigninRepository.kt | 16 +++++ .../data/responses/SigninResponse.kt | 8 +++ .../data/viewmodels/SigninViewModel.kt | 21 +++++++ .../presentation/activities/AuthActivity.kt | 15 +++++ .../presentation/fragments/LoginFragment.kt | 29 +++++++++ .../fragments/PasswordRecoveryFragment.kt | 21 +++++++ .../presentation/fragments/SigninFragment.kt | 38 ++++++++++++ .../proyectoandroid/presentation/ui/theme/Color.kt | 11 ++++ .../proyectoandroid/presentation/ui/theme/Theme.kt | 70 ++++++++++++++++++++++ .../proyectoandroid/presentation/ui/theme/Type.kt | 34 +++++++++++ .../frannazario/proyectoandroid/ui/theme/Color.kt | 11 ---- .../frannazario/proyectoandroid/ui/theme/Theme.kt | 70 ---------------------- .../frannazario/proyectoandroid/ui/theme/Type.kt | 34 ----------- app/src/main/res/navigation/nav_graph.xml | 6 +- 21 files changed, 301 insertions(+), 204 deletions(-) delete mode 100644 app/src/main/java/com/frannazario/proyectoandroid/AuthActivity.kt delete mode 100644 app/src/main/java/com/frannazario/proyectoandroid/LoginFragment.kt delete mode 100644 app/src/main/java/com/frannazario/proyectoandroid/PasswordRecoveryFragment.kt delete mode 100644 app/src/main/java/com/frannazario/proyectoandroid/SigninFragment.kt create mode 100644 app/src/main/java/com/frannazario/proyectoandroid/data/datasources/SigninDataSource.kt create mode 100644 app/src/main/java/com/frannazario/proyectoandroid/data/datasources/SigninRemoteDataSource.kt create mode 100644 app/src/main/java/com/frannazario/proyectoandroid/data/repositories/SigninRepository.kt create mode 100644 app/src/main/java/com/frannazario/proyectoandroid/data/responses/SigninResponse.kt create mode 100644 app/src/main/java/com/frannazario/proyectoandroid/data/viewmodels/SigninViewModel.kt create mode 100644 app/src/main/java/com/frannazario/proyectoandroid/presentation/activities/AuthActivity.kt create mode 100644 app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/LoginFragment.kt create mode 100644 app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/PasswordRecoveryFragment.kt create mode 100644 app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/SigninFragment.kt create mode 100644 app/src/main/java/com/frannazario/proyectoandroid/presentation/ui/theme/Color.kt create mode 100644 app/src/main/java/com/frannazario/proyectoandroid/presentation/ui/theme/Theme.kt create mode 100644 app/src/main/java/com/frannazario/proyectoandroid/presentation/ui/theme/Type.kt delete mode 100644 app/src/main/java/com/frannazario/proyectoandroid/ui/theme/Color.kt delete mode 100644 app/src/main/java/com/frannazario/proyectoandroid/ui/theme/Theme.kt delete mode 100644 app/src/main/java/com/frannazario/proyectoandroid/ui/theme/Type.kt diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 58e98da..449cc20 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -13,7 +13,7 @@ android:theme="@style/Theme.ProyectoAndroid" tools:targetApi="31"> diff --git a/app/src/main/java/com/frannazario/proyectoandroid/AuthActivity.kt b/app/src/main/java/com/frannazario/proyectoandroid/AuthActivity.kt deleted file mode 100644 index cf642b0..0000000 --- a/app/src/main/java/com/frannazario/proyectoandroid/AuthActivity.kt +++ /dev/null @@ -1,15 +0,0 @@ -package com.frannazario.proyectoandroid - -import android.os.Bundle -import androidx.fragment.app.FragmentActivity -import com.frannazario.proyectoandroid.databinding.ActivityAuthBinding - -class AuthActivity : FragmentActivity() { - private lateinit var binding: ActivityAuthBinding - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - binding = ActivityAuthBinding.inflate(layoutInflater) - setContentView(binding.root) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/frannazario/proyectoandroid/LoginFragment.kt b/app/src/main/java/com/frannazario/proyectoandroid/LoginFragment.kt deleted file mode 100644 index 3bf3107..0000000 --- a/app/src/main/java/com/frannazario/proyectoandroid/LoginFragment.kt +++ /dev/null @@ -1,28 +0,0 @@ -package com.frannazario.proyectoandroid - -import android.os.Bundle -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import androidx.fragment.app.Fragment -import androidx.navigation.fragment.findNavController -import com.frannazario.proyectoandroid.databinding.FragmentLoginBinding - -class LoginFragment: Fragment() { - private lateinit var binding: FragmentLoginBinding - - override fun onCreateView( - inflater: LayoutInflater, - container: ViewGroup?, - savedInstanceState: Bundle? - ): View { - binding = FragmentLoginBinding.inflate(inflater, container, false) - binding.signinBtn.setOnClickListener { - findNavController().navigate(R.id.navigate_from_loginfragment_to_signinfragment) - } - binding.forgetPasswordBtn.setOnClickListener { - findNavController().navigate(R.id.navigate_from_loginfragment_to_passwordrecoveryfragment) - } - return binding.root - } -} \ No newline at end of file diff --git a/app/src/main/java/com/frannazario/proyectoandroid/PasswordRecoveryFragment.kt b/app/src/main/java/com/frannazario/proyectoandroid/PasswordRecoveryFragment.kt deleted file mode 100644 index f330279..0000000 --- a/app/src/main/java/com/frannazario/proyectoandroid/PasswordRecoveryFragment.kt +++ /dev/null @@ -1,21 +0,0 @@ -package com.frannazario.proyectoandroid - -import android.os.Bundle -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import androidx.fragment.app.Fragment -import com.frannazario.proyectoandroid.databinding.FragmentPasswordRecoveryBinding - -class PasswordRecoveryFragment: Fragment() { - private lateinit var binding: FragmentPasswordRecoveryBinding - - override fun onCreateView( - inflater: LayoutInflater, - container: ViewGroup?, - savedInstanceState: Bundle? - ): View { - binding = FragmentPasswordRecoveryBinding.inflate(inflater, container, false) - return binding.root - } -} \ No newline at end of file diff --git a/app/src/main/java/com/frannazario/proyectoandroid/SigninFragment.kt b/app/src/main/java/com/frannazario/proyectoandroid/SigninFragment.kt deleted file mode 100644 index ccec5af..0000000 --- a/app/src/main/java/com/frannazario/proyectoandroid/SigninFragment.kt +++ /dev/null @@ -1,21 +0,0 @@ -package com.frannazario.proyectoandroid - -import android.os.Bundle -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import androidx.fragment.app.Fragment -import com.frannazario.proyectoandroid.databinding.FragmentSigninBinding - -class SigninFragment: Fragment() { - private lateinit var binding: FragmentSigninBinding - - override fun onCreateView( - inflater: LayoutInflater, - container: ViewGroup?, - savedInstanceState: Bundle? - ): View { - binding = FragmentSigninBinding.inflate(inflater, container, false) - return binding.root - } -} \ No newline at end of file diff --git a/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/SigninDataSource.kt b/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/SigninDataSource.kt new file mode 100644 index 0000000..4290c0a --- /dev/null +++ b/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/SigninDataSource.kt @@ -0,0 +1,8 @@ +package com.frannazario.proyectoandroid.data.datasources + +import androidx.lifecycle.LiveData +import com.frannazario.proyectoandroid.data.responses.SigninResponse + +interface SigninDataSource { + fun register(email: String, password: String): LiveData +} \ No newline at end of file diff --git a/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/SigninRemoteDataSource.kt b/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/SigninRemoteDataSource.kt new file mode 100644 index 0000000..7841045 --- /dev/null +++ b/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/SigninRemoteDataSource.kt @@ -0,0 +1,26 @@ +package com.frannazario.proyectoandroid.data.datasources + +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import com.frannazario.proyectoandroid.data.responses.SigninResponse +import com.google.firebase.auth.FirebaseAuth + +class SigninRemoteDataSource: SigninDataSource { + private val auth = FirebaseAuth.getInstance() + + override fun register(email: String, password: String): LiveData { + val resultLiveData = MutableLiveData() + + auth.createUserWithEmailAndPassword(email, password) + .addOnCompleteListener { task -> + if (task.isSuccessful) { + val user = auth.currentUser + resultLiveData.value = SigninResponse.Success(user) + } else { + val error = task.exception?.message ?: "Error desconocido" + resultLiveData.value = SigninResponse.Error(error) + } + } + return resultLiveData + } +} \ No newline at end of file diff --git a/app/src/main/java/com/frannazario/proyectoandroid/data/repositories/SigninRepository.kt b/app/src/main/java/com/frannazario/proyectoandroid/data/repositories/SigninRepository.kt new file mode 100644 index 0000000..c5c6fc9 --- /dev/null +++ b/app/src/main/java/com/frannazario/proyectoandroid/data/repositories/SigninRepository.kt @@ -0,0 +1,16 @@ +package com.frannazario.proyectoandroid.data.repositories + +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import com.frannazario.proyectoandroid.data.datasources.SigninDataSource +import com.frannazario.proyectoandroid.data.datasources.SigninRemoteDataSource +import com.frannazario.proyectoandroid.data.responses.SigninResponse +import com.google.firebase.auth.FirebaseAuth + +class SigninRepository( + private val remoteDataSource: SigninDataSource = SigninRemoteDataSource() +) { + fun register(email: String, password: String): LiveData { + return remoteDataSource.register(email, password) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/frannazario/proyectoandroid/data/responses/SigninResponse.kt b/app/src/main/java/com/frannazario/proyectoandroid/data/responses/SigninResponse.kt new file mode 100644 index 0000000..df30b8c --- /dev/null +++ b/app/src/main/java/com/frannazario/proyectoandroid/data/responses/SigninResponse.kt @@ -0,0 +1,8 @@ +package com.frannazario.proyectoandroid.data.responses + +import com.google.firebase.auth.FirebaseUser + +sealed class SigninResponse { + data class Success(val user: FirebaseUser?): SigninResponse() + data class Error(val error: String): SigninResponse() +} \ No newline at end of file diff --git a/app/src/main/java/com/frannazario/proyectoandroid/data/viewmodels/SigninViewModel.kt b/app/src/main/java/com/frannazario/proyectoandroid/data/viewmodels/SigninViewModel.kt new file mode 100644 index 0000000..e7f70ed --- /dev/null +++ b/app/src/main/java/com/frannazario/proyectoandroid/data/viewmodels/SigninViewModel.kt @@ -0,0 +1,21 @@ +package com.frannazario.proyectoandroid.data.viewmodels + +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.ViewModel +import com.frannazario.proyectoandroid.data.repositories.SigninRepository +import com.frannazario.proyectoandroid.data.responses.SigninResponse + +class SigninViewModel(private val repository: SigninRepository = SigninRepository()): ViewModel() { + + private val signinResponseLiveData = MutableLiveData() + + fun getSigninResultLiveData(): LiveData { + return signinResponseLiveData + } + + fun register(email: String, password: String) { + val response = repository.register(email, password) + signinResponseLiveData.postValue(response.value) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/frannazario/proyectoandroid/presentation/activities/AuthActivity.kt b/app/src/main/java/com/frannazario/proyectoandroid/presentation/activities/AuthActivity.kt new file mode 100644 index 0000000..ea3c927 --- /dev/null +++ b/app/src/main/java/com/frannazario/proyectoandroid/presentation/activities/AuthActivity.kt @@ -0,0 +1,15 @@ +package com.frannazario.proyectoandroid.presentation.activities + +import android.os.Bundle +import androidx.fragment.app.FragmentActivity +import com.frannazario.proyectoandroid.databinding.ActivityAuthBinding + +class AuthActivity : FragmentActivity() { + private lateinit var binding: ActivityAuthBinding + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ActivityAuthBinding.inflate(layoutInflater) + setContentView(binding.root) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/LoginFragment.kt b/app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/LoginFragment.kt new file mode 100644 index 0000000..fcabbe1 --- /dev/null +++ b/app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/LoginFragment.kt @@ -0,0 +1,29 @@ +package com.frannazario.proyectoandroid.presentation.fragments + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import androidx.navigation.fragment.findNavController +import com.frannazario.proyectoandroid.R +import com.frannazario.proyectoandroid.databinding.FragmentLoginBinding + +class LoginFragment: Fragment() { + private lateinit var binding: FragmentLoginBinding + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + binding = FragmentLoginBinding.inflate(inflater, container, false) + binding.signinBtn.setOnClickListener { + findNavController().navigate(R.id.navigate_from_loginfragment_to_signinfragment) + } + binding.forgetPasswordBtn.setOnClickListener { + findNavController().navigate(R.id.navigate_from_loginfragment_to_passwordrecoveryfragment) + } + return binding.root + } +} \ No newline at end of file diff --git a/app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/PasswordRecoveryFragment.kt b/app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/PasswordRecoveryFragment.kt new file mode 100644 index 0000000..35b56d0 --- /dev/null +++ b/app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/PasswordRecoveryFragment.kt @@ -0,0 +1,21 @@ +package com.frannazario.proyectoandroid.presentation.fragments + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import com.frannazario.proyectoandroid.databinding.FragmentPasswordRecoveryBinding + +class PasswordRecoveryFragment: Fragment() { + private lateinit var binding: FragmentPasswordRecoveryBinding + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + binding = FragmentPasswordRecoveryBinding.inflate(inflater, container, false) + return binding.root + } +} \ No newline at end of file diff --git a/app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/SigninFragment.kt b/app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/SigninFragment.kt new file mode 100644 index 0000000..2b4f40e --- /dev/null +++ b/app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/SigninFragment.kt @@ -0,0 +1,38 @@ +package com.frannazario.proyectoandroid.presentation.fragments + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import com.frannazario.proyectoandroid.data.responses.SigninResponse +import com.frannazario.proyectoandroid.data.viewmodels.SigninViewModel +import com.frannazario.proyectoandroid.databinding.FragmentSigninBinding + +class SigninFragment: Fragment() { + private lateinit var binding: FragmentSigninBinding + private lateinit var viewModel: SigninViewModel + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + viewModel = SigninViewModel() + } + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + binding = FragmentSigninBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + viewModel.getSigninResultLiveData().observe(viewLifecycleOwner) { response -> + when (response) { + is SigninResponse.Success -> {} + is SigninResponse.Error -> {} + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/frannazario/proyectoandroid/presentation/ui/theme/Color.kt b/app/src/main/java/com/frannazario/proyectoandroid/presentation/ui/theme/Color.kt new file mode 100644 index 0000000..d31dad1 --- /dev/null +++ b/app/src/main/java/com/frannazario/proyectoandroid/presentation/ui/theme/Color.kt @@ -0,0 +1,11 @@ +package com.frannazario.proyectoandroid.presentation.ui.theme + +import androidx.compose.ui.graphics.Color + +val Purple80 = Color(0xFFD0BCFF) +val PurpleGrey80 = Color(0xFFCCC2DC) +val Pink80 = Color(0xFFEFB8C8) + +val Purple40 = Color(0xFF6650a4) +val PurpleGrey40 = Color(0xFF625b71) +val Pink40 = Color(0xFF7D5260) \ No newline at end of file diff --git a/app/src/main/java/com/frannazario/proyectoandroid/presentation/ui/theme/Theme.kt b/app/src/main/java/com/frannazario/proyectoandroid/presentation/ui/theme/Theme.kt new file mode 100644 index 0000000..4693ca1 --- /dev/null +++ b/app/src/main/java/com/frannazario/proyectoandroid/presentation/ui/theme/Theme.kt @@ -0,0 +1,70 @@ +package com.frannazario.proyectoandroid.presentation.ui.theme + +import android.app.Activity +import android.os.Build +import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.darkColorScheme +import androidx.compose.material3.dynamicDarkColorScheme +import androidx.compose.material3.dynamicLightColorScheme +import androidx.compose.material3.lightColorScheme +import androidx.compose.runtime.Composable +import androidx.compose.runtime.SideEffect +import androidx.compose.ui.graphics.toArgb +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.platform.LocalView +import androidx.core.view.WindowCompat + +private val DarkColorScheme = darkColorScheme( + primary = Purple80, + secondary = PurpleGrey80, + tertiary = Pink80 +) + +private val LightColorScheme = lightColorScheme( + primary = Purple40, + secondary = PurpleGrey40, + tertiary = Pink40 + + /* Other default colors to override + background = Color(0xFFFFFBFE), + surface = Color(0xFFFFFBFE), + onPrimary = Color.White, + onSecondary = Color.White, + onTertiary = Color.White, + onBackground = Color(0xFF1C1B1F), + onSurface = Color(0xFF1C1B1F), + */ +) + +@Composable +fun ProyectoAndroidTheme( + darkTheme: Boolean = isSystemInDarkTheme(), + // Dynamic color is available on Android 12+ + dynamicColor: Boolean = true, + content: @Composable () -> Unit +) { + val colorScheme = when { + dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> { + val context = LocalContext.current + if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context) + } + + darkTheme -> DarkColorScheme + else -> LightColorScheme + } + val view = LocalView.current + if (!view.isInEditMode) { + SideEffect { + val window = (view.context as Activity).window + window.statusBarColor = colorScheme.primary.toArgb() + WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = darkTheme + } + } + + MaterialTheme( + colorScheme = colorScheme, + typography = Typography, + content = content + ) +} \ No newline at end of file diff --git a/app/src/main/java/com/frannazario/proyectoandroid/presentation/ui/theme/Type.kt b/app/src/main/java/com/frannazario/proyectoandroid/presentation/ui/theme/Type.kt new file mode 100644 index 0000000..5e3a43b --- /dev/null +++ b/app/src/main/java/com/frannazario/proyectoandroid/presentation/ui/theme/Type.kt @@ -0,0 +1,34 @@ +package com.frannazario.proyectoandroid.presentation.ui.theme + +import androidx.compose.material3.Typography +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontFamily +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.sp + +// Set of Material typography styles to start with +val Typography = Typography( + bodyLarge = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Normal, + fontSize = 16.sp, + lineHeight = 24.sp, + letterSpacing = 0.5.sp + ) + /* Other default text styles to override + titleLarge = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Normal, + fontSize = 22.sp, + lineHeight = 28.sp, + letterSpacing = 0.sp + ), + labelSmall = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Medium, + fontSize = 11.sp, + lineHeight = 16.sp, + letterSpacing = 0.5.sp + ) + */ +) \ No newline at end of file diff --git a/app/src/main/java/com/frannazario/proyectoandroid/ui/theme/Color.kt b/app/src/main/java/com/frannazario/proyectoandroid/ui/theme/Color.kt deleted file mode 100644 index d982329..0000000 --- a/app/src/main/java/com/frannazario/proyectoandroid/ui/theme/Color.kt +++ /dev/null @@ -1,11 +0,0 @@ -package com.frannazario.proyectoandroid.ui.theme - -import androidx.compose.ui.graphics.Color - -val Purple80 = Color(0xFFD0BCFF) -val PurpleGrey80 = Color(0xFFCCC2DC) -val Pink80 = Color(0xFFEFB8C8) - -val Purple40 = Color(0xFF6650a4) -val PurpleGrey40 = Color(0xFF625b71) -val Pink40 = Color(0xFF7D5260) \ No newline at end of file diff --git a/app/src/main/java/com/frannazario/proyectoandroid/ui/theme/Theme.kt b/app/src/main/java/com/frannazario/proyectoandroid/ui/theme/Theme.kt deleted file mode 100644 index 8b02c04..0000000 --- a/app/src/main/java/com/frannazario/proyectoandroid/ui/theme/Theme.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.frannazario.proyectoandroid.ui.theme - -import android.app.Activity -import android.os.Build -import androidx.compose.foundation.isSystemInDarkTheme -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.darkColorScheme -import androidx.compose.material3.dynamicDarkColorScheme -import androidx.compose.material3.dynamicLightColorScheme -import androidx.compose.material3.lightColorScheme -import androidx.compose.runtime.Composable -import androidx.compose.runtime.SideEffect -import androidx.compose.ui.graphics.toArgb -import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.platform.LocalView -import androidx.core.view.WindowCompat - -private val DarkColorScheme = darkColorScheme( - primary = Purple80, - secondary = PurpleGrey80, - tertiary = Pink80 -) - -private val LightColorScheme = lightColorScheme( - primary = Purple40, - secondary = PurpleGrey40, - tertiary = Pink40 - - /* Other default colors to override - background = Color(0xFFFFFBFE), - surface = Color(0xFFFFFBFE), - onPrimary = Color.White, - onSecondary = Color.White, - onTertiary = Color.White, - onBackground = Color(0xFF1C1B1F), - onSurface = Color(0xFF1C1B1F), - */ -) - -@Composable -fun ProyectoAndroidTheme( - darkTheme: Boolean = isSystemInDarkTheme(), - // Dynamic color is available on Android 12+ - dynamicColor: Boolean = true, - content: @Composable () -> Unit -) { - val colorScheme = when { - dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> { - val context = LocalContext.current - if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context) - } - - darkTheme -> DarkColorScheme - else -> LightColorScheme - } - val view = LocalView.current - if (!view.isInEditMode) { - SideEffect { - val window = (view.context as Activity).window - window.statusBarColor = colorScheme.primary.toArgb() - WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = darkTheme - } - } - - MaterialTheme( - colorScheme = colorScheme, - typography = Typography, - content = content - ) -} \ No newline at end of file diff --git a/app/src/main/java/com/frannazario/proyectoandroid/ui/theme/Type.kt b/app/src/main/java/com/frannazario/proyectoandroid/ui/theme/Type.kt deleted file mode 100644 index 4bae58a..0000000 --- a/app/src/main/java/com/frannazario/proyectoandroid/ui/theme/Type.kt +++ /dev/null @@ -1,34 +0,0 @@ -package com.frannazario.proyectoandroid.ui.theme - -import androidx.compose.material3.Typography -import androidx.compose.ui.text.TextStyle -import androidx.compose.ui.text.font.FontFamily -import androidx.compose.ui.text.font.FontWeight -import androidx.compose.ui.unit.sp - -// Set of Material typography styles to start with -val Typography = Typography( - bodyLarge = TextStyle( - fontFamily = FontFamily.Default, - fontWeight = FontWeight.Normal, - fontSize = 16.sp, - lineHeight = 24.sp, - letterSpacing = 0.5.sp - ) - /* Other default text styles to override - titleLarge = TextStyle( - fontFamily = FontFamily.Default, - fontWeight = FontWeight.Normal, - fontSize = 22.sp, - lineHeight = 28.sp, - letterSpacing = 0.sp - ), - labelSmall = TextStyle( - fontFamily = FontFamily.Default, - fontWeight = FontWeight.Medium, - fontSize = 11.sp, - lineHeight = 16.sp, - letterSpacing = 0.5.sp - ) - */ -) \ No newline at end of file diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml index 969031b..cb1a441 100644 --- a/app/src/main/res/navigation/nav_graph.xml +++ b/app/src/main/res/navigation/nav_graph.xml @@ -7,7 +7,7 @@ @@ -23,13 +23,13 @@ -- cgit v1.2.3-54-g00ecf