99 lines
3.4 KiB
Kotlin
99 lines
3.4 KiB
Kotlin
package co.electriccoin.zcash.ui.history.view
|
|
|
|
import android.annotation.SuppressLint
|
|
import androidx.compose.foundation.Image
|
|
import androidx.compose.foundation.layout.Column
|
|
import androidx.compose.foundation.layout.Row
|
|
import androidx.compose.foundation.layout.Spacer
|
|
import androidx.compose.foundation.layout.fillMaxWidth
|
|
import androidx.compose.foundation.layout.padding
|
|
import androidx.compose.foundation.lazy.LazyColumn
|
|
import androidx.compose.foundation.lazy.items
|
|
import androidx.compose.material.icons.Icons
|
|
import androidx.compose.material.icons.filled.ArrowBack
|
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
|
import androidx.compose.material3.Icon
|
|
import androidx.compose.material3.IconButton
|
|
import androidx.compose.material3.Scaffold
|
|
import androidx.compose.material3.Text
|
|
import androidx.compose.material3.TopAppBar
|
|
import androidx.compose.runtime.Composable
|
|
import androidx.compose.ui.Alignment
|
|
import androidx.compose.ui.Modifier
|
|
import androidx.compose.ui.res.painterResource
|
|
import androidx.compose.ui.res.stringResource
|
|
import androidx.compose.ui.text.style.TextAlign
|
|
import androidx.compose.ui.tooling.preview.Preview
|
|
import androidx.compose.ui.unit.sp
|
|
import cash.z.ecc.android.sdk.internal.twig
|
|
import cash.z.ecc.android.sdk.model.TransactionOverview
|
|
import cash.z.ecc.sdk.ext.ui.model.toZecString
|
|
import cash.z.ecc.sdk.ext.ui.toFiatString
|
|
import cash.z.ecc.sdk.model.CurrencyConversion
|
|
import co.electriccoin.zcash.ui.R
|
|
import co.electriccoin.zcash.ui.design.component.Body
|
|
import co.electriccoin.zcash.ui.design.component.GradientSurface
|
|
import co.electriccoin.zcash.ui.design.component.Small
|
|
import co.electriccoin.zcash.ui.design.theme.ZcashTheme
|
|
|
|
@Composable
|
|
fun ComposablePreview() {
|
|
ZcashTheme(darkTheme = true) {
|
|
GradientSurface {
|
|
History(transactions = listOf(), goBack = {})
|
|
}
|
|
}
|
|
}
|
|
|
|
@OptIn(ExperimentalMaterial3Api::class)
|
|
@Composable
|
|
fun History(
|
|
transactions: List<TransactionOverview>,
|
|
goBack: () -> Unit
|
|
) {
|
|
Scaffold(topBar = {
|
|
HistoryTopBar(onBack = goBack)
|
|
}) { paddingValues ->
|
|
LazyColumn(Modifier.padding(paddingValues)) {
|
|
items(transactions) {
|
|
TransactionHistoryItem(it)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@Composable
|
|
fun TransactionHistoryItem(transaction: TransactionOverview) {
|
|
Row(modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) {
|
|
Image(
|
|
painter = painterResource(id = co.electriccoin.zcash.ui.design.R.drawable.ic_dollar_currency_symbol),
|
|
contentDescription = "")
|
|
Column {
|
|
Body(text = "sent tx")
|
|
Small(text = "description", textAlign = TextAlign.Start)
|
|
}
|
|
Spacer(modifier = Modifier.weight(0.2f))
|
|
Column(horizontalAlignment = Alignment.End) {
|
|
Text(text = transaction.netValue.toZecString(), fontSize = 18.sp)
|
|
Body(text = transaction.feePaid.toZecString())
|
|
}
|
|
}
|
|
}
|
|
|
|
@Composable
|
|
@OptIn(ExperimentalMaterial3Api::class)
|
|
private fun HistoryTopBar(onBack: () -> Unit) {
|
|
TopAppBar(
|
|
title = { Text(text = stringResource(id = R.string.about_title)) },
|
|
navigationIcon = {
|
|
IconButton(
|
|
onClick = onBack
|
|
) {
|
|
Icon(
|
|
imageVector = Icons.Filled.ArrowBack,
|
|
contentDescription = stringResource(R.string.about_back_content_description)
|
|
)
|
|
}
|
|
}
|
|
)
|
|
} |