import { useState, useCallback } from 'react'; import { api } from '../lib/api-client'; interface SetupRequest { name: string; email: string; password: string; language: 'en' | 'nl'; } interface SetupResponse { message: string; user: { id: string; name: string; email: string; role: string; }; } export function useSetup() { const [isPending, setIsPending] = useState(false); const [error, setError] = useState(null); const mutateAsync = useCallback(async (data: SetupRequest): Promise => { setIsPending(true); setError(null); try { const response = await api.post('/api/v1/Setup/owner', data); return response as SetupResponse; } catch (err) { const error = err instanceof Error ? err : new Error(String(err)); setError(error); throw error; } finally { setIsPending(false); } }, []); return { mutateAsync, isPending, error }; }