import { useMutation } from "@tanstack/react-query"; import { BlossomUploader } from '@nostrify/nostrify/uploaders'; import { useCurrentUser } from "./useCurrentUser"; export function useUploadFile() { const { user } = useCurrentUser(); return useMutation({ mutationFn: async (file: File) => { if (!user) { throw new Error('Must be logged in to upload files'); } const uploader = new BlossomUploader({ // Multiple servers so a single slow/down Blossom host doesn't hang the // upload (crew logo uploads were stalling when primal.net was slow). // The uploader tries them in order and falls back on failure. servers: [ 'https://blossom.primal.net/', 'https://blossom.band/', 'https://cdn.satellite.earth/', ], signer: user.signer, }); const tags = await uploader.upload(file); return tags; }, }); }