@@ -12,32 +12,71 @@ export default function FileUpload() {
12
12
const [ uris , setUris ] = useState < string [ ] > ( [ ] ) ;
13
13
14
14
const { mutateAsync : upload } = useStorageUpload ( ) ;
15
- const onDrop = useCallback (
16
- async ( acceptedFiles : File [ ] ) => {
17
- const _uris = await upload ( { data : acceptedFiles } ) ;
18
- setUris ( _uris ) ;
19
- } ,
20
- [ upload ] ,
21
- ) ;
22
-
23
- const { getRootProps, getInputProps } = useDropzone ( { onDrop } ) ;
24
15
25
- const uploadAndAddToSupabase = async ( files : File [ ] ) => {
16
+ const uploadAndAddToSupabase = useCallback ( async ( files : File [ ] ) => {
26
17
try {
27
18
const uris = await upload ( { data : files } ) ;
28
- setUris ( uris ) ;
29
19
30
20
// Add URIs to Supabase table
31
- for ( const uri of uris ) {
32
- supabase . from ( 'files' )
33
- . insert ( {
34
- filename : uri
35
- } ) ;
21
+ const { error , data } = await supabase . from ( 'comments' ) . insert ( uris . map ( uri => ( { content : uri } ) ) ) ;
22
+
23
+ if ( error ) {
24
+ console . error ( "Error inserting data into Supabase:" , error . message ) ;
25
+ return ;
36
26
}
27
+
28
+ console . log ( "Data inserted successfully:" , data ) ;
29
+
30
+ setUris ( uris ) ;
37
31
} catch ( error ) {
38
32
console . error ( "Error uploading files and adding to Supabase:" , error ) ;
39
33
}
40
- } ;
34
+ } , [ upload , supabase ] ) ;
35
+
36
+ const onDrop = useCallback ( async ( acceptedFiles : File [ ] ) => {
37
+ await uploadAndAddToSupabase ( acceptedFiles ) ;
38
+ } , [ uploadAndAddToSupabase ] ) ;
39
+
40
+ const { getRootProps, getInputProps } = useDropzone ( { onDrop } ) ;
41
+
42
+ /*
43
+ function createPost() {
44
+ supabase
45
+ .from('posts_duplicates')
46
+ .insert({
47
+ author: session?.user?.id,
48
+ content,
49
+ media: uploads,
50
+ planets2: planetId2,
51
+ })
52
+ .then(async response => {
53
+ if (!response.error) {
54
+ // Increment the user's experience locally
55
+ setUserExperience(userExperience + 1);
56
+
57
+ // Update the user's experience in the database
58
+ await supabase.from('profiles').update({
59
+ experience: userExperience + 1,
60
+ }).eq('id', session?.user?.id);
61
+
62
+ // Add a copy of the planet to the user's inventory
63
+ await supabase.from('inventoryPLANETS').insert([
64
+ {
65
+ planet_id: planetId2,
66
+ owner_id: session?.user?.id,
67
+ },
68
+ ]);
69
+
70
+ alert(`Post ${content} created`);
71
+ setContent('');
72
+ setUploads([]);
73
+ if (onPost) {
74
+ onPost();
75
+ }
76
+ }
77
+ });
78
+ }
79
+ */
41
80
42
81
const fetchAndRenderFromSupabase = async ( ) => {
43
82
try {
0 commit comments