| import { useCallback, useState } from "react"; |
| import { uploadRoomImage } from "../api/client"; |
|
|
| export default function useUploadImage() { |
| const [isUploading, setIsUploading] = useState(false); |
| const [uploadError, setUploadError] = useState<string | null>(null); |
|
|
| const uploadImage = useCallback( |
| async (file: File, customApiBase?: string) => { |
| setIsUploading(true); |
| setUploadError(null); |
|
|
| try { |
| return await uploadRoomImage(file, customApiBase); |
| } catch (error) { |
| const message = |
| error instanceof Error ? error.message : "Error subiendo la imagen"; |
| setUploadError(message); |
| throw new Error(message); |
| } finally { |
| setIsUploading(false); |
| } |
| }, |
| [], |
| ); |
|
|
| return { |
| uploadImage, |
| isUploading, |
| uploadError, |
| setUploadError, |
| }; |
| } |
|
|