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
@@ -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
)
}
}
}
}
}