diff --git a/src/features/payments/components/PaymentSheet.tsx b/src/features/payments/components/PaymentSheet.tsx index c560201..43be25f 100644 --- a/src/features/payments/components/PaymentSheet.tsx +++ b/src/features/payments/components/PaymentSheet.tsx @@ -6,32 +6,16 @@ function formatCurrencyIDR(amount: number) { return new Intl.NumberFormat('id-ID', { style: 'currency', currency: 'IDR', maximumFractionDigits: 0 }).format(amount) } -function useCountdown(expireAt: number) { - const [now, setNow] = React.useState(() => Date.now()) - React.useEffect(() => { - const id = setInterval(() => setNow(Date.now()), 1000) - return () => clearInterval(id) - }, []) - const remainMs = Math.max(0, expireAt - now) - const totalSec = Math.floor(remainMs / 1000) - const hh = String(Math.floor(totalSec / 3600)).padStart(2, '0') - const mm = String(Math.floor((totalSec % 3600) / 60)).padStart(2, '0') - const ss = String(totalSec % 60).padStart(2, '0') - return `${hh}:${mm}:${ss}` -} - export interface PaymentSheetProps { merchantName?: string orderId: string amount: number - expireAt: number // epoch ms customerName?: string children?: React.ReactNode showStatusCTA?: boolean } -export function PaymentSheet({ merchantName = 'Simaya', orderId, amount, expireAt, customerName, children, showStatusCTA = true }: PaymentSheetProps) { - const countdown = useCountdown(expireAt) +export function PaymentSheet({ merchantName = 'Simaya', orderId, amount, customerName, children, showStatusCTA = true }: PaymentSheetProps) { const [expanded, setExpanded] = React.useState(true) return (
diff --git a/src/pages/CheckoutPage.tsx b/src/pages/CheckoutPage.tsx index ae67b46..c3dcd00 100644 --- a/src/pages/CheckoutPage.tsx +++ b/src/pages/CheckoutPage.tsx @@ -215,7 +215,6 @@ export function CheckoutPage() { } const orderId = orderIdRef.current const amount = 3500000 - const expireAt = Date.now() + 59 * 60 * 1000 + 32 * 1000 // 00:59:32 const [selected, setSelected] = React.useState(null) const [currentStep, setCurrentStep] = React.useState<1 | 2>(1) const [isBusy, setIsBusy] = React.useState(false) @@ -259,7 +258,7 @@ export function CheckoutPage() { )} - + {/* Wizard 2 langkah: Step 1 (Form Dummy) → Step 2 (Payment - Snap/Core auto-detect) */} {currentStep === 1 && (
diff --git a/src/pages/PayPage.tsx b/src/pages/PayPage.tsx index ff175a3..d7a601e 100644 --- a/src/pages/PayPage.tsx +++ b/src/pages/PayPage.tsx @@ -241,7 +241,6 @@ export function PayPage() { merchantName={merchantName} orderId={orderId || (token ?? '')} amount={amount} - expireAt={expireAt} showStatusCTA={false} >
@@ -271,7 +270,6 @@ export function PayPage() { merchantName={merchantName} orderId={orderId} amount={amount} - expireAt={expireAt} showStatusCTA={currentStep === 2} >
diff --git a/src/pages/PaymentStatusPage.tsx b/src/pages/PaymentStatusPage.tsx index 0aa146b..ab518d0 100644 --- a/src/pages/PaymentStatusPage.tsx +++ b/src/pages/PaymentStatusPage.tsx @@ -21,7 +21,6 @@ export function PaymentStatusPage() { const statusText = data?.status ?? 'pending' const isFinal = ['settlement', 'capture', 'expire', 'cancel', 'deny', 'refund', 'chargeback'].includes(statusText) - const isSuccess = statusText === 'settlement' || statusText === 'capture' function sanitizeUrl(u?: string) { return (u || '').replace(/[`\s]+$/g, '').replace(/^\s+|\s+$/g, '').replace(/`/g, '') }