#Weird Behaviour after first reload Nextjs Supabase
3 messages · Page 1 of 1 (latest)
"use client";
import { useEffect, useState } from "react";
import { createClient } from "@supabase/supabase-js";
const supabase = createClient(
process.env.NEXT_PUBLIC_SUPABASE_URL,
process.env.NEXT_PUBLIC_ANON
);
export default function UploadDataset() {
const [userData, setData] = useState();
const [userError, setError] = useState();
const [uploadedDatasetUrl, setUploadedDatasetUrl] = useState();
useEffect(() => {
const checkSession = async () => {
const { data: user_data, error: user_error } =
await supabase.auth.getSession();
setData(user_data);
setError(user_error);
};
checkSession();
}, []);
const handleFileUpload = async (event) => {
if (event.target.files.length > 0) {
const file = event.target.files[0];
const userId = userData.session.user.id;
const timestamp = new Date().getTime();
const path = ${userId}/datasets/${timestamp}_${file.name};
const { data: data_upload_url, error_upload_url } = await supabase.storage
.from("users")
.upload(path, file);
const { data: get_uploaded_url, error: get_uploaded_error } =
await supabase.storage.from("users").createSignedUrl(path, 3600);
setUploadedDatasetUrl(get_uploaded_url);
const { data: get_user_datasets, error: datasets_error } = await supabase
.from("profiles")
.select("user_datasets");
const get_datasets = get_user_datasets[0].user_datasets;
let extracted_datasets;
if (
get_datasets !== undefined &&
get_datasets !== "" &&
get_datasets != null
) {
extracted_datasets = get_datasets;
} else {
extracted_datasets = { datasets: [] };
}
const timestamp2 = new Date().toISOString();
const dataset_name = `${file.name}_${timestamp2}`;
extracted_datasets.datasets.push({
[dataset_name]: {
url: uploadedDatasetUrl,
name: file.name,
},
});
await supabase
.from("profiles")
.update({ user_datasets: extracted_datasets })
.eq("id", userId);
}
};
