From fe9a8bde1d8169bc1feb3eb5320c1e9865e1493d Mon Sep 17 00:00:00 2001 From: dwindown Date: Thu, 25 Dec 2025 17:56:51 +0700 Subject: [PATCH] Fix member dashboard issues and webinar datetime loading MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove payment_provider filter to show all paid products (webinars now appear) - Fix webinar event_start field loading in AdminProducts (format to datetime-local) - Update order status badge colors for better visibility (green for paid, amber for pending) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- src/pages/ProductDetail.tsx | 2 +- src/pages/admin/AdminProducts.tsx | 4 ++-- src/pages/member/MemberDashboard.tsx | 5 ++--- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/pages/ProductDetail.tsx b/src/pages/ProductDetail.tsx index e9158cd..fa27f5a 100644 --- a/src/pages/ProductDetail.tsx +++ b/src/pages/ProductDetail.tsx @@ -354,7 +354,7 @@ export default function ProductDetail() { Segera Hadir )} {product.type === 'webinar' && !product.recording_url && product.event_start && new Date(product.event_start) <= new Date() && ( - Telah Selesai + Telah Lewat )} {hasAccess && Anda memiliki akses} diff --git a/src/pages/admin/AdminProducts.tsx b/src/pages/admin/AdminProducts.tsx index afbd7c9..edc18b8 100644 --- a/src/pages/admin/AdminProducts.tsx +++ b/src/pages/admin/AdminProducts.tsx @@ -78,7 +78,7 @@ export default function AdminProducts() { const generateSlug = (title: string) => title.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/(^-|-$)/g, ''); - const handleEdit = (product: Product) => { + const handleEdit = (product: Product) => { setEditingProduct(product); setForm({ title: product.title, @@ -88,7 +88,7 @@ export default function AdminProducts() { content: product.content || '', meeting_link: product.meeting_link || '', recording_url: product.recording_url || '', - event_start: product.event_start, + event_start: product.event_start ? product.event_start.slice(0, 16) : null, duration_minutes: product.duration_minutes, price: product.price, sale_price: product.sale_price, diff --git a/src/pages/member/MemberDashboard.tsx b/src/pages/member/MemberDashboard.tsx index b61baf4..963a632 100644 --- a/src/pages/member/MemberDashboard.tsx +++ b/src/pages/member/MemberDashboard.tsx @@ -126,8 +126,7 @@ export default function MemberDashboard() { `, ) .eq("user_id", user!.id) - .eq("payment_status", "paid") - .eq("payment_provider", "pakasir"), + .eq("payment_status", "paid"), supabase.from("profiles").select("whatsapp_number").eq("id", user!.id).single(), ]); @@ -299,7 +298,7 @@ export default function MemberDashboard() {

- + {order.payment_status === "paid" ? "Lunas" : "Pending"} {formatIDR(order.total_amount)}