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 }