| import { clsx, type ClassValue } from "clsx"
|
| import { twMerge } from "tailwind-merge"
|
|
|
| export function cn(...inputs: ClassValue[]) {
|
| return twMerge(clsx(inputs))
|
| }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| export function sqliteUtcToIso(value: string): string {
|
|
|
| if (value.includes('T')) return value;
|
| return value.replace(' ', 'T') + 'Z';
|
| }
|
|
|
|
|
| export function formatSqliteUtcToLocalTime(
|
| value: string | null | undefined,
|
| options: Intl.DateTimeFormatOptions = { hour: '2-digit', minute: '2-digit', second: '2-digit' },
|
| ): string {
|
| if (!value) return '—';
|
| const date = new Date(sqliteUtcToIso(value));
|
| if (isNaN(date.getTime())) return '—';
|
| return date.toLocaleTimeString([], options);
|
| }
|
|
|