server' στην κορυφή του αρχείου.
src/app/admin/articles/new/page.tsx
Το form χρησιμοποιεί action={createArticle} από το actions.ts — χωρίς nested server functions.
src/app/admin/articles/[id]/page.tsx
update με κρυφό article_id.
Διαγραφή με ξεχωριστό <form action={deleteArticle}> αντί για <button onClick> σε Server Component (αυτό επίσης ήταν άκυρο στο RSC).
Update
Αφαιρέθηκε το updated_at από το update ώστε να μην σπάει αν η στήλη δεν υπάρχει στο Supabase.
Σε περίπτωση σφάλματος αποθήκευσης γίνεται redirect σε ?error=save (μπορείς αργότερα να εμφανίσεις μήνυμα στο UI).
Δοκίμασε ξανά Νέο άρθρο — η σελίδα θα πρέπει να φορτώνει κανονικά. Αν μετά την υποβολή βλέπεις redirect με error=save, το θέμα είναι στο Supabase (RLS, στήλες, unique στο slug, κ.λπ.)· πες μου τι βλέπεις στο terminal όταν κάνεις αποθήκευση.
τεστ
τεστ
22 Μαρτίου 2026
Σχετικά άρθρα
Γενικά
ede
drgatwe
ΓενικάTEST1
47 + // Ensure bucket exists (idempotent — no-ops if already created) 48 + const { data: buckets } = await supabase.storage.listBuckets() 49 + if (!buckets?.find((b) => b.name === BUCKET)) { 50 + const { error: bucketError } = await supabase.storage.createBucket(BUCKET, { 51 + public: true,