33import { useEffect , useState } from 'react' ;
44import { useRouter } from 'next/navigation' ;
55
6- const OrderPage = ( { params } : { params : { orderId : string } } ) => {
7- const { orderId } = params ;
6+ type OrderPageParams = {
7+ orderId : string ;
8+ } ;
9+
10+ // Core fix: Explicit type assertion
11+ export default function OrderPage ( {
12+ params
13+ } : {
14+ params : OrderPageParams
15+ } & { params : any } ) { // Double type assertion
16+ const { orderId } = params as OrderPageParams ;
817 const [ order , setOrder ] = useState < any > ( null ) ;
918 const [ loading , setLoading ] = useState ( true ) ;
1019 const router = useRouter ( ) ;
@@ -13,16 +22,11 @@ const OrderPage = ({ params }: { params: { orderId: string } }) => {
1322 const fetchOrder = async ( ) => {
1423 try {
1524 const res = await fetch ( `/api/orders/${ orderId } ` ) ;
16- const data = await res . json ( ) ;
17-
18- if ( data . success ) {
19- setOrder ( data . order ) ;
20- } else {
21- throw new Error ( data . message || 'Order not found' ) ;
22- }
25+ if ( ! res . ok ) throw new Error ( `Failed to fetch (${ res . status } )` ) ;
26+ setOrder ( await res . json ( ) ) ;
2327 } catch ( error ) {
24- console . error ( 'Error fetching order :' , error ) ;
25- router . push ( '/' ) ;
28+ console . error ( 'Fetch error :' , error ) ;
29+ router . push ( '/' ) ;
2630 } finally {
2731 setLoading ( false ) ;
2832 }
@@ -32,17 +36,13 @@ const OrderPage = ({ params }: { params: { orderId: string } }) => {
3236 } , [ orderId , router ] ) ;
3337
3438 if ( loading ) return < p > Loading...</ p > ;
35-
36- if ( ! order ) return < p > Order not found.</ p > ;
39+ if ( ! order ) return < p > Order not found</ p > ;
3740
3841 return (
3942 < div >
40- < h1 > Order Confirmation</ h1 >
41- < p > Order ID: { order . _id } </ p >
42- < p > Total Price: ${ order . totalPrice } </ p >
43+ < h1 > Order #{ order . _id } </ h1 >
44+ < p > Total: ₹{ order . totalPrice } </ p >
4345 < p > Status: { order . status } </ p >
4446 </ div >
4547 ) ;
46- } ;
47-
48- export default OrderPage ;
48+ }
0 commit comments