From 42f2abdaa4a22a41b375307817990a7834c33e1c Mon Sep 17 00:00:00 2001
From: moon <56061215+MgKyawLay@users.noreply.github.com>
Date: Thu, 7 May 2026 22:02:58 +0630
Subject: [PATCH] Dashboard
---
app/.gitignore | 3 +-
.../main/java/com/mob/ustmm/MainActivity.kt | 2 +-
.../mob/ustmm/ui/dashboard/DashboardScreen.kt | 134 +++++++--------
.../main/java/com/mob/ustmm/ui/theme/Color.kt | 8 +-
...ndar_date_event_month_plan_svgrepo_com.xml | 141 ++++++++++++++++
...ivery_gift_package_present_svgrepo_com.xml | 109 ++++++++++++
...e_finance_payment_pos_shop_svgrepo_com.xml | 157 ++++++++++++++++++
7 files changed, 484 insertions(+), 70 deletions(-)
create mode 100644 app/src/main/res/drawable/appointment_calendar_date_event_month_plan_svgrepo_com.xml
create mode 100644 app/src/main/res/drawable/box_christmas_delivery_gift_package_present_svgrepo_com.xml
create mode 100644 app/src/main/res/drawable/buy_ecommerce_finance_payment_pos_shop_svgrepo_com.xml
diff --git a/app/.gitignore b/app/.gitignore
index 42afabf..9e24c11 100644
--- a/app/.gitignore
+++ b/app/.gitignore
@@ -1 +1,2 @@
-/build
\ No newline at end of file
+/build
+/.idea/*
\ No newline at end of file
diff --git a/app/src/main/java/com/mob/ustmm/MainActivity.kt b/app/src/main/java/com/mob/ustmm/MainActivity.kt
index 62f0f65..0db1ee4 100644
--- a/app/src/main/java/com/mob/ustmm/MainActivity.kt
+++ b/app/src/main/java/com/mob/ustmm/MainActivity.kt
@@ -18,7 +18,7 @@ import com.mob.ustmm.ui.theme.MOBPOSTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
-// enableEdgeToEdge()
+ enableEdgeToEdge()
setContent {
MOBPOSTheme {
val navController = rememberNavController()
diff --git a/app/src/main/java/com/mob/ustmm/ui/dashboard/DashboardScreen.kt b/app/src/main/java/com/mob/ustmm/ui/dashboard/DashboardScreen.kt
index 8547280..f55942e 100644
--- a/app/src/main/java/com/mob/ustmm/ui/dashboard/DashboardScreen.kt
+++ b/app/src/main/java/com/mob/ustmm/ui/dashboard/DashboardScreen.kt
@@ -3,42 +3,29 @@ package com.mob.ustmm.ui.dashboard
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
+import androidx.compose.foundation.layout.*
import androidx.compose.foundation.layout.Arrangement
-import androidx.compose.foundation.layout.Box
-import androidx.compose.foundation.layout.Column
-import androidx.compose.foundation.layout.Row
-import androidx.compose.foundation.layout.Spacer
-import androidx.compose.foundation.layout.fillMaxHeight
-import androidx.compose.foundation.layout.fillMaxSize
-import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.height
-import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.layout.width
+import androidx.compose.foundation.pager.HorizontalPager
+import androidx.compose.foundation.pager.rememberPagerState
import androidx.compose.foundation.shape.RoundedCornerShape
-import androidx.compose.material3.DividerDefaults
-import androidx.compose.material3.HorizontalDivider
-import androidx.compose.material3.MaterialTheme
-import androidx.compose.material3.ModalDrawerSheet
-import androidx.compose.material3.ModalNavigationDrawer
-import androidx.compose.material3.Text
+import androidx.compose.material3.*
import androidx.compose.runtime.Composable
+import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.rememberCoroutineScope
-import androidx.compose.ui.Alignment
+import androidx.compose.ui.*
import androidx.compose.ui.Modifier
-import androidx.compose.ui.graphics.Color
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
-import androidx.compose.material3.DrawerValue
-import androidx.compose.material3.Icon
-import androidx.compose.material3.IconButton
-import androidx.compose.material3.rememberDrawerState
import com.mob.ustmm.R
-import com.mob.ustmm.ui.theme.Colors
+import com.mob.ustmm.ui.theme.*
+import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
+@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun DashboardScreen(
settlementEnabled: Boolean,
@@ -51,13 +38,35 @@ fun DashboardScreen(
) {
val drawerState = rememberDrawerState(initialValue = DrawerValue.Closed)
val scope = rememberCoroutineScope()
+
+
+ val images = listOf(
+ R.drawable.box_christmas_delivery_gift_package_present_svgrepo_com,
+ R.drawable.buy_ecommerce_finance_payment_pos_shop_svgrepo_com,
+ R.drawable.appointment_calendar_date_event_month_plan_svgrepo_com
+ )
+ val startPage = Int.MAX_VALUE / 2;
+
+ val pagerState = rememberPagerState(
+ initialPage = startPage,
+ pageCount = { Int.MAX_VALUE }
+ )
+
+ LaunchedEffect(Unit) {
+ while(true){
+ delay(3000)
+ pagerState.animateScrollToPage(
+ pagerState.currentPage + 1
+ )
+ }
+ }
ModalNavigationDrawer(
drawerState = drawerState,
drawerContent = {
ModalDrawerSheet(
modifier = Modifier.fillMaxWidth(0.8f),
- drawerContainerColor = Color.White,
+ drawerContainerColor = White,
drawerShape = RoundedCornerShape(topEnd = 20.dp, bottomEnd = 20.dp)
) {
Text(
@@ -108,7 +117,7 @@ fun DashboardScreen(
onSettlementClick()
}
.padding(horizontal = 24.dp, vertical = 14.dp),
- color = if (settlementEnabled) Color.Black else Color.Gray,
+ color = if (settlementEnabled) Black else White,
fontSize = 16.sp
)
Text(
@@ -120,52 +129,47 @@ fun DashboardScreen(
onWavePayClick()
}
.padding(horizontal = 24.dp, vertical = 14.dp),
- color = if (wavePayEnabled) Color.Black else Color.Gray,
+ color = if (wavePayEnabled) Black else White,
fontSize = 16.sp
)
}
}
) {
- Box(
- modifier = Modifier
- .fillMaxSize()
- .background(Color.White)
- ) {
- Column(
- modifier = Modifier
- .fillMaxWidth()
- ) {
- Row(
- modifier = Modifier
- .fillMaxWidth()
- .height(80.dp)
- .background(Colors.primary),
- verticalAlignment = Alignment.CenterVertically,
- horizontalArrangement = Arrangement.Center
- ) {
- IconButton(
- onClick = {}
- ) {
- Icon(
- painter = painterResource(R.drawable.ic_menu),
- contentDescription = "Menu Icon"
- )
- }
- Spacer(modifier = Modifier.width(16.dp))
- Text(
- text = "Dashboard",
- style = MaterialTheme.typography.titleLarge,
- fontWeight = FontWeight.SemiBold
+ Scaffold(
+ topBar = {
+ CenterAlignedTopAppBar(
+ title = {
+
+ Text(text = "Dashboard", color = White, fontWeight = FontWeight.SemiBold)
+ },
+ navigationIcon = {
+ IconButton(
+ onClick = {
+ scope.launch {
+ drawerState.open()
+ }
+ }
+ ) {
+ Icon(painter = painterResource(R.drawable.ic_menu), contentDescription = "Menu Icon", tint = White)
+ }
+ },
+ colors = TopAppBarDefaults.topAppBarColors(
+ containerColor = Primary
+ )
+ )
+ }
+ ) { paddingValues ->
+ Column(
+ modifier = Modifier.fillMaxSize().padding(paddingValues).background(White)
+ ) {
+ HorizontalPager(state = pagerState) { page ->
+ val index = page % images.size;
+ Image(
+ painter = painterResource(images[index]),
+ contentDescription = "Banner images",
+ modifier = Modifier.fillMaxSize(),
+ contentScale = ContentScale.Crop
)
- }
-
- Box(
- modifier = Modifier
- .fillMaxWidth()
- .fillMaxHeight(0.58f)
- ) {
-
-
}
}
}
diff --git a/app/src/main/java/com/mob/ustmm/ui/theme/Color.kt b/app/src/main/java/com/mob/ustmm/ui/theme/Color.kt
index 0443ed7..eac361a 100644
--- a/app/src/main/java/com/mob/ustmm/ui/theme/Color.kt
+++ b/app/src/main/java/com/mob/ustmm/ui/theme/Color.kt
@@ -11,6 +11,8 @@ val Purple40 = Color(0xFF6650a4)
val PurpleGrey40 = Color(0xFF625b71)
val Pink40 = Color(0xFF7D5260)
-val Colors = lightColorScheme(
- primary = Color(0xFFCA2027)
-)
\ No newline at end of file
+val Primary = Color(0xFFCA2027)
+
+val White = Color(0xFFFFFFFF)
+
+val Black = Color(0xFF000000)
\ No newline at end of file
diff --git a/app/src/main/res/drawable/appointment_calendar_date_event_month_plan_svgrepo_com.xml b/app/src/main/res/drawable/appointment_calendar_date_event_month_plan_svgrepo_com.xml
new file mode 100644
index 0000000..f196151
--- /dev/null
+++ b/app/src/main/res/drawable/appointment_calendar_date_event_month_plan_svgrepo_com.xml
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/box_christmas_delivery_gift_package_present_svgrepo_com.xml b/app/src/main/res/drawable/box_christmas_delivery_gift_package_present_svgrepo_com.xml
new file mode 100644
index 0000000..33cea49
--- /dev/null
+++ b/app/src/main/res/drawable/box_christmas_delivery_gift_package_present_svgrepo_com.xml
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/buy_ecommerce_finance_payment_pos_shop_svgrepo_com.xml b/app/src/main/res/drawable/buy_ecommerce_finance_payment_pos_shop_svgrepo_com.xml
new file mode 100644
index 0000000..e9bbf15
--- /dev/null
+++ b/app/src/main/res/drawable/buy_ecommerce_finance_payment_pos_shop_svgrepo_com.xml
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+