Skip to content

Commit 05dbaab

Browse files
committed
🍝πŸ₯Œ ↝ Fetching & displaying already uploaded files from user
1 parent 9a6f808 commit 05dbaab

File tree

2 files changed

+33
-28
lines changed

2 files changed

+33
-28
lines changed

β€Žcomponents/Content/FileUpload.tsx

+32-19
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useSupabaseClient } from "@supabase/auth-helpers-react";
1+
import { useSession, useSupabaseClient } from "@supabase/auth-helpers-react";
22
import { ConnectWallet, useStorageUpload, MediaRenderer } from "@thirdweb-dev/react";
33
import { NextPage } from "next";
44
import { useCallback, useEffect, useState } from "react";
@@ -9,6 +9,8 @@ const IPFS_GATEWAY = "https://d4b4e2e663a6efce5f7f8310426ba24a.ipfscdn.io/ipfs/"
99

1010
export default function FileUpload() {
1111
const supabase = useSupabaseClient();
12+
const session = useSession();
13+
1214
const [uris, setUris] = useState<string[]>([]);
1315

1416
const { mutateAsync: upload } = useStorageUpload();
@@ -18,7 +20,7 @@ export default function FileUpload() {
1820
const uris = await upload({ data: files });
1921

2022
// Add URIs to Supabase table
21-
const { error, data } = await supabase.from('comments').insert(uris.map(uri => ({ content: uri })));
23+
const { error, data } = await supabase.from('comments').insert(uris.map(uri => ({ content: uri, author: session?.user?.id })));
2224

2325
if (error) {
2426
console.error("Error inserting data into Supabase:", error.message);
@@ -33,9 +35,36 @@ export default function FileUpload() {
3335
}
3436
}, [upload, supabase]);
3537

38+
const fetchAndRenderFromSupabase = useCallback(async () => {
39+
try {
40+
const { data, error } = await supabase
41+
.from("comments")
42+
.select("content")
43+
.gte("id", 23)
44+
.lt("id", 29)
45+
.eq("author", session?.user?.id);
46+
47+
if (error) {
48+
console.error("Error fetching files from Supabase:", error.message);
49+
return;
50+
}
51+
52+
if (data) {
53+
const urisFromSupabase = data.map((row: any) => row.content);
54+
setUris(urisFromSupabase);
55+
}
56+
} catch (error: any) {
57+
console.error("Error fetching files from Supabase:", error.message);
58+
}
59+
}, [session?.user?.id, supabase]);
60+
61+
useEffect(() => {
62+
fetchAndRenderFromSupabase();
63+
}, [fetchAndRenderFromSupabase]);
64+
3665
const onDrop = useCallback(async (acceptedFiles: File[]) => {
3766
await uploadAndAddToSupabase(acceptedFiles);
38-
}, [uploadAndAddToSupabase]);
67+
}, []);
3968

4069
const { getRootProps, getInputProps } = useDropzone({ onDrop });
4170

@@ -78,22 +107,6 @@ export default function FileUpload() {
78107
}
79108
*/
80109

81-
const fetchAndRenderFromSupabase = async () => {
82-
try {
83-
const { data, error } = await supabase.from("files").select("file_url");
84-
if (error) {
85-
console.error("Error fetching files from Supabase:", error.message);
86-
return;
87-
}
88-
if (data) {
89-
const urisFromSupabase = data.map((row: any) => row.file_url);
90-
setUris(urisFromSupabase);
91-
}
92-
} catch (error: any) {
93-
console.error("Error fetching files from Supabase:", error.message);
94-
}
95-
};
96-
97110
useEffect(() => {
98111
fetchAndRenderFromSupabase();
99112
}, []);

β€Žpages/index.tsx

+1-9
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,7 @@ export default function Home() {
3838

3939
return (
4040
<div className="grid grid-cols-2 h-screen-navbar">
41-
<div className="bg-teal border-r">
42-
<div className="p-4">
43-
<div className="mx-auto tablet:mx-0">
44-
<div className="grid grid-cols-1 content-grid home-hero">
45-
<h1 className="text-4xl font-bold">Test</h1>
46-
</div>
47-
</div>
48-
</div>
49-
</div>
41+
5042
</div>
5143
);
5244
}

0 commit comments

Comments
Β (0)