Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
55ef1ff
Changed to todo
AnaGarofalo Oct 16, 2025
b2d54c8
Agregamos coil
AnaGarofalo Oct 23, 2025
aeedf8f
Agregamos Retrofit
AnaGarofalo Oct 30, 2025
7fc269c
Agregamos fuente Poppings y tema
AnaGarofalo Oct 30, 2025
39ad39b
Agregamos tema
AnaGarofalo Oct 30, 2025
193f966
Retrofit - Login
AnaGarofalo Oct 30, 2025
e8ebe18
Retrofit - User
AnaGarofalo Oct 30, 2025
7d32881
Merge pull request #1 from AnaGarofalo/implementacion-retrofit
AnaGarofalo Oct 30, 2025
3f43ed2
Se agregan iconos y varios componentes
luisacosta121 Oct 30, 2025
edfc638
Merge branch 'master' into components
luisacosta121 Oct 30, 2025
d1a1e86
Se hacen correcciones varias, sobre todo en colores respecto al tema
luisacosta121 Oct 30, 2025
7090e22
Retrofit - create user
AnaGarofalo Oct 31, 2025
d9434be
Merge remote-tracking branch 'refs/remotes/origin/components' into ba…
BFChristian Oct 31, 2025
c73f1f1
Retrofit - Transactions
AnaGarofalo Oct 31, 2025
5a9e984
Merge pull request #3 from AnaGarofalo/implementacion-retrofit
AnaGarofalo Oct 30, 2025
24218f7
agregamos strings
BFChristian Oct 31, 2025
9ba4da7
agregamos componente topbar
BFChristian Oct 31, 2025
d26a668
agregamos componente NotificationItem.kt
BFChristian Oct 31, 2025
4098322
agregamos componente BaseScreen.kt
BFChristian Oct 31, 2025
7ced746
agregamos NotificationScreen.kt
BFChristian Oct 31, 2025
df26fe9
agregamos viewmodel de notification
BFChristian Oct 31, 2025
395ef5d
update del readme para el uso de base screen
BFChristian Oct 31, 2025
3c704b0
Merge pull request #2 from AnaGarofalo/components
luisacosta121 Oct 31, 2025
e02fbdc
dimensiones seteables
BFChristian Oct 31, 2025
e55d09b
Merge branch 'refs/heads/master' into base-screen
BFChristian Oct 31, 2025
aaf2c79
string categorias
BFChristian Oct 31, 2025
76637d3
Merge pull request #4 from AnaGarofalo/base-screen
BFChristian Oct 31, 2025
085be7f
strings
BFChristian Oct 31, 2025
4297014
InputBase y algunos fixes
AnaGarofalo Nov 1, 2025
8ec837c
botones login
AnaGarofalo Nov 1, 2025
0c8737f
updates de notificaciones
BFChristian Nov 1, 2025
1b43d21
icon flecha back
BFChristian Nov 1, 2025
e58a514
reciclado del ActionIconButton.kt
BFChristian Nov 1, 2025
152d21a
modificaciones
BFChristian Nov 1, 2025
1bb08d1
alternative sign up methods
AnaGarofalo Nov 1, 2025
1e7ca4e
Login navigation
AnaGarofalo Nov 1, 2025
bce1062
Sign up navigation
AnaGarofalo Nov 1, 2025
8680d17
Forgot Password base screen and navigation
AnaGarofalo Nov 1, 2025
0c8d2c0
Merge pull request #5 from AnaGarofalo/login-screen
AnaGarofalo Nov 1, 2025
df3cd0f
Merge pull request #6 from AnaGarofalo/base-screen
AnaGarofalo Nov 1, 2025
a3b4502
SignUp Screen
AnaGarofalo Nov 1, 2025
7a9e05c
Merge pull request #7 from AnaGarofalo/login-screen
AnaGarofalo Nov 1, 2025
cc8f272
Arregle color base input
AnaGarofalo Nov 1, 2025
fedfed6
primera pantalla de carga y seteo de pantala en main activity
BFChristian Nov 1, 2025
e30ee8c
update strings.xml
BFChristian Nov 1, 2025
c25f986
pantalla principal
BFChristian Nov 1, 2025
6424612
Merge branch 'master' into launch
BFChristian Nov 1, 2025
166cbc2
fix nav
BFChristian Nov 1, 2025
c837286
se agrega pantalla transaction, account balance; se modifica home; fa…
luisacosta121 Nov 2, 2025
b1c7689
OnboardingScreen.kt en nav
BFChristian Nov 2, 2025
6ce6c50
imagenes
BFChristian Nov 2, 2025
d496dda
onboarding screen (en proceso) y slider component
BFChristian Nov 2, 2025
b0d1ccd
stringss
BFChristian Nov 2, 2025
867e2f1
Merge pull request #9 from AnaGarofalo/listaPaginasLucasLuis
luisacosta121 Nov 2, 2025
ccf5514
Fix menor
AnaGarofalo Nov 2, 2025
88b89ba
forgot password screen
AnaGarofalo Nov 2, 2025
4e1c32e
forgot password strings
AnaGarofalo Nov 2, 2025
195a324
security pin screen
AnaGarofalo Nov 2, 2025
f205f50
new password
AnaGarofalo Nov 2, 2025
abdb7c6
Account Balance revisar
Nov 2, 2025
d0dc401
Merge pull request #8 from AnaGarofalo/launch
BFChristian Nov 2, 2025
6957b0b
changed password screen
AnaGarofalo Nov 2, 2025
0429af0
Merge branch 'master' into forgot-password
AnaGarofalo Nov 2, 2025
9392860
Merge pull request #10 from AnaGarofalo/forgot-password
AnaGarofalo Nov 2, 2025
55a994b
Componentes nuevos, componentes separados y colores importados
Nov 2, 2025
2830876
fixes menores
AnaGarofalo Nov 2, 2025
0e32449
otros fixes
AnaGarofalo Nov 2, 2025
21157eb
fixes esteticos
AnaGarofalo Nov 2, 2025
0289d15
NUEVO TEMAAAA
BFChristian Nov 2, 2025
69f62c7
LOGICA BIEN PEEERO HAY PROBLEMILLAS CON EL CONTENT
BFChristian Nov 2, 2025
386e2f1
agregar usuarios a la bdd y eliminar archivos que no se usan
AnaGarofalo Nov 2, 2025
6c9c606
Se agrega navegacion en la navBar, se creo pantalla de categories sol…
luisacosta121 Nov 2, 2025
5b1de75
Merge pull request #13 from AnaGarofalo/navegacion
luisacosta121 Nov 2, 2025
1ba4895
Merge branch 'master' into base-de-datos
AnaGarofalo Nov 2, 2025
0222c31
borrar imports viejos
AnaGarofalo Nov 2, 2025
c92d62f
Cambiar color fingerprint button
AnaGarofalo Nov 2, 2025
d0d1d0a
corregir string magico
AnaGarofalo Nov 2, 2025
5cb1ad1
Merge pull request #12 from AnaGarofalo/base-de-datos
AnaGarofalo Nov 2, 2025
b0e09a9
content ahora esta bieeen
BFChristian Nov 2, 2025
c50461b
vamos bien
BFChristian Nov 2, 2025
3f34cc8
nuevo theme chicuelos y strings
BFChristian Nov 3, 2025
ff5a2fd
ahora si
BFChristian Nov 3, 2025
98c6c0a
Merge branch 'master' into onboarding
BFChristian Nov 3, 2025
350b480
fix for merge
BFChristian Nov 3, 2025
fa1ad74
chau todo list
BFChristian Nov 3, 2025
3a76979
sacamos el unico stringgggggg
BFChristian Nov 3, 2025
5a66889
Merge pull request #14 from AnaGarofalo/onboarding
BFChristian Nov 3, 2025
903d9ca
fix menores
BFChristian Nov 3, 2025
29bbfcc
Se modifica pantalla de categorias
luisacosta121 Nov 3, 2025
8425887
Merge pull request #15 from AnaGarofalo/categoriesScreen
luisacosta121 Nov 3, 2025
55fda22
Se agrega circulo blanco alrededor de icono del auto
luisacosta121 Nov 3, 2025
c68e161
Merge pull request #16 from AnaGarofalo/circleCarWalletCard
luisacosta121 Nov 3, 2025
d71704f
Ajustes de las dos pantallas + ruta de la flecha y notificaciones
Nov 3, 2025
c1c92c2
Ajustes por merge y comentarios
Nov 3, 2025
1aff1e8
componentes separados
Nov 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
*.iml
.gradle
/local.properties
/.idea
/.idea/caches
/.idea/libraries
/.idea/modules.xml
Expand Down
1 change: 1 addition & 0 deletions .idea/.name

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/AndroidProjectSystem.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 1 addition & 3 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/copilot.data.migration.agent.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/copilot.data.migration.ask.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/copilot.data.migration.ask2agent.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/copilot.data.migration.edit.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

23 changes: 8 additions & 15 deletions .idea/deploymentTargetSelector.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions .idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

104 changes: 103 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ It's an app built with [Kotlin][1] that shows how to perform CRUD operations in
Below you can find the docs for each tehnology that is used in this app:

## Firebase Products:
* [Firebase Authentication][2]
* [Firebase Authentication](https://firebase.google.com/docs/auth)

## Android Architecture Components:
* [ViewModel][5]
Expand Down Expand Up @@ -56,6 +56,7 @@ The code in this project is licensed under the Apache License 2.0.
* This is not an officially supported Google product.

[1]: https://kotlinlang.org/
[2]: https://firebase.google.com/docs/auth
[3]: https://developer.android.com/topic/libraries/architecture
[5]: https://developer.android.com/topic/libraries/architecture/viewmodel
[6]: https://developer.android.com/training/dependency-injection/hilt-android
Expand All @@ -65,3 +66,104 @@ The code in this project is licensed under the Apache License 2.0.
[10]: https://medium.com/firebase-tips-tricks/how-to-read-data-from-room-using-kotlin-flow-in-jetpack-compose-7a720dec35f5
[12]: https://developer.android.com/guide/navigation
[13]: https://developer.android.com/training/data-storage/room

---

## Guía rápida: uso de `BaseScreen`

`BaseScreen` centraliza el layout de pantallas en Compose y expone slots para que agregues tus propios componentes sin repetir estructura.

- Props principales:
- `title: String?` – título simple para el TopBar (si no pasás `topBar`).
- `topBar: @Composable (() -> Unit)?` – TopBar custom (usa `AppTopBar` o el que quieras).
- `header: @Composable (() -> Unit)?` – Cabecera opcional sobre el contenido (chips, filtros, etc.).
- `content: @Composable (PaddingValues) -> Unit` – Contenido principal. Recibe el padding superior ya calculado.
- `bottomBar: @Composable (() -> Unit)?` – Barra inferior (por ejemplo `BottomNavigationBar`).
- `fab: @Composable (() -> Unit)?` – Floating Action Button opcional.
- `centerContent: Boolean` – Centra vertical y horizontalmente el contenido cuando es `true`.

- Estilos y comportamiento incorporados:
- Respeta el área segura de status bar para evitar solapes con la cámara/recortes.
- Pinta el fondo con `MaterialTheme.colorScheme.surface` dentro de un contenedor con bordes superiores curvos.
- Mantiene paddings y radios desde `ui.theme.Dimens`.

- Ejemplo mínimo:

```kotlin
@Composable
fun ExampleScreen() {
BaseScreen(
title = "Example",
bottomBar = { BottomNavigationBar() },
) { _ ->
// Tu contenido
Column(Modifier.fillMaxSize().padding(Dimens.paddingLarge)) {
Text("Hola BaseScreen")
}
}
}
```

- Ejemplo con TopBar custom + Header + FAB:

```kotlin
@Composable
fun WithHeaderAndFab() {
BaseScreen(
topBar = { AppTopBar(title = "Dashboard") },
header = {
Row(Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.spacedBy(8.dp)) {
FilterChip(label = "All")
FilterChip(label = "Income")
FilterChip(label = "Expense")
}
},
fab = { AddActionFab(onClick = { /* do something */ }) },
bottomBar = { BottomNavigationBar() }
) { innerPadding ->
LazyColumn(contentPadding = innerPadding) {
items(100) { index -> Text("Item #$index") }
}
}
}
```

### Ejemplo centrado (empty state)

```kotlin
@Composable
fun EmptyState() {
BaseScreen(title = "No Data", centerContent = true) { _ ->
Column(horizontalAlignment = Alignment.CenterHorizontally) {
Icon(Icons.Default.Info, contentDescription = null)
Spacer(Modifier.height(8.dp))
Text("Todavía no hay elementos")
}
}
}
```

### Ejemplo con lista seccionada (como Notification)

```kotlin
@Composable
fun SectionList(sections: List<Section>) {
BaseScreen(title = "Sectioned") { _ ->
LazyColumn(
modifier = Modifier.fillMaxSize().padding(Dimens.paddingMedium),
verticalArrangement = Arrangement.spacedBy(Dimens.paddingMedium),
contentPadding = PaddingValues(bottom = Dimens.paddingLarge)
) {
sections.forEach { section ->
item(section.title) { Text(section.title) }
items(section.items) { item -> ItemRow(item) }
}
}
}
}
```

- Recomendaciones:
- Cuando uses `LazyColumn`, pasá `contentPadding = PaddingValues(bottom = Dimens.paddingLarge)` si tenés navbar para evitar que el último ítem quede tapado.
- Si ves que el título se corta por la cámara/notch, el `BaseScreen` ya aplica `statusBarsPadding()` al TopBar.
- Para pantallas centradas (empty states, loaders): `centerContent = true`.
10 changes: 10 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,21 @@ dependencies {
implementation(libs.hilt.navigation.compose)
//Hilt
implementation(libs.hilt)
implementation(libs.material3)
implementation(libs.foundation)
implementation(libs.ui)
implementation(libs.lifecycle.viewmodel.ktx)
implementation(libs.runtime)
ksp(libs.hilt.compiler)
//Room
implementation(libs.room.runtime)
implementation(libs.room.ktx)
ksp(libs.room.compiler)
//Coil
implementation(libs.coil.compose)
// Retrofit
implementation(libs.retrofit)
implementation(libs.converter.gson)
//Serialization
implementation(libs.serialization)
//Tests
Expand Down

This file was deleted.

This file was deleted.

Loading