summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/components/session/session-context-format.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/app/src/components/session/session-context-format.ts')
-rw-r--r--packages/app/src/components/session/session-context-format.ts20
1 files changed, 20 insertions, 0 deletions
diff --git a/packages/app/src/components/session/session-context-format.ts b/packages/app/src/components/session/session-context-format.ts
new file mode 100644
index 000000000..e7c536d58
--- /dev/null
+++ b/packages/app/src/components/session/session-context-format.ts
@@ -0,0 +1,20 @@
+import { DateTime } from "luxon"
+
+export function createSessionContextFormatter(locale: string) {
+ return {
+ number(value: number | null | undefined) {
+ if (value === undefined) return "—"
+ if (value === null) return "—"
+ return value.toLocaleString(locale)
+ },
+ percent(value: number | null | undefined) {
+ if (value === undefined) return "—"
+ if (value === null) return "—"
+ return value.toLocaleString(locale) + "%"
+ },
+ time(value: number | undefined) {
+ if (!value) return "—"
+ return DateTime.fromMillis(value).setLocale(locale).toLocaleString(DateTime.DATETIME_MED)
+ },
+ }
+}