Add Android about screen
This commit is contained in:
+7
-1
@@ -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.
|
||||
|
||||
@@ -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,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,7 +1,7 @@
|
||||
{
|
||||
"name": "frontend",
|
||||
"private": true,
|
||||
"version": "1.0.4",
|
||||
"version": "1.1.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
Reference in New Issue
Block a user