/ src / hooks / useUploadFile.ts
useUploadFile.ts
 1  import { useMutation } from "@tanstack/react-query";
 2  import { BlossomUploader } from '@nostrify/nostrify/uploaders';
 3  
 4  import { useCurrentUser } from "./useCurrentUser";
 5  
 6  export function useUploadFile() {
 7    const { user } = useCurrentUser();
 8  
 9    return useMutation({
10      mutationFn: async (file: File) => {
11        if (!user) {
12          throw new Error('Must be logged in to upload files');
13        }
14  
15        const uploader = new BlossomUploader({
16          servers: [
17            'https://blossom.primal.net/',
18          ],
19          signer: user.signer,
20        });
21  
22        const tags = await uploader.upload(file);
23        return tags;
24      },
25    });
26  }