From 462f9c315afa9df97dcb51612051b133389ec543 Mon Sep 17 00:00:00 2001 From: putraa-afk Date: Wed, 14 Jan 2026 20:45:44 +0700 Subject: [PATCH] Initial commit --- .idea/deviceManager.xml | 13 + .idea/inspectionProfiles/Project_Default.xml | 50 ++ .idea/markdown.xml | 8 + app/src/main/AndroidManifest.xml | 27 +- .../ac/ubharajaya/sistemakademik/Absensi.kt | 44 ++ .../sistemakademik/LoginActivity.kt | 182 +++++++ .../ubharajaya/sistemakademik/MainActivity.kt | 468 +++++++++++------- .../sistemakademik/SplashActivity.kt | 62 +++ app/src/main/res/drawable/logo.png | Bin 0 -> 31534 bytes app/src/main/res/logo.png | Bin 0 -> 56277 bytes 10 files changed, 665 insertions(+), 189 deletions(-) create mode 100644 .idea/deviceManager.xml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/markdown.xml create mode 100644 app/src/main/java/id/ac/ubharajaya/sistemakademik/Absensi.kt create mode 100644 app/src/main/java/id/ac/ubharajaya/sistemakademik/LoginActivity.kt create mode 100644 app/src/main/java/id/ac/ubharajaya/sistemakademik/SplashActivity.kt create mode 100644 app/src/main/res/drawable/logo.png create mode 100644 app/src/main/res/logo.png diff --git a/.idea/deviceManager.xml b/.idea/deviceManager.xml new file mode 100644 index 0000000..91f9558 --- /dev/null +++ b/.idea/deviceManager.xml @@ -0,0 +1,13 @@ + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..f0c6ad0 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,50 @@ + + + + \ No newline at end of file diff --git a/.idea/markdown.xml b/.idea/markdown.xml new file mode 100644 index 0000000..c61ea33 --- /dev/null +++ b/.idea/markdown.xml @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4619836..d058e92 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,6 +6,7 @@ + @@ -19,17 +20,27 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.SistemAkademik"> - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/id/ac/ubharajaya/sistemakademik/Absensi.kt b/app/src/main/java/id/ac/ubharajaya/sistemakademik/Absensi.kt new file mode 100644 index 0000000..bcd97fa --- /dev/null +++ b/app/src/main/java/id/ac/ubharajaya/sistemakademik/Absensi.kt @@ -0,0 +1,44 @@ +package id.ac.ubharajaya.sistemakademik + +import android.graphics.Bitmap +import android.util.Base64 +import org.json.JSONObject +import java.io.ByteArrayOutputStream + +/** + * Data class untuk menyimpan informasi absensi mahasiswa + */ +data class Absensi( + val npm: String, + val nama: String, + val latitude: Double, + val longitude: Double, + val waktu: String, + val foto: Bitmap? // ⬅️ HARUS nullable +) { + /** + * Convert objek Absensi menjadi JSON + */ + fun toJson(): JSONObject { + val json = JSONObject() + json.put("npm", npm) + json.put("nama", nama) + json.put("latitude", latitude) + json.put("longitude", longitude) + json.put("waktu", waktu) + json.put("timestamp", System.currentTimeMillis()) + json.put("foto_base64", foto?.let { bitmapToBase64(it) }) + return json + } + + companion object { + fun bitmapToBase64(bitmap: Bitmap): String { + val outputStream = ByteArrayOutputStream() + bitmap.compress(Bitmap.CompressFormat.JPEG, 80, outputStream) + return Base64.encodeToString( + outputStream.toByteArray(), + Base64.NO_WRAP + ) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/id/ac/ubharajaya/sistemakademik/LoginActivity.kt b/app/src/main/java/id/ac/ubharajaya/sistemakademik/LoginActivity.kt new file mode 100644 index 0000000..dda7d73 --- /dev/null +++ b/app/src/main/java/id/ac/ubharajaya/sistemakademik/LoginActivity.kt @@ -0,0 +1,182 @@ +package id.ac.ubharajaya.sistemakademik + +import android.content.Intent +import android.os.Bundle +import android.widget.Toast +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import androidx.compose.animation.* +import androidx.compose.foundation.Image +import androidx.compose.foundation.background +import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.foundation.layout.* +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.text.KeyboardOptions +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.AccountCircle +import androidx.compose.material.icons.filled.Lock +import androidx.compose.material3.* +import androidx.compose.runtime.* +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.Brush +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.font.FontFamily +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.input.KeyboardType +import androidx.compose.ui.text.input.PasswordVisualTransformation +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp + +class LoginActivity : ComponentActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContent { + + val typography = Typography( + titleLarge = MaterialTheme.typography.titleLarge.copy( + fontFamily = FontFamily.SansSerif, + fontWeight = FontWeight.Bold, + fontSize = 22.sp + ) + ) + + MaterialTheme( + typography = typography, + colorScheme = if (isSystemInDarkTheme()) + darkColorScheme() + else + lightColorScheme() + ) { + LoginScreen() + } + } + } +} + +@Composable +fun LoginScreen() { + val context = LocalContext.current + var npm by remember { mutableStateOf("") } + var password by remember { mutableStateOf("") } + var showCard by remember { mutableStateOf(false) } + + LaunchedEffect(Unit) { showCard = true } + + val buttonGradient = Brush.horizontalGradient( + listOf(Color(0xFF1565C0), Color(0xFF42A5F5)) + ) + + Box( + modifier = Modifier + .fillMaxSize() + .background(Color.Black) // 🔥 BACKGROUND HITAM + .padding(24.dp), + contentAlignment = Alignment.Center + ) { + + AnimatedVisibility( + visible = showCard, + enter = fadeIn() + scaleIn(initialScale = 0.9f) + ) { + Card( + modifier = Modifier.fillMaxWidth(), + shape = RoundedCornerShape(22.dp), + elevation = CardDefaults.cardElevation(14.dp), + colors = CardDefaults.cardColors( + containerColor = MaterialTheme.colorScheme.surface + ) + ) { + Column( + modifier = Modifier.padding(28.dp), + horizontalAlignment = Alignment.CenterHorizontally + ) { + + Image( + painter = painterResource(id = R.drawable.logo), + contentDescription = "Logo", + modifier = Modifier + .size(120.dp) + .clip(CircleShape) + ) + + Spacer(modifier = Modifier.height(20.dp)) + + Text( + "Absensi PPB", + style = MaterialTheme.typography.titleLarge + ) + + Text( + "Login Mahasiswa", + fontSize = 14.sp, + color = Color.Gray + ) + + Spacer(modifier = Modifier.height(28.dp)) + + OutlinedTextField( + value = npm, + onValueChange = { npm = it }, + label = { Text("NPM") }, + leadingIcon = { + Icon(Icons.Default.AccountCircle, contentDescription = null) + }, + keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number), + modifier = Modifier.fillMaxWidth() + ) + + Spacer(modifier = Modifier.height(16.dp)) + + OutlinedTextField( + value = password, + onValueChange = { password = it }, + label = { Text("Password") }, + leadingIcon = { + Icon(Icons.Default.Lock, contentDescription = null) + }, + visualTransformation = PasswordVisualTransformation(), + modifier = Modifier.fillMaxWidth() + ) + + Spacer(modifier = Modifier.height(32.dp)) + + Button( + onClick = { + if (npm == "202310715307" && password == "yoo23") { + context.startActivity( + Intent(context, MainActivity::class.java) + ) + } else { + Toast.makeText( + context, + "NPM atau password salah", + Toast.LENGTH_SHORT + ).show() + } + }, + colors = ButtonDefaults.buttonColors(containerColor = Color.Transparent), + contentPadding = PaddingValues(), + modifier = Modifier + .fillMaxWidth() + .height(48.dp) + .background( + brush = buttonGradient, + shape = RoundedCornerShape(14.dp) + ) + ) { + Text( + "Login", + color = Color.White, + fontWeight = FontWeight.Bold + ) + } + } + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/id/ac/ubharajaya/sistemakademik/MainActivity.kt b/app/src/main/java/id/ac/ubharajaya/sistemakademik/MainActivity.kt index c774502..92642e4 100644 --- a/app/src/main/java/id/ac/ubharajaya/sistemakademik/MainActivity.kt +++ b/app/src/main/java/id/ac/ubharajaya/sistemakademik/MainActivity.kt @@ -3,110 +3,203 @@ package id.ac.ubharajaya.sistemakademik import android.Manifest import android.app.Activity import android.content.Intent -import android.content.pm.PackageManager import android.graphics.Bitmap +import android.os.Build import android.os.Bundle import android.provider.MediaStore -import android.util.Base64 import android.widget.Toast import androidx.activity.ComponentActivity import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.activity.result.contract.ActivityResultContracts +import androidx.compose.animation.animateContentSize +import androidx.compose.foundation.Image +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.* import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.Brush +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.asImageBitmap import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp -import androidx.core.content.ContextCompat +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope import com.google.android.gms.location.LocationServices import id.ac.ubharajaya.sistemakademik.ui.theme.SistemAkademikTheme -import org.json.JSONObject -import java.io.ByteArrayOutputStream -import java.net.HttpURLConnection -import java.net.URL +import kotlinx.coroutines.delay +import kotlinx.coroutines.launch +import java.text.SimpleDateFormat +import java.util.* import kotlin.concurrent.thread -/* ================= UTIL ================= */ +/* ================== KONFIG LOCKOUT ================== */ +const val LOCKOUT_DURATION = 10 * 60 * 1000L // 1 menit -fun bitmapToBase64(bitmap: Bitmap): String { - val outputStream = ByteArrayOutputStream() - bitmap.compress(Bitmap.CompressFormat.JPEG, 80, outputStream) - return Base64.encodeToString(outputStream.toByteArray(), Base64.NO_WRAP) -} +/* ================== REPOSITORY ================== */ +class AbsensiRepository { + fun kirimAbsensi(absensi: Absensi, onResult: (Boolean) -> Unit) { + thread { + try { + val url = java.net.URL( + "https://n8n.lab.ubharajaya.ac.id/webhook/23c6993d-1792-48fb-ad1c-ffc78a3e6254" + ) + val conn = url.openConnection() as java.net.HttpURLConnection + conn.requestMethod = "POST" + conn.setRequestProperty("Content-Type", "application/json") + conn.doOutput = true -fun kirimKeN8n( - context: ComponentActivity, - latitude: Double, - longitude: Double, - foto: Bitmap -) { - thread { - try { - val url = URL("https://n8n.lab.ubharajaya.ac.id/webhook/23c6993d-1792-48fb-ad1c-ffc78a3e6254") -// test URL val url = URL("https://n8n.lab.ubharajaya.ac.id/webhook-test/23c6993d-1792-48fb-ad1c-ffc78a3e6254") - val conn = url.openConnection() as HttpURLConnection + conn.outputStream.use { + it.write(absensi.toJson().toString().toByteArray()) + } - conn.requestMethod = "POST" - conn.setRequestProperty("Content-Type", "application/json") - conn.doOutput = true - - val json = JSONObject().apply { - put("npm", "12345") - put("nama","Arif R D") - put("latitude", latitude) - put("longitude", longitude) - put("timestamp", System.currentTimeMillis()) - put("foto_base64", bitmapToBase64(foto)) - } - - conn.outputStream.use { - it.write(json.toString().toByteArray()) - } - - val responseCode = conn.responseCode - - context.runOnUiThread { - Toast.makeText( - context, - if (responseCode == 200) - "Absensi diterima server" - else - "Absensi ditolak server", - Toast.LENGTH_SHORT - ).show() - } - - conn.disconnect() - - } catch (_: Exception) { - context.runOnUiThread { - Toast.makeText( - context, - "Gagal kirim ke server", - Toast.LENGTH_SHORT - ).show() + onResult(conn.responseCode == 200) + conn.disconnect() + } catch (e: Exception) { + onResult(false) } } } } -/* ================= ACTIVITY ================= */ +/* ================== VIEWMODEL ================== */ +class AbsensiViewModel( + private val repo: AbsensiRepository, + private val activity: ComponentActivity +) : ViewModel() { + var lokasi by mutableStateOf("Koordinat: -") + private set + + var latitude by mutableStateOf(null) + private set + + var longitude by mutableStateOf(null) + private set + + var foto by mutableStateOf(null) + private set + + var absensiList = mutableStateListOf() + + var waktuAbsensi by mutableStateOf(null) + private set + + var isLoading by mutableStateOf(false) + private set + + var sisaLockout by mutableStateOf(0L) + private set + + init { + startLockoutCountdown() + } + + fun updateLokasi(lat: Double, lon: Double) { + latitude = lat + longitude = lon + lokasi = "Lat: $lat\nLon: $lon" + } + + fun updateFoto(bitmap: Bitmap) { + foto = bitmap + } + + private fun getLastAbsensiTime(): Long { + val prefs = activity.getSharedPreferences("absensi_prefs", Activity.MODE_PRIVATE) + return prefs.getLong("last_absensi_time", 0L) + } + + private fun simpanWaktuAbsensi() { + val prefs = activity.getSharedPreferences("absensi_prefs", Activity.MODE_PRIVATE) + prefs.edit().putLong("last_absensi_time", System.currentTimeMillis()).apply() + } + + private fun startLockoutCountdown() { + viewModelScope.launch { + while (true) { + val diff = System.currentTimeMillis() - getLastAbsensiTime() + sisaLockout = + if (diff < LOCKOUT_DURATION) LOCKOUT_DURATION - diff else 0L + delay(1000) + } + } + } + + fun kirimAbsensi() { + if (sisaLockout > 0) { + Toast.makeText( + activity, + "Sudah absen, tunggu ${(sisaLockout / 1000) / 60} menit", + Toast.LENGTH_LONG + ).show() + return + } + + if (latitude == null || longitude == null || foto == null) { + Toast.makeText(activity, "Lokasi atau foto belum lengkap", Toast.LENGTH_SHORT).show() + return + } + + val waktu = SimpleDateFormat( + "dd MMM yyyy HH:mm:ss", + Locale.getDefault() + ).format(System.currentTimeMillis()) + + val absensi = Absensi( + npm = "202310715307", + nama = "Satrio Putra Wardani", + latitude = latitude!!, + longitude = longitude!!, + waktu = waktu, + foto = foto + ) + + isLoading = true + repo.kirimAbsensi(absensi) { success -> + viewModelScope.launch { + isLoading = false + if (success) { + absensiList.add(absensi) + waktuAbsensi = waktu + simpanWaktuAbsensi() + Toast.makeText(activity, "Absensi berhasil", Toast.LENGTH_SHORT).show() + } else { + Toast.makeText(activity, "Gagal kirim absensi", Toast.LENGTH_SHORT).show() + } + } + } + } +} + +/* ================== MAIN ACTIVITY ================== */ +@OptIn(ExperimentalMaterial3Api::class) class MainActivity : ComponentActivity() { + private lateinit var viewModel: AbsensiViewModel + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() + viewModel = AbsensiViewModel(AbsensiRepository(), this) + setContent { SistemAkademikTheme { - Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding -> + Scaffold( + topBar = { TopBarLogout(this) } + ) { padding -> AbsensiScreen( - modifier = Modifier.padding(innerPadding), - activity = this + modifier = Modifier.padding(padding), + viewModel = viewModel ) } } @@ -114,161 +207,174 @@ class MainActivity : ComponentActivity() { } } -/* ================= UI ================= */ - +/* ================== TOP BAR ================== */ +@OptIn(ExperimentalMaterial3Api::class) @Composable -fun AbsensiScreen( - modifier: Modifier = Modifier, - activity: ComponentActivity -) { +fun TopBarLogout(activity: ComponentActivity) { + val context = LocalContext.current + TopAppBar( + title = { + Text( + " Sistem Akademik ", + style = MaterialTheme.typography.titleLarge.copy( + fontWeight = FontWeight.SemiBold, + color = Color.White + ) + ) + }, + actions = { + TextButton(onClick = { + val intent = Intent(context, LoginActivity::class.java) + intent.flags = + Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK + context.startActivity(intent) + }) { + Text( + "Logout", + style = MaterialTheme.typography.labelLarge, + color = Color.Red + ) + } + } + ) +} + +/* ================== UI ================== */ +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun AbsensiScreen(modifier: Modifier, viewModel: AbsensiViewModel) { + val context = LocalContext.current - var lokasi by remember { mutableStateOf("Koordinat: -") } - var latitude by remember { mutableStateOf(null) } - var longitude by remember { mutableStateOf(null) } - var foto by remember { mutableStateOf(null) } - - val fusedLocationClient = - LocationServices.getFusedLocationProviderClient(context) - - /* ===== Permission Lokasi ===== */ - val locationPermissionLauncher = - rememberLauncherForActivityResult( - ActivityResultContracts.RequestPermission() - ) { granted -> + rememberLauncherForActivityResult(ActivityResultContracts.RequestPermission()) { granted -> if (granted) { - - if ( - ContextCompat.checkSelfPermission( - context, - Manifest.permission.ACCESS_FINE_LOCATION - ) == PackageManager.PERMISSION_GRANTED - ) { - - fusedLocationClient.lastLocation - .addOnSuccessListener { location -> - if (location != null) { - latitude = location.latitude - longitude = location.longitude - lokasi = - "Lat: ${location.latitude}\nLon: ${location.longitude}" - } else { - lokasi = "Lokasi tidak tersedia" - } + LocationServices.getFusedLocationProviderClient(context) + .lastLocation.addOnSuccessListener { + it?.let { loc -> + viewModel.updateLokasi(loc.latitude, loc.longitude) } - .addOnFailureListener { - lokasi = "Gagal mengambil lokasi" - } - } - - } else { - Toast.makeText( - context, - "Izin lokasi ditolak", - Toast.LENGTH_SHORT - ).show() + } } } - /* ===== Kamera ===== */ - val cameraLauncher = - rememberLauncherForActivityResult( - ActivityResultContracts.StartActivityForResult() - ) { result -> - if (result.resultCode == Activity.RESULT_OK) { + rememberLauncherForActivityResult(ActivityResultContracts.StartActivityForResult()) { + if (it.resultCode == Activity.RESULT_OK) { val bitmap = - result.data?.extras?.getParcelable("data", Bitmap::class.java) - if (bitmap != null) { - foto = bitmap - Toast.makeText( - context, - "Foto berhasil diambil", - Toast.LENGTH_SHORT - ).show() - } + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) + it.data?.extras?.getParcelable("data", Bitmap::class.java) + else it.data?.extras?.getParcelable("data") + bitmap?.let { bmp -> viewModel.updateFoto(bmp) } } } val cameraPermissionLauncher = - rememberLauncherForActivityResult( - ActivityResultContracts.RequestPermission() - ) { granted -> - if (granted) { - val intent = - Intent(MediaStore.ACTION_IMAGE_CAPTURE) - cameraLauncher.launch(intent) - } else { - Toast.makeText( - context, - "Izin kamera ditolak", - Toast.LENGTH_SHORT - ).show() - } + rememberLauncherForActivityResult(ActivityResultContracts.RequestPermission()) { + if (it) cameraLauncher.launch(Intent(MediaStore.ACTION_IMAGE_CAPTURE)) } - /* ===== Request Awal ===== */ - LaunchedEffect(Unit) { - locationPermissionLauncher.launch( - Manifest.permission.ACCESS_FINE_LOCATION - ) + locationPermissionLauncher.launch(Manifest.permission.ACCESS_FINE_LOCATION) } - /* ===== UI ===== */ - Column( modifier = modifier .fillMaxSize() - .padding(24.dp), - verticalArrangement = Arrangement.Center + .background(Color.White) + .padding(24.dp) ) { Text( text = "Absensi Akademik", - style = MaterialTheme.typography.titleLarge + modifier = Modifier.fillMaxWidth(), + textAlign = TextAlign.Center, + style = MaterialTheme.typography.headlineSmall.copy( + fontWeight = FontWeight.Bold, + color = Color.Black + ) ) - Spacer(modifier = Modifier.height(16.dp)) + Spacer(Modifier.height(16.dp)) - Text(text = lokasi) + Card( + modifier = Modifier.fillMaxWidth(), + elevation = CardDefaults.cardElevation(6.dp) + ) { + Column(Modifier.padding(16.dp)) { + Text( + "Lokasi:", + style = MaterialTheme.typography.bodyLarge.copy( + fontWeight = FontWeight.SemiBold, + color = Color.White + ) + ) + Text( + viewModel.lokasi, + style = MaterialTheme.typography.bodyMedium.copy( + color = Color.White + ) + ) + } + } - Spacer(modifier = Modifier.height(16.dp)) + Spacer(Modifier.height(16.dp)) Button( - onClick = { - cameraPermissionLauncher.launch( - Manifest.permission.CAMERA - ) - }, + onClick = { cameraPermissionLauncher.launch(Manifest.permission.CAMERA) }, modifier = Modifier.fillMaxWidth() ) { Text("Ambil Foto") } - Spacer(modifier = Modifier.height(12.dp)) + Spacer(Modifier.height(12.dp)) Button( - onClick = { - if (latitude != null && longitude != null && foto != null) { - kirimKeN8n( - activity, - latitude!!, - longitude!!, - foto!! - ) - } else { - Toast.makeText( - context, - "Lokasi atau foto belum lengkap", - Toast.LENGTH_SHORT - ).show() - } - }, - modifier = Modifier.fillMaxWidth() + onClick = { viewModel.kirimAbsensi() }, + modifier = Modifier.fillMaxWidth(), + enabled = !viewModel.isLoading ) { - Text("Kirim Absensi") + if (viewModel.isLoading) + CircularProgressIndicator( + modifier = Modifier.size(22.dp), + strokeWidth = 2.dp + ) + else Text("Kirim Absensi") + } + + Spacer(Modifier.height(24.dp)) + + LazyColumn { + items(viewModel.absensiList) { item -> + Card( + modifier = Modifier + .fillMaxWidth() + .padding(bottom = 12.dp) + .animateContentSize() + ) { + Column(Modifier.padding(16.dp)) { + Text( + item.nama, + style = MaterialTheme.typography.bodyLarge.copy( + fontWeight = FontWeight.Bold, + color = Color.White + ) + ) + Text(item.npm, color = Color.White) + Text(item.waktu, color = Color.White) + item.foto?.let { + Image( + bitmap = it.asImageBitmap(), + contentDescription = null, + modifier = Modifier + .fillMaxWidth() + .height(150.dp) + .clip(RoundedCornerShape(12.dp)) + ) + } + } + } + } } } } diff --git a/app/src/main/java/id/ac/ubharajaya/sistemakademik/SplashActivity.kt b/app/src/main/java/id/ac/ubharajaya/sistemakademik/SplashActivity.kt new file mode 100644 index 0000000..94c32ea --- /dev/null +++ b/app/src/main/java/id/ac/ubharajaya/sistemakademik/SplashActivity.kt @@ -0,0 +1,62 @@ +package id.ac.ubharajaya.sistemakademik + +import android.content.Intent +import android.os.Bundle +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import androidx.compose.foundation.Image +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.* +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.runtime.* +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.Brush +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.dp +import kotlinx.coroutines.delay + +class SplashActivity : ComponentActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContent { + SplashScreen { + startActivity(Intent(this, LoginActivity::class.java)) + finish() + } + } + } +} + +@Composable +fun SplashScreen(onFinish: () -> Unit) { + LaunchedEffect(Unit) { + delay(2000) // 2 detik + onFinish() + } + + // 🔥 GRADIENT ABU-ABU MODERN + val gradient = Brush.verticalGradient( + listOf( + Color(0xFF2C2C2C), // Dark Grey + Color(0xFF757575) // Light Grey + ) + ) + + Box( + modifier = Modifier + .fillMaxSize() + .background(gradient), + contentAlignment = Alignment.Center + ) { + Image( + painter = painterResource(id = R.drawable.logo), + contentDescription = "Logo", + modifier = Modifier + .size(140.dp) + .clip(CircleShape) + ) + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/logo.png b/app/src/main/res/drawable/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..90640555472c5fbaa7a0fd97262794b51c67f91e GIT binary patch literal 31534 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/logo.png b/app/src/main/res/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e51154f42e8d08478cf1a5f1bf36d90c236010af GIT binary patch literal 56277 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

(YbN>w;1N_H2WKE1u$ft zTh4LZluHi?vVFvTC&s1R(Z;6^4-ZezRMNVyDF(p<^{*g5R8`yXqCAVAx5C~3?^RG@ zJ(gHyXCdbqqWXvLJGeAvTCHOTgN)Pi<#e+)x# zkv_raN?xcMJ}(iu_5R(wsOpjRIt(eNXEv&xkIz%b`7uDZdf3)B{&GjLj$r6AV^Z}I z$=5!?{QXB&N8Wy2HHi`DJC}8sAywKvX2Z74QgRNVRZknz-7#p6VK+;OPc!@0d`?T1 zqnV{IVV2_Iv&AgwT5P&w>VUr{3$Odd-NEwerk{5nd{~ipc(`HsK|_Px%%Hwtkt9c{ zckle4P8Fss@IyR4MlipSfgxWj%^FD(v5(%;?(@JaAfJ@)FDQ^#2kmZm8u!zs_2P_$ z;7ODw72CKQf3|n_aJ>J=L3HJBlgQW9Z%)Pt z|0KK*JKdGAXTfg)&5pBMEa&f4qS}e&s+L-3Wmk8)>?}P@xUmVvI3%%9=o~l@B~+*z zqAM7B)PL?6TRU3FGciE=BrO`6N*G7XKPKe)co?;h9`rEw6BGVMLd72fXdr}G3>N#OGg%`1o;sj)0kDZs-hyE-lQOk?F-jTaK$r`8U>a&$s#f-Z?3` zBCqbHoPNZFhKMpGN8s(dQmRt_%srD1g~|@^gp)$e2}(tTmUoJ_k_9%je*A&K@Jt`% z8z7}K!z85`j-$5eO1)z`j$sjlyI0iTjh!pNB*sW!`-yUOu^9j^N)5*iPHu1kpo+Rg z$J1C{ACaCiDBiQs^9ei87}*lV#mLP7~yT(A-1S@F{xh~ES__5 zNb;`VTP#;fxQ~s_VAVe5zT^?=A8|C;wTq8+z29F5x1^-xVyyM@mmO@~LaMmG{vHo= z*Lp{A^zdLrS@i7m0sl>4wR^r_?e;RV%QtQQQ>MTw3nb4e+Ubg^f7|K(gzIOGQ!%8{ zm3G*&aJx7!qk$d~n85>CuK<07!{TJA^>Gal9-J%@rTU*}KY#a3lY%B&J?Bee>slNFf^usJgDeO!?7@MfK1dBh53Sn()b}^;9M4x%e(&A z;X`NO?fvp^Bn~1bdoUK>CJCMS*>1+P9lbJac!9n!aBx z_)5fk)>~!XR>`F+SB&0Ocw^*UFYA=5fLBU+xmGYB<9TjEciPz6#hI?etPGr7{_#XS z(niTj-wrMZ!6OUx^*mKPb-*KTtBT;YjNPpY?-JQgkWjT`c1J97)Y*7@1L#T_UCIXX zte4G7=?d_+1|@cJzJ%F)GNF5mc@SMT{)g;l9JNW9d`aR+EKVqfdYOco^uIAFv8q~4 zCtas!m>pZr>5-iV#&VVQGLh6jSM(9Tni-SGXggrqZbLt@rZuLUPzTT~$AEduDXa3fwzlpnQK|1Z zC*djVt@yLsGCyYA-`WR)bzF%^)5>~1%Bo$u^>sJ9*y|SsZtRqZZ9d{;8hHZ7U4K41 z^GeU&{}onfY_gPDBYk`8L3bRfr;AShEhG{@vHE@kv>1sN&$?9q}v-7w7y~@EI`L}tgb`^h0E%Pr%CKUhp z@gq5fVWnS6gbQ6td!|-;t?%WHG==(}m}hY6gM_($+1~Nld);};;u<{mM>H(_=ml% LgN?w-oBRI&Y_?o9 literal 0 HcmV?d00001