fix: disable vaul repositionInputs to fix iOS keyboard in drawers
Some checks failed
CI / Check / Test (push) Failing after 6m35s

This commit is contained in:
2026-06-04 15:11:16 +02:00
parent dacc057af6
commit 4a3a99c6d2
17 changed files with 123 additions and 29 deletions

19
spa/src/lib/date.ts Normal file
View File

@@ -0,0 +1,19 @@
import { formatDistanceToNow, parseISO, format } from "date-fns"
export function timeAgo(dateStr: string): string {
try {
const date = dateStr.includes("T") ? parseISO(dateStr) : new Date(dateStr.replace(" ", "T"))
return formatDistanceToNow(date, { addSuffix: true })
} catch {
return dateStr.slice(0, 10)
}
}
export function shortDate(dateStr: string): string {
try {
const date = dateStr.includes("T") ? parseISO(dateStr) : new Date(dateStr.replace(" ", "T"))
return format(date, "MMM d, yyyy")
} catch {
return dateStr.slice(0, 10)
}
}

7
spa/src/lib/haptics.ts Normal file
View File

@@ -0,0 +1,7 @@
export function hapticLight() {
navigator?.vibrate?.(10)
}
export function hapticMedium() {
navigator?.vibrate?.(20)
}

View File

@@ -1,6 +1,13 @@
import { QueryClient } from "@tanstack/react-query"
import { QueryClient, type Mutation } from "@tanstack/react-query"
import { toast } from "sonner"
import { ApiError } from "@/lib/api/client"
function onMutationError(error: Error, _vars: unknown, _ctx: unknown, mutation: Mutation) {
if (mutation.options.onError) return
const msg = error instanceof ApiError ? `Error ${error.status}` : "Something went wrong"
toast.error(msg)
}
export const queryClient = new QueryClient({
defaultOptions: {
queries: {
@@ -13,5 +20,8 @@ export const queryClient = new QueryClient({
return failureCount < 2
},
},
mutations: {
onError: onMutationError as never,
},
},
})