home ui done
This commit is contained in:
parent
9ec87011e1
commit
ba5989e471
@ -11,6 +11,7 @@ import androidx.compose.material3.Text
|
|||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.unit.dp
|
||||||
import at.xaxa.ledger.ui.LedgerApp
|
import at.xaxa.ledger.ui.LedgerApp
|
||||||
import at.xaxa.ledger.ui.theme.LedgerTheme
|
import at.xaxa.ledger.ui.theme.LedgerTheme
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ fun HeaderCard(modifier: Modifier = Modifier, balance: String) {
|
|||||||
color = Color(0xfff9f9f9),
|
color = Color(0xfff9f9f9),
|
||||||
border = BorderStroke(1.dp, Color(0xffc6c6c6)),
|
border = BorderStroke(1.dp, Color(0xffc6c6c6)),
|
||||||
modifier = modifier
|
modifier = modifier
|
||||||
.requiredWidth(width = 360.dp)
|
.padding(16.dp, 0.dp)
|
||||||
.shadow(
|
.shadow(
|
||||||
elevation = 8.dp,
|
elevation = 8.dp,
|
||||||
shape = RoundedCornerShape(12.dp),
|
shape = RoundedCornerShape(12.dp),
|
||||||
@ -114,8 +114,7 @@ fun HorizontalCard(modifier: Modifier = Modifier, name: String, date: String, am
|
|||||||
color = Color(0xfff9f9f9),
|
color = Color(0xfff9f9f9),
|
||||||
border = BorderStroke(1.dp, Color(0xffc6c6c6)),
|
border = BorderStroke(1.dp, Color(0xffc6c6c6)),
|
||||||
modifier = modifier
|
modifier = modifier
|
||||||
.requiredWidth(width = 360.dp)
|
.padding(16.dp, 0.dp)
|
||||||
.requiredHeight(height = 80.dp)
|
|
||||||
.clip(shape = RoundedCornerShape(12.dp))
|
.clip(shape = RoundedCornerShape(12.dp))
|
||||||
) {
|
) {
|
||||||
Row(
|
Row(
|
||||||
@ -186,37 +185,7 @@ private fun HorizontalCardPreview() {
|
|||||||
// region Button Success
|
// region Button Success
|
||||||
@Composable
|
@Composable
|
||||||
fun ButtonSuccess(modifier: Modifier = Modifier, text: String, onClick: () -> Unit) {
|
fun ButtonSuccess(modifier: Modifier = Modifier, text: String, onClick: () -> Unit) {
|
||||||
Button(
|
CustomButton(modifier, text, onClick, Color(0xff61a483))
|
||||||
onClick = onClick,
|
|
||||||
shape = RoundedCornerShape(10.dp),
|
|
||||||
colors = ButtonDefaults.buttonColors(containerColor = Color(0xff61a483)),
|
|
||||||
contentPadding = PaddingValues(horizontal = 24.dp, vertical = 10.dp),
|
|
||||||
modifier = modifier
|
|
||||||
.requiredHeight(height = 40.dp)
|
|
||||||
) {
|
|
||||||
Column(
|
|
||||||
verticalArrangement = Arrangement.spacedBy(8.dp, Alignment.CenterVertically),
|
|
||||||
horizontalAlignment = Alignment.CenterHorizontally,
|
|
||||||
modifier = Modifier
|
|
||||||
.requiredHeight(height = 40.dp)
|
|
||||||
) {
|
|
||||||
Row(
|
|
||||||
horizontalArrangement = Arrangement.spacedBy(8.dp, Alignment.CenterHorizontally),
|
|
||||||
verticalAlignment = Alignment.CenterVertically,
|
|
||||||
modifier = Modifier
|
|
||||||
.fillMaxSize()
|
|
||||||
) {
|
|
||||||
Text(
|
|
||||||
text = text,
|
|
||||||
color = Color.White,
|
|
||||||
textAlign = TextAlign.Center,
|
|
||||||
lineHeight = 1.43.em,
|
|
||||||
style = MaterialTheme.typography.labelLarge,
|
|
||||||
modifier = Modifier
|
|
||||||
.wrapContentHeight(align = Alignment.CenterVertically))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Preview()
|
@Preview()
|
||||||
@ -229,13 +198,32 @@ private fun ButtonSuccessPreview() {
|
|||||||
// region Button Danger
|
// region Button Danger
|
||||||
@Composable
|
@Composable
|
||||||
fun ButtonDanger(modifier: Modifier = Modifier, text: String, onClick: () -> Unit) {
|
fun ButtonDanger(modifier: Modifier = Modifier, text: String, onClick: () -> Unit) {
|
||||||
|
CustomButton(modifier, text, onClick, Color(0xffc14d4d))
|
||||||
|
}
|
||||||
|
|
||||||
|
@Preview()
|
||||||
|
@Composable
|
||||||
|
private fun ButtonDangerPreview() {
|
||||||
|
ButtonDanger(Modifier, "Danger", onClick = { println("success") })
|
||||||
|
}
|
||||||
|
// endregion
|
||||||
|
|
||||||
|
|
||||||
|
//Color(0xff61a483)
|
||||||
|
@Composable
|
||||||
|
private fun CustomButton(modifier: Modifier = Modifier, text: String, onClick: () -> Unit, color: Color){
|
||||||
Button(
|
Button(
|
||||||
onClick = onClick,
|
onClick = onClick,
|
||||||
shape = RoundedCornerShape(10.dp),
|
shape = RoundedCornerShape(10.dp),
|
||||||
colors = ButtonDefaults.buttonColors(containerColor = Color(0xffc14d4d)),
|
colors = ButtonDefaults.buttonColors(containerColor = color),
|
||||||
contentPadding = PaddingValues(horizontal = 24.dp, vertical = 10.dp),
|
contentPadding = PaddingValues(horizontal = 24.dp, vertical = 10.dp),
|
||||||
modifier = modifier
|
modifier = modifier
|
||||||
.requiredHeight(height = 40.dp)
|
.padding(16.dp, 0.dp)
|
||||||
|
.shadow(
|
||||||
|
elevation = 8.dp,
|
||||||
|
shape = RoundedCornerShape(12.dp),
|
||||||
|
clip = false
|
||||||
|
)
|
||||||
) {
|
) {
|
||||||
Column(
|
Column(
|
||||||
verticalArrangement = Arrangement.spacedBy(8.dp, Alignment.CenterVertically),
|
verticalArrangement = Arrangement.spacedBy(8.dp, Alignment.CenterVertically),
|
||||||
@ -254,17 +242,11 @@ fun ButtonDanger(modifier: Modifier = Modifier, text: String, onClick: () -> Uni
|
|||||||
color = Color.White,
|
color = Color.White,
|
||||||
textAlign = TextAlign.Center,
|
textAlign = TextAlign.Center,
|
||||||
lineHeight = 1.43.em,
|
lineHeight = 1.43.em,
|
||||||
style = MaterialTheme.typography.labelLarge,
|
style = MaterialTheme.typography.labelMedium,
|
||||||
|
fontSize = 16.sp,
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.wrapContentHeight(align = Alignment.CenterVertically))
|
.wrapContentHeight(align = Alignment.CenterVertically))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Preview()
|
|
||||||
@Composable
|
|
||||||
private fun ButtonDangerPreview() {
|
|
||||||
ButtonDanger(Modifier, "Danger", onClick = { println("success") })
|
|
||||||
}
|
|
||||||
// endregion
|
|
||||||
|
@ -18,24 +18,29 @@ import androidx.compose.ui.Modifier
|
|||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
|
import at.xaxa.ledger.ui.ButtonSuccess
|
||||||
import at.xaxa.ledger.ui.HeaderCard
|
import at.xaxa.ledger.ui.HeaderCard
|
||||||
import at.xaxa.ledger.ui.HorizontalCard
|
import at.xaxa.ledger.ui.HorizontalCard
|
||||||
|
|
||||||
@OptIn(ExperimentalFoundationApi::class)
|
@OptIn(ExperimentalFoundationApi::class)
|
||||||
@Composable
|
@Composable
|
||||||
fun Home(modifier: Modifier = Modifier, onCardClick: (Int) -> Unit) {
|
fun Home(modifier: Modifier = Modifier, onCardClick: (Int) -> Unit) {
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier.fillMaxSize(),
|
modifier = Modifier.fillMaxSize(),
|
||||||
horizontalAlignment = Alignment.CenterHorizontally) {
|
horizontalAlignment = Alignment.CenterHorizontally
|
||||||
|
) {
|
||||||
val items = (1..20).toList()
|
val items = (1..20).toList()
|
||||||
LazyColumn() {
|
|
||||||
|
// LazyColumn with constrained height
|
||||||
|
LazyColumn(
|
||||||
|
modifier = Modifier
|
||||||
|
.weight(1f)
|
||||||
|
) {
|
||||||
stickyHeader {
|
stickyHeader {
|
||||||
HeaderCard(modifier = modifier, "-13563.00€")
|
HeaderCard(modifier = modifier, "-13563.00€")
|
||||||
}
|
}
|
||||||
items(items) { index ->
|
items(items) { index ->
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier.padding(vertical = 4.dp) // Add vertical padding
|
modifier = Modifier.padding(vertical = 4.dp)
|
||||||
) {
|
) {
|
||||||
HorizontalCard(
|
HorizontalCard(
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
@ -48,8 +53,13 @@ fun Home(modifier: Modifier = Modifier, onCardClick: (Int) -> Unit) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Box(modifier = Modifier.align(Alignment.BottomCenter)) {
|
// Sticky footer content
|
||||||
//This is your sticky footer Content
|
Box(
|
||||||
|
modifier = Modifier
|
||||||
|
.fillMaxWidth(),
|
||||||
|
contentAlignment = Alignment.Center
|
||||||
|
) {
|
||||||
|
ButtonSuccess(modifier = Modifier, "Add Transaction", onClick = { println("success") })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user