changed stealthbutton to blue + disbale feed continue when task or subject is archived
This commit is contained in:
parent
d22d40439d
commit
875732fd2d
4 changed files with 33 additions and 19 deletions
|
@ -2,6 +2,7 @@ package be.ugent.sel.studeez.common.composable
|
|||
|
||||
import androidx.annotation.StringRes
|
||||
import androidx.compose.foundation.BorderStroke
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
|
@ -49,6 +50,7 @@ fun BasicButton(
|
|||
modifier: Modifier = Modifier,
|
||||
colors: ButtonColors = ButtonDefaults.buttonColors(),
|
||||
border: BorderStroke? = null,
|
||||
enabled: Boolean = true,
|
||||
onClick: () -> Unit,
|
||||
) {
|
||||
Button(
|
||||
|
@ -57,6 +59,7 @@ fun BasicButton(
|
|||
shape = defaultButtonShape(),
|
||||
colors = colors,
|
||||
border = border,
|
||||
enabled = enabled,
|
||||
) {
|
||||
Text(
|
||||
text = stringResource(text),
|
||||
|
@ -75,17 +78,22 @@ fun BasicButtonPreview() {
|
|||
fun StealthButton(
|
||||
@StringRes text: Int,
|
||||
modifier: Modifier = Modifier.card(),
|
||||
enabled: Boolean = true,
|
||||
onClick: () -> Unit,
|
||||
) {
|
||||
//val clickablemodifier = if (disabled) Modifier.clickable(indication = null) else modifier
|
||||
val borderColor = if (enabled) MaterialTheme.colors.primary
|
||||
else MaterialTheme.colors.onSurface.copy(alpha = 0.3f)
|
||||
BasicButton(
|
||||
text = text,
|
||||
onClick = onClick,
|
||||
modifier = modifier,
|
||||
enabled = enabled,
|
||||
colors = ButtonDefaults.buttonColors(
|
||||
backgroundColor = MaterialTheme.colors.surface,
|
||||
contentColor = MaterialTheme.colors.onSurface.copy(alpha = 0.4f)
|
||||
contentColor = borderColor
|
||||
),
|
||||
border = BorderStroke(2.dp, MaterialTheme.colors.onSurface.copy(alpha = 0.4f))
|
||||
border = BorderStroke(2.dp, borderColor)
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
@ -4,10 +4,7 @@ import androidx.compose.foundation.background
|
|||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.foundation.shape.CircleShape
|
||||
import androidx.compose.material.Card
|
||||
import androidx.compose.material.Icon
|
||||
import androidx.compose.material.Text
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.Info
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
|
@ -19,9 +16,9 @@ import androidx.compose.ui.tooling.preview.Preview
|
|||
import androidx.compose.ui.unit.dp
|
||||
import be.ugent.sel.studeez.R
|
||||
import be.ugent.sel.studeez.common.composable.StealthButton
|
||||
import be.ugent.sel.studeez.common.ext.fieldModifier
|
||||
import be.ugent.sel.studeez.data.local.models.FeedEntry
|
||||
import be.ugent.sel.studeez.data.local.models.timer_functional.HoursMinutesSeconds
|
||||
import be.ugent.sel.studeez.R.string as AppText
|
||||
|
||||
@Composable
|
||||
fun FeedEntry(
|
||||
|
@ -73,21 +70,19 @@ fun FeedEntry(
|
|||
Text(text = HoursMinutesSeconds(feedEntry.totalStudyTime).toString())
|
||||
}
|
||||
}
|
||||
if (!feedEntry.isArchived) {
|
||||
StealthButton(
|
||||
text = R.string.continue_task,
|
||||
modifier = Modifier
|
||||
.padding(start = 10.dp, end = 5.dp)
|
||||
.weight(6f)
|
||||
) {
|
||||
val buttonText: Int = if (feedEntry.isArchived) AppText.deleted else AppText.continue_task
|
||||
StealthButton(
|
||||
text = buttonText,
|
||||
enabled = !feedEntry.isArchived,
|
||||
modifier = Modifier
|
||||
.padding(start = 10.dp, end = 5.dp)
|
||||
.weight(6f)
|
||||
) {
|
||||
if (!feedEntry.isArchived) {
|
||||
continueWithTask()
|
||||
}
|
||||
} else {
|
||||
Row {
|
||||
Icon(imageVector = Icons.Default.Info, contentDescription = null)
|
||||
Text(text = "Deleted", modifier = Modifier.padding(horizontal = 5.dp))
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,14 +1,25 @@
|
|||
package be.ugent.sel.studeez.common.ext
|
||||
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.composed
|
||||
import androidx.compose.ui.unit.dp
|
||||
|
||||
fun Modifier.textButton(): Modifier {
|
||||
return this.fillMaxWidth().padding(16.dp, 8.dp, 16.dp, 0.dp)
|
||||
}
|
||||
|
||||
fun Modifier.noRippleClickable(onClick: () -> Unit): Modifier = composed {
|
||||
clickable(indication = null,
|
||||
interactionSource = remember { MutableInteractionSource() }) {
|
||||
onClick()
|
||||
}
|
||||
}
|
||||
|
||||
fun Modifier.basicButton(): Modifier {
|
||||
return this.fillMaxWidth().padding(16.dp, 8.dp)
|
||||
}
|
||||
|
|
|
@ -75,7 +75,7 @@ class FirebaseFeedDAO @Inject constructor(
|
|||
subjectId = subject.id,
|
||||
totalStudyTime = sessionReport.studyTime,
|
||||
endTime = sessionReport.endTime,
|
||||
isArchived = task.completed
|
||||
isArchived = task.archived || subject.archived
|
||||
)
|
||||
}
|
||||
}
|
Reference in a new issue