Skip to content

Commit

Permalink
[Feature] Show calendar in full with domain when select (#1042)
Browse files Browse the repository at this point in the history
  • Loading branch information
patrickunterwegs authored Nov 25, 2023
1 parent b0d8376 commit ef9b713
Show file tree
Hide file tree
Showing 4 changed files with 106 additions and 18 deletions.
29 changes: 23 additions & 6 deletions app/src/main/java/at/techbee/jtx/ui/collections/CollectionCard.kt
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,14 @@ import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.alpha
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import at.techbee.jtx.R
Expand Down Expand Up @@ -134,12 +136,27 @@ fun CollectionCard(
containerColor = collection.color?.let { Color (it) } ?: MaterialTheme.colorScheme.primaryContainer,
isAccessibilityMode = settingAccessibilityMode
)
Text(
collection.displayName ?: collection.accountName ?: collection.accountType ?: "",
style = Typography.bodyMedium,
fontWeight = FontWeight.Bold,
modifier = Modifier.weight(1f)
)

Column(modifier = Modifier.weight(1f)) {
collection.displayName?.let {
Text(
text = it,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
style = Typography.bodyMedium,
fontWeight = FontWeight.Bold,
)
}
if(collection.accountType != LOCAL_ACCOUNT_TYPE) {
Text(
text = collection.url,
style = MaterialTheme.typography.labelMedium,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
modifier = Modifier.alpha(0.5f)
)
}
}
}
if (collection.description?.isNotBlank() == true) {
Text(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ import at.techbee.jtx.database.relations.ICalEntity
import at.techbee.jtx.database.views.ICal4List
import at.techbee.jtx.flavored.BillingManager
import at.techbee.jtx.ui.reusable.dialogs.ColorPickerDialog
import at.techbee.jtx.ui.reusable.elements.CollectionInfoColumn
import at.techbee.jtx.ui.reusable.elements.CollectionsSpinner
import at.techbee.jtx.ui.reusable.elements.ListBadge
import at.techbee.jtx.ui.reusable.elements.ProgressElement
Expand Down Expand Up @@ -377,7 +378,12 @@ fun DetailScreenContent(
} ?: MaterialTheme.colorScheme.primaryContainer,
isAccessibilityMode = true
)
Text(originalICalEntity.value?.ICalCollection?.displayName + originalICalEntity.value?.ICalCollection?.accountName?.let { " ($it)" })
originalICalEntity.value?.ICalCollection?.let {
CollectionInfoColumn(
collection = it,
modifier = Modifier.fillMaxWidth()
)
}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
package at.techbee.jtx.ui.reusable.elements

import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.alpha
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import at.techbee.jtx.database.ICalCollection


@Composable
fun CollectionInfoColumn(collection: ICalCollection, modifier: Modifier = Modifier) {
Column(modifier = modifier) {

Row(
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.spacedBy(8.dp)
) {
collection.displayName?.let {
Text(
text = it,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
modifier = Modifier
)
}
collection.accountName?.let {
Text(
text = it,
style = MaterialTheme.typography.labelMedium,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
modifier = Modifier.alpha(0.5f).weight(1f)
)
}
}
if(collection.accountType != ICalCollection.LOCAL_ACCOUNT_TYPE) {
Text(
text = collection.url,
style = MaterialTheme.typography.labelMedium,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
modifier = Modifier.alpha(0.5f)
)
}
}
}


@Preview(showBackground = true)
@Composable
fun CollectionInfoColumn_Preview() {
MaterialTheme {
val collection1 = ICalCollection(
collectionId = 1L,
color = Color.Cyan.toArgb(),
displayName = "Collection Display Name",
description = "Here comes the desc",
accountName = "My account",
accountType = "LOCAL"
)
CollectionInfoColumn(collection1)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.wrapContentWidth
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.ArrowDropDown
import androidx.compose.material.icons.outlined.FolderOpen
Expand All @@ -15,7 +14,6 @@ import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.OutlinedCard
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.livedata.observeAsState
Expand Down Expand Up @@ -76,8 +74,8 @@ fun CollectionsSpinner(
containerColor = selected.color?.let {Color(it) } ?: MaterialTheme.colorScheme.primaryContainer,
isAccessibilityMode = true
)
Text(
text = selected.displayName + selected.accountName?.let { " ($it)" },
CollectionInfoColumn(
collection = selected,
modifier = Modifier
.weight(1f)
.alpha(if (!enabled) 0.5f else 1f)
Expand Down Expand Up @@ -111,13 +109,7 @@ fun CollectionsSpinner(
}
},
text = {
Text(
text = (collection.displayName ?: collection.accountName)
?: " ",
modifier = Modifier
.wrapContentWidth()
.align(Alignment.Start)
)
CollectionInfoColumn(collection = collection)
}
)
}
Expand Down

0 comments on commit ef9b713

Please sign in to comment.