Add Android about screen

This commit is contained in:
2026-04-23 08:54:13 -05:00
parent 62cb604412
commit 2cbd0f2ca3
6 changed files with 61 additions and 9 deletions
+7 -1
View File
@@ -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.
+1 -1
View File
@@ -1 +1 @@
1.0.4
1.1.0
+2 -2
View File
@@ -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}\""
}
@@ -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
)
}
}
}
}
}
+1 -1
View File
@@ -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",
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "frontend",
"private": true,
"version": "1.0.4",
"version": "1.1.0",
"type": "module",
"scripts": {
"dev": "vite",