Skip to content

Commit 2b66a6d

Browse files
committed
chore(transactions): force date formatting to US; share with market cap
Signed-off-by: Brandon McAnsh <git@bmcreations.dev>
1 parent d135b08 commit 2b66a6d

3 files changed

Lines changed: 24 additions & 13 deletions

File tree

  • apps/flipcash/features
    • tokens/src/main/kotlin/com/flipcash/app/tokens/internal/components/info
    • transactions/src/main/kotlin/com/flipcash/app/transactions/internal/components
  • libs/datetime/src/main/kotlin/com/getcode/util

apps/flipcash/features/tokens/src/main/kotlin/com/flipcash/app/tokens/internal/components/info/MarketCapSection.kt

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ import com.getcode.ui.theme.CodeCircularProgressIndicator
4646
import com.getcode.ui.utils.calculateEndPadding
4747
import com.getcode.ui.utils.calculateStartPadding
4848
import com.getcode.util.format
49+
import com.getcode.util.formatLocalized
4950
import kotlinx.datetime.TimeZone
5051
import kotlinx.datetime.toLocalDateTime
5152
import java.util.Locale
@@ -268,22 +269,14 @@ private fun HighlightedPointLabel(
268269

269270
val is24Hour = DateFormat.is24HourFormat(context)
270271

271-
fun Instant.formatLocalized(if12Hour: String, if24Hour: String = if12Hour): String {
272-
return if (is24Hour) {
273-
format(if24Hour, Locale.US)
274-
} else {
275-
format(if12Hour, Locale.US)
276-
}
277-
}
278-
279272
when (period) {
280273
Period.All -> instant.formatLocalized("MMMM d, yyyy")
281-
Period.Day -> instant.formatLocalized("hh:mm a", "hh:mm")
274+
Period.Day -> instant.formatLocalized("hh:mm a", is24Hour = is24Hour, if24Hour = "hh:mm")
282275
Period.Week -> {
283276
if (isCurrentYear) {
284-
instant.formatLocalized("MMMM d, hh:mm a", "MMMM d, hh:mm")
277+
instant.formatLocalized("MMMM d, hh:mm a", is24Hour = is24Hour, if24Hour = "MMMM d, hh:mm")
285278
} else {
286-
instant.formatLocalized("MMMM d, yyyy, hh:mm a", "MMMM d, yyyy, hh:mm")
279+
instant.formatLocalized("MMMM d, yyyy, hh:mm a", is24Hour = is24Hour, if24Hour = "MMMM d, yyyy, hh:mm")
287280
}
288281
}
289282

apps/flipcash/features/transactions/src/main/kotlin/com/flipcash/app/transactions/internal/components/FeedItemSummary.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.flipcash.app.transactions.internal.components
22

3+
import android.text.format.DateFormat
4+
import android.text.format.DateUtils
35
import androidx.compose.foundation.clickable
46
import androidx.compose.foundation.layout.Arrangement
57
import androidx.compose.foundation.layout.Column
@@ -9,13 +11,14 @@ import androidx.compose.material.Text
911
import androidx.compose.runtime.Composable
1012
import androidx.compose.ui.Alignment
1113
import androidx.compose.ui.Modifier
14+
import androidx.compose.ui.platform.LocalContext
1215
import com.flipcash.app.core.feed.ActivityFeedMessage
1316
import com.flipcash.app.core.ui.FlagWithFiat
1417
import com.getcode.theme.CodeTheme
1518
import com.getcode.ui.core.addIf
1619
import com.getcode.ui.core.noRippleClickable
17-
import com.getcode.util.DateUtils
1820
import com.getcode.util.format
21+
import com.getcode.util.formatLocalized
1922
import kotlinx.datetime.Instant
2023

2124

@@ -72,9 +75,12 @@ internal fun FeedItemSummary(
7275
}
7376
}
7477

78+
@Composable
7579
private fun Instant.formatRelativeToToday(): String {
80+
val context = LocalContext.current
81+
val is24Hour = DateFormat.is24HourFormat(context)
7682
if (DateUtils.isToday(toEpochMilliseconds())) {
77-
return format("hh:mm a")
83+
return formatLocalized("hh:mm a", is24Hour = is24Hour, if24Hour = "hh:mm")
7884
}
7985
return format("MMMM dd, yyyy")
8086
}

libs/datetime/src/main/kotlin/com/getcode/util/Instant.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,16 @@ fun Instant.format(format: String = "yyyy-MM-dd", locale: Locale = Locale.getDef
3030
val date = Date(epoch)
3131

3232
return formatter.format(date)
33+
}
34+
35+
fun Instant.formatLocalized(
36+
if12Hour: String,
37+
is24Hour: Boolean = false,
38+
if24Hour: String = if12Hour,
39+
): String {
40+
return if (is24Hour) {
41+
format(if24Hour, Locale.US)
42+
} else {
43+
format(if12Hour, Locale.US)
44+
}
3345
}

0 commit comments

Comments
 (0)