style: format code biome
Local Build and Deploy / deploy (push) Failing after 46s

This commit is contained in:
openhands committed 2026-07-13 21:57:41 +02:00
1 parent 8efd032cc6
commit df38dccbf1
735 files changed
+128321 -120870

No files matched your search

+6 -6
View File
@@ -3,12 +3,12 @@
import { useEffect, useState } from "react";
export function useDebounce<T>(value: T, delay: number = 300): T {
const [debouncedValue, setDebouncedValue] = useState<T>(value);
const [debouncedValue, setDebouncedValue] = useState<T>(value);
useEffect(() => {
const timer = setTimeout(() => setDebouncedValue(value), delay);
return () => clearTimeout(timer);
}, [value, delay]);
useEffect(() => {
const timer = setTimeout(() => setDebouncedValue(value), delay);
return () => clearTimeout(timer);
}, [value, delay]);
return debouncedValue;
return debouncedValue;
}
+42 -39
View File
@@ -6,17 +6,17 @@ import { toast } from "sonner";
import type { ActionResult } from "@/lib/safe-action-shared";
interface UseServerActionOptions {
/** Where to redirect after a successful action (optional) */
redirectOnSuccess?: string;
/** Where to redirect after a successful action (optional) */
redirectOnSuccess?: string;
}
interface RunOptions {
successMessage?: string;
errorMessage?: string;
/** Override redirect path for this specific call */
redirectTo?: string;
/** Called on success with the result data. Overrides default router.refresh(). */
onSuccess?: (data: Record<string, unknown>) => void;
successMessage?: string;
errorMessage?: string;
/** Override redirect path for this specific call */
redirectTo?: string;
/** Called on success with the result data. Overrides default router.refresh(). */
onSuccess?: (data: Record<string, unknown>) => void;
}
/**
@@ -33,39 +33,42 @@ interface RunOptions {
* run(() => deleteNews(id), { redirectTo: '/admin/news' })
*/
export function useServerAction(options: UseServerActionOptions = {}) {
const [isPending, startTransition] = useTransition();
const router = useRouter();
const [isPending, startTransition] = useTransition();
const router = useRouter();
function run(action: () => Promise<ActionResult | void>, opts: RunOptions = {}) {
const {
successMessage = "Saved successfully.",
errorMessage = "An error occurred.",
redirectTo,
onSuccess,
} = opts;
function run(
action: () => Promise<ActionResult | undefined>,
opts: RunOptions = {},
) {
const {
successMessage = "Saved successfully.",
errorMessage = "An error occurred.",
redirectTo,
onSuccess,
} = opts;
startTransition(async () => {
try {
const result = await action();
startTransition(async () => {
try {
const result = await action();
if (!result || result.ok) {
toast.success(successMessage);
if (onSuccess) {
onSuccess((result?.data ?? {}) as Record<string, unknown>);
} else {
const target = redirectTo || options.redirectOnSuccess;
if (target) router.push(target);
else router.refresh();
}
} else {
toast.error(result.error || errorMessage);
}
} catch (err) {
console.error("[useServerAction] Unexpected error:", err);
toast.error(errorMessage);
}
});
}
if (!result || result.ok) {
toast.success(successMessage);
if (onSuccess) {
onSuccess((result?.data ?? {}) as Record<string, unknown>);
} else {
const target = redirectTo || options.redirectOnSuccess;
if (target) router.push(target);
else router.refresh();
}
} else {
toast.error(result.error || errorMessage);
}
} catch (err) {
console.error("[useServerAction] Unexpected error:", err);
toast.error(errorMessage);
}
});
}
return { run, isPending };
return { run, isPending };
}