From 2cbd0f2ca3a6e4543c98641e522dc307a8958ccf Mon Sep 17 00:00:00 2001 From: Milton Gonzalez Date: Thu, 23 Apr 2026 08:54:13 -0500 Subject: [PATCH] Add Android about screen --- CHANGELOG.md | 8 ++- VERSION | 2 +- android/app/build.gradle | 4 +- .../linkedcorp/linkedsign/ui/LinkedSignApp.kt | 52 +++++++++++++++++-- backend/package.json | 2 +- frontend/package.json | 2 +- 6 files changed, 61 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 88334cf..29e8a03 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,10 +2,16 @@ ## Versión actual -- Versión base: `1.0.4` +- Versión base: `1.1.0` ## Historial +### 1.1.0 - 2026-04-23 + +- Se agrega pantalla About en Android con versión y texto de uso. +- Se actualiza el encabezado Android a la marca solicitada. +- Se reduce la altura del menú inferior Android sin cambiar el tamaño de los íconos. + ### 1.0.4 - 2026-04-23 - Se muestra la versión de LinkedSign en el inicio de sesión web y Android. diff --git a/VERSION b/VERSION index ee90284..9084fa2 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.0.4 +1.1.0 diff --git a/android/app/build.gradle b/android/app/build.gradle index 21934bb..15a368e 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -18,8 +18,8 @@ android { applicationId "net.linkedcorp.linkedsign" minSdk 26 targetSdk 35 - versionCode 10004 - versionName "1.0.4" + versionCode 10100 + versionName "1.1.0" buildConfigField "String", "API_BASE_URL", "\"${apiBaseUrl}\"" } diff --git a/android/app/src/main/java/net/linkedcorp/linkedsign/ui/LinkedSignApp.kt b/android/app/src/main/java/net/linkedcorp/linkedsign/ui/LinkedSignApp.kt index be33089..7441721 100644 --- a/android/app/src/main/java/net/linkedcorp/linkedsign/ui/LinkedSignApp.kt +++ b/android/app/src/main/java/net/linkedcorp/linkedsign/ui/LinkedSignApp.kt @@ -54,6 +54,7 @@ import androidx.compose.material.icons.outlined.Draw import androidx.compose.material.icons.outlined.Delete import androidx.compose.material.icons.outlined.Fingerprint import androidx.compose.material.icons.outlined.FolderOpen +import androidx.compose.material.icons.outlined.Info import androidx.compose.material.icons.outlined.Lock import androidx.compose.material.icons.outlined.Logout import androidx.compose.material.icons.outlined.PictureAsPdf @@ -162,7 +163,7 @@ private val CardGlow = Brush.linearGradient( private const val SignatureHeight = 60 private enum class AuthMode { Login } -private enum class AppTab(val title: String) { Documents("Documentos"), Sign("Firmar"), Certificates("Certificados") } +private enum class AppTab(val title: String) { Documents("Documentos"), Sign("Firmar"), Certificates("Certificados"), About("About") } private data class PdfPreviewState( val file: File, @@ -240,7 +241,7 @@ fun LinkedSignApp(viewModel: MainViewModel, appContext: Context, activity: Compo } Column(verticalArrangement = Arrangement.spacedBy(1.dp)) { Text(selectedTab.title, fontWeight = FontWeight.SemiBold, color = Color.White) - Text("Firma electrónica", fontSize = AppFontSizes.xs, color = Color(0xFF90CAF9)) + Text("LinkedSign @by LindedCorp", fontSize = AppFontSizes.xs, color = Color(0xFF90CAF9)) } } }, @@ -267,13 +268,15 @@ fun LinkedSignApp(viewModel: MainViewModel, appContext: Context, activity: Compo bottomBar = { if (state.authenticated) { NavigationBar( + modifier = Modifier.height(44.dp), containerColor = Color.White, tonalElevation = 0.dp ) { val tabs = listOf( AppTab.Documents to Icons.Outlined.Description, AppTab.Sign to Icons.Outlined.Draw, - AppTab.Certificates to Icons.Outlined.Badge + AppTab.Certificates to Icons.Outlined.Badge, + AppTab.About to Icons.Outlined.Info ) tabs.forEach { (tab, icon) -> NavigationBarItem( @@ -648,6 +651,49 @@ private fun AppFlow( onSign = onSign ) AppTab.Certificates -> CertificatesScreen(state = state, onSync = onSync, onUploadCertificate = onUploadCertificate) + AppTab.About -> AboutScreen() + } + } +} + +@Composable +private fun AboutScreen() { + LazyColumn( + modifier = Modifier.fillMaxSize(), + contentPadding = PaddingValues(horizontal = 20.dp, vertical = 20.dp), + verticalArrangement = Arrangement.spacedBy(14.dp) + ) { + item { + ElevatedCard( + shape = RoundedCornerShape(22.dp), + elevation = CardDefaults.elevatedCardElevation(defaultElevation = 4.dp), + colors = CardDefaults.elevatedCardColors(containerColor = Color.White) + ) { + Column( + modifier = Modifier + .fillMaxWidth() + .padding(22.dp), + verticalArrangement = Arrangement.spacedBy(14.dp), + horizontalAlignment = Alignment.CenterHorizontally + ) { + Box( + modifier = Modifier + .size(64.dp) + .background(BrandGradient, CircleShape), + contentAlignment = Alignment.Center + ) { + Text("LS", color = Color.White, fontSize = AppFontSizes.xl, fontWeight = FontWeight.Bold) + } + Text("LinkedSign", color = BrandDark, fontSize = AppFontSizes.title, fontWeight = FontWeight.Bold) + Text("Versión ${BuildConfig.VERSION_NAME}", color = Brand, fontSize = AppFontSizes.base, fontWeight = FontWeight.SemiBold) + Text( + "LinkedSign permite revisar documentos, sincronizar información, cargar certificados y firmar archivos desde Android usando la misma cuenta de la plataforma web.", + color = TextMuted, + fontSize = AppFontSizes.base, + lineHeight = 20.sp + ) + } + } } } } diff --git a/backend/package.json b/backend/package.json index f8d4d99..cea196a 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "linkedsign-backend", - "version": "1.0.4", + "version": "1.1.0", "private": true, "description": "Initial backend for LinkedSign", "main": "src/server.js", diff --git a/frontend/package.json b/frontend/package.json index 1d8bf7a..05bdce8 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,7 +1,7 @@ { "name": "frontend", "private": true, - "version": "1.0.4", + "version": "1.1.0", "type": "module", "scripts": { "dev": "vite",