--- // src/pages/admin/index.astro export const prerender = false; import { supabase } from "../lib/supabase"; let formError = null; // VERWERK POST-VERZOEKEN if (Astro.request.method === "POST") { try { const formData = await Astro.request.formData(); const action = formData.get("action"); if (action === "create") { const { error } = await supabase.from("videos").insert([ { title: formData.get("title"), description: formData.get("description"), youtube_id: formData.get("youtube_id"), category: formData.get("category"), created_at: formData.get("created_at"), type: formData.get("type"), } ]); if (error) throw error; } if (action === "update") { const id = formData.get("id"); const { error } = await supabase.from("videos").update({ title: formData.get("title"), description: formData.get("description"), youtube_id: formData.get("youtube_id"), category: formData.get("category"), created_at: formData.get("created_at"), type: formData.get("type"), }).eq("id", id); if (error) throw error; } if (action === "delete") { const id = formData.get("id"); const { error } = await supabase.from("videos").delete().eq("id", id); if (error) throw error; } return Astro.redirect("/admin"); } catch (error: any) { formError = error.message; console.error("Database actie mislukt:", error.message); } } // HAAL DE VIDEOS OP const { data: videos, error: dbError } = await supabase .from("videos") .select("*") .order("id", { ascending: true }); --- Admin Dashboard - Video's

Video Beheer Dashboard

{formError &&
Fout: {formError}
} {dbError &&

Er is een fout opgetreden bij het laden: {dbError.message}

} {videos && videos.length > 0 && ( {videos.map((video) => ( ))}
ID Titel Categorie YouTube ID Datum Type
{video.id} {video.title}
{video.description}
{video.category} {video.youtube_id} {video.created_at ? new Date(video.created_at).toLocaleDateString('nl-NL') : "-"} {video.type}
)}