import 'package:enaklo_pos/core/components/spaces.dart'; import 'package:enaklo_pos/core/constants/colors.dart'; import 'package:enaklo_pos/core/extensions/int_ext.dart'; import 'package:enaklo_pos/data/models/response/order_response_model.dart'; import 'package:flutter/material.dart'; class RefundOrderItemTile extends StatelessWidget { final OrderItem item; const RefundOrderItemTile({super.key, required this.item}); @override Widget build(BuildContext context) { return Container( margin: EdgeInsets.only(bottom: 16), decoration: BoxDecoration( color: Colors.grey[50], borderRadius: BorderRadius.circular(20), border: Border.all(color: Colors.grey[200]!, width: 1), ), child: Padding( padding: EdgeInsets.all(24), child: Row( children: [ // Item Icon Container( padding: EdgeInsets.all(12), decoration: BoxDecoration( color: AppColors.primary.withOpacity(0.1), borderRadius: BorderRadius.circular(12), ), child: Icon( Icons.restaurant, color: AppColors.primary, size: 24, ), ), SizedBox(width: 20), // Item Details Expanded( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( item.productName ?? 'N/A', style: TextStyle( fontWeight: FontWeight.bold, fontSize: 18, color: Colors.grey[800], ), ), if (item.productVariantName != null) ...[ SpaceHeight(4), Text( item.productVariantName!, style: TextStyle( color: Colors.grey[600], fontSize: 14, ), ), ], if (item.notes != null && item.notes!.isNotEmpty) ...[ SpaceHeight(8), Container( padding: EdgeInsets.symmetric(horizontal: 12, vertical: 6), decoration: BoxDecoration( color: Colors.amber.withOpacity(0.1), borderRadius: BorderRadius.circular(8), ), child: Text( 'Catatan: ${item.notes}', style: TextStyle( color: Colors.amber[700], fontSize: 12, fontWeight: FontWeight.w500, ), ), ), ], ], ), ), // Price & Quantity Column( crossAxisAlignment: CrossAxisAlignment.end, children: [ Text( (item.unitPrice ?? 0).currencyFormatRpV2, style: TextStyle( fontWeight: FontWeight.bold, color: AppColors.primary, fontSize: 16, ), ), SpaceHeight(4), Container( padding: EdgeInsets.symmetric(horizontal: 12, vertical: 4), decoration: BoxDecoration( color: Colors.blue.withOpacity(0.1), borderRadius: BorderRadius.circular(12), ), child: Text( 'x${item.quantity}', style: TextStyle( color: Colors.blue[700], fontSize: 14, fontWeight: FontWeight.bold, ), ), ), SpaceHeight(8), Text( (item.totalPrice ?? 0).currencyFormatRpV2, style: TextStyle( color: Colors.grey[600], fontSize: 14, fontWeight: FontWeight.w500, ), ), ], ), ], ), ), ); } }