144 lines
5.2 KiB
Kotlin
144 lines
5.2 KiB
Kotlin
package com.example.uitugasakhir.ui_manual
|
|
|
|
import androidx.compose.foundation.background
|
|
import androidx.compose.foundation.layout.*
|
|
import androidx.compose.foundation.lazy.LazyColumn
|
|
import androidx.compose.foundation.lazy.items
|
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
|
import androidx.compose.material3.*
|
|
import androidx.compose.runtime.Composable
|
|
import androidx.compose.ui.Alignment
|
|
import androidx.compose.ui.Modifier
|
|
import androidx.compose.ui.graphics.Color
|
|
import androidx.compose.ui.res.stringResource
|
|
import androidx.compose.ui.text.font.FontWeight
|
|
import androidx.compose.ui.unit.dp
|
|
import androidx.compose.ui.unit.sp
|
|
import com.example.app.ui.theme.Inria_Regular
|
|
import com.example.app.ui.theme.Poppins_Bold
|
|
import com.example.app.ui.theme.Poppins_Medium
|
|
import com.example.uitugasakhir.R
|
|
import com.example.uitugasakhir.model.RiwayatItem
|
|
|
|
@Composable
|
|
fun RiwayatSection(riwayatList: List<RiwayatItem>) {
|
|
|
|
Column {
|
|
|
|
Text(
|
|
text = stringResource(R.string.history),
|
|
fontSize = 15.sp,
|
|
fontFamily = Inria_Regular,
|
|
fontWeight = FontWeight.Medium,
|
|
color = Color.Black,
|
|
modifier = Modifier.padding(horizontal = 28.dp)
|
|
)
|
|
|
|
Spacer(modifier = Modifier.height(5.dp))
|
|
|
|
Text(
|
|
text = stringResource(R.string.manual_watering_activity_log),
|
|
fontSize = 12.sp,
|
|
fontFamily = Inria_Regular,
|
|
fontWeight = FontWeight.Normal,
|
|
color = Color.Gray,
|
|
modifier = Modifier.padding(horizontal = 28.dp)
|
|
)
|
|
|
|
Spacer(modifier = Modifier.height(15.dp))
|
|
|
|
Card(
|
|
modifier = Modifier
|
|
.padding(horizontal = 25.dp)
|
|
.padding(bottom = 25.dp)
|
|
.size(width = 333.dp, height = 214.dp),
|
|
shape = RoundedCornerShape(24.dp),
|
|
colors = CardDefaults.cardColors(
|
|
containerColor = Color(0xFFEDEDED)
|
|
),
|
|
elevation = CardDefaults.cardElevation(4.dp)
|
|
) {
|
|
|
|
LazyColumn(
|
|
modifier = Modifier
|
|
.fillMaxSize()
|
|
.padding(vertical = 8.dp)
|
|
) {
|
|
|
|
items(riwayatList) { item ->
|
|
|
|
val bgColor = when (item.status) {
|
|
"Berjalan" -> Color(0xFFD6F5DD)
|
|
"Selesai" -> Color(0xFFFFE0E0)
|
|
"Monitoring" -> Color(0xFFFFF3CD)
|
|
"Delay" -> Color(0xFFE3F2FD)
|
|
else -> Color.LightGray
|
|
}
|
|
|
|
val textColor = when (item.status) {
|
|
"Berjalan" -> Color(0xFF2E7D32)
|
|
"Selesai" -> Color.Red
|
|
"Monitoring" -> Color(0xFFB8860B)
|
|
"Delay" -> Color(0xFF1565C0)
|
|
else -> Color.DarkGray
|
|
}
|
|
|
|
Row(
|
|
modifier = Modifier
|
|
.fillMaxWidth()
|
|
.padding(horizontal = 16.dp, vertical = 12.dp),
|
|
horizontalArrangement = Arrangement.SpaceBetween,
|
|
verticalAlignment = Alignment.CenterVertically
|
|
) {
|
|
|
|
Column(modifier = Modifier.weight(1f)) {
|
|
|
|
Text(
|
|
text = "${item.waktu} • ${item.mode}",
|
|
fontSize = 13.sp,
|
|
fontFamily = Poppins_Bold,
|
|
color = Color.Black.copy(alpha = 0.8f)
|
|
)
|
|
|
|
Spacer(modifier = Modifier.height(2.dp))
|
|
|
|
Text(
|
|
text = item.aksi,
|
|
fontSize = 13.sp,
|
|
fontFamily = Poppins_Bold,
|
|
color = Color.Black.copy(alpha = 0.8f)
|
|
)
|
|
|
|
Spacer(modifier = Modifier.height(4.dp))
|
|
|
|
Text(
|
|
text = "${item.keterangan} | Jeda: ${item.jeda} menit",
|
|
fontSize = 11.sp,
|
|
fontFamily = Poppins_Medium,
|
|
color = Color.Gray
|
|
)
|
|
}
|
|
|
|
Box(
|
|
modifier = Modifier
|
|
.background(bgColor, RoundedCornerShape(12.dp))
|
|
.padding(horizontal = 10.dp, vertical = 5.dp)
|
|
) {
|
|
Text(
|
|
text = item.status,
|
|
fontSize = 10.sp,
|
|
fontFamily = Poppins_Medium,
|
|
color = textColor
|
|
)
|
|
}
|
|
}
|
|
|
|
HorizontalDivider(
|
|
thickness = 0.8.dp,
|
|
color = Color.Gray.copy(alpha = 0.3f)
|
|
)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |