diff --git a/apps/web/src/components/admin/pages/AdminPlans.tsx b/apps/web/src/components/admin/pages/AdminPlans.tsx index 666c09d..164cc2a 100644 --- a/apps/web/src/components/admin/pages/AdminPlans.tsx +++ b/apps/web/src/components/admin/pages/AdminPlans.tsx @@ -125,114 +125,137 @@ export function AdminPlans() { {plans.map((plan) => (
- {/* Header */} -
-
-
- -

- {plan.name} -

+ {/* Content */} +
+ {/* Header: Drag Icon + Title/Description + Badge */} +
+ {/* Drag Handle */} +
+
- {plan.badge && ( - - {plan.badge} + + {/* Title & Description */} +
+ {/* Plan Name + Badge */} +
+

+ {plan.name} +

+ {plan.badge && ( + + {plan.badge} + + )} +
+ + {/* Description */} +

+ {plan.description} +

+
+
+ + {/* Price - Hero Section */} +
+
+ + {formatPrice(plan.price, plan.currency)} - )} -
-

- {plan.description} -

-
- - {/* Price */} -
-
- {formatPrice(plan.price, plan.currency)} -
-
- {plan.durationType === 'lifetime' - ? 'Lifetime access' - : plan.durationType === 'monthly' - ? 'per month' - : plan.durationType === 'yearly' - ? 'per year' - : plan.durationType} -
- {plan.trialDays > 0 && ( -
- {plan.trialDays} days free trial
- )} -
- - {/* Stats */} -
-
- - Subscriptions: - - - {plan._count.subscriptions} - -
-
- Status: -
- {plan.isActive && ( - - Active +
+

+ {plan.durationType === 'lifetime' + ? 'Akses Selamanya' + : plan.durationType === 'monthly' + ? 'per bulan' + : plan.durationType === 'yearly' + ? 'per tahun' + : plan.durationType} +

+ {plan.trialDays > 0 && ( + + 🎁 {plan.trialDays} hari gratis )} - {plan.isVisible ? ( - - ) : ( - - )}
-
- {/* Actions */} -
- - - + {/* Stats Grid */} +
+
+
Subscribers
+
+ {plan._count.subscriptions} +
+
+
+
Status
+
+ {plan.isActive ? ( + <> +
+ Active + + ) : ( + <> +
+ Inactive + + )} +
+
+
+ + {/* Action Buttons */} +
+ + + +
))}