mirror of https://github.com/tasks/tasks
Make chips skippable
parent
11fa9a2bbd
commit
82103eb477
@ -0,0 +1,56 @@
|
||||
package org.tasks.compose
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.derivedStateOf
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import com.todoroo.andlib.utility.DateUtilities
|
||||
import com.todoroo.astrid.data.Task
|
||||
import org.tasks.R
|
||||
import org.tasks.date.DateTimeUtils.toDateTime
|
||||
import org.tasks.time.DateTimeUtils.startOfDay
|
||||
import java.time.format.FormatStyle
|
||||
|
||||
@Composable
|
||||
fun StartDateChip(
|
||||
sortGroup: Long?,
|
||||
startDate: Long,
|
||||
compact: Boolean,
|
||||
timeOnly: Boolean,
|
||||
colorProvider: (Int) -> Int,
|
||||
) {
|
||||
val context = LocalContext.current
|
||||
val text by remember(sortGroup, startDate, timeOnly, compact) {
|
||||
derivedStateOf {
|
||||
if (
|
||||
timeOnly &&
|
||||
sortGroup?.startOfDay() == startDate.startOfDay()
|
||||
) {
|
||||
startDate
|
||||
.takeIf { Task.hasDueTime(it) }
|
||||
?.let { DateUtilities.getTimeString(context, it.toDateTime()) }
|
||||
} else {
|
||||
DateUtilities.getRelativeDateTime(
|
||||
context,
|
||||
startDate,
|
||||
context.resources.configuration.locales[0],
|
||||
if (compact) FormatStyle.SHORT else FormatStyle.MEDIUM,
|
||||
false,
|
||||
false
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
if (text != null) {
|
||||
Chip(
|
||||
icon = R.drawable.ic_pending_actions_24px,
|
||||
name = text,
|
||||
theme = 0,
|
||||
showText = true,
|
||||
showIcon = true,
|
||||
onClick = {},
|
||||
colorProvider = colorProvider,
|
||||
)
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue