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)}