diff --git a/lib/presentation/void/pages/success_void_page.dart b/lib/presentation/void/pages/success_void_page.dart index 8e7f8dd..44f90d2 100644 --- a/lib/presentation/void/pages/success_void_page.dart +++ b/lib/presentation/void/pages/success_void_page.dart @@ -1,7 +1,10 @@ import 'package:enaklo_pos/core/components/buttons.dart'; import 'package:enaklo_pos/core/components/spaces.dart'; import 'package:enaklo_pos/core/extensions/build_context_ext.dart'; +import 'package:enaklo_pos/core/extensions/date_time_ext.dart'; +import 'package:enaklo_pos/core/extensions/int_ext.dart'; import 'package:enaklo_pos/presentation/home/pages/dashboard_page.dart'; +import 'package:enaklo_pos/presentation/void/painter/pattern_painter.dart'; import 'package:flutter/material.dart'; import 'package:enaklo_pos/data/models/response/order_response_model.dart'; @@ -277,7 +280,7 @@ class _SuccessVoidPageState extends State ), ), Text( - _formatCurrency(widget.voidAmount), + (widget.voidAmount).currencyFormatRpV2, style: TextStyle( fontSize: 16, fontWeight: FontWeight.bold, @@ -445,7 +448,7 @@ class _SuccessVoidPageState extends State _buildInfoCard( icon: Icons.access_time, title: 'Waktu Void', - content: _formatDateTime(DateTime.now()), + content: (DateTime.now()).toFormattedDate3(), ), SizedBox(height: 32), @@ -597,7 +600,7 @@ class _SuccessVoidPageState extends State borderRadius: BorderRadius.circular(6), ), child: Text( - _formatCurrency(item.totalPrice ?? 0), + (item.totalPrice ?? 0).currencyFormatRpV2, style: TextStyle( fontSize: 12, fontWeight: FontWeight.bold, @@ -629,14 +632,6 @@ class _SuccessVoidPageState extends State ); } - String _formatCurrency(int amount) { - return 'Rp ${amount.toString().replaceAllMapped(RegExp(r'(\d{1,3})(?=(\d{3})+(?!\d))'), (Match m) => '${m[1]},')}'; - } - - String _formatDateTime(DateTime dateTime) { - return '${dateTime.day}/${dateTime.month}/${dateTime.year} ${dateTime.hour.toString().padLeft(2, '0')}:${dateTime.minute.toString().padLeft(2, '0')}'; - } - void _printVoidReceipt() { ScaffoldMessenger.of(context).showSnackBar( SnackBar( @@ -648,23 +643,3 @@ class _SuccessVoidPageState extends State ); } } - -// Simplified Pattern Painter (tidak mengganggu performa) -class PatternPainter extends CustomPainter { - @override - void paint(Canvas canvas, Size size) { - final paint = Paint() - ..color = Colors.white.withOpacity(0.05) - ..strokeWidth = 1; - - // Simplified pattern - tidak terlalu banyak - for (int i = 0; i < size.width; i += 100) { - for (int j = 0; j < size.height; j += 100) { - canvas.drawCircle(Offset(i.toDouble(), j.toDouble()), 1, paint); - } - } - } - - @override - bool shouldRepaint(covariant CustomPainter oldDelegate) => false; -} diff --git a/lib/presentation/void/painter/pattern_painter.dart b/lib/presentation/void/painter/pattern_painter.dart new file mode 100644 index 0000000..92f0ebb --- /dev/null +++ b/lib/presentation/void/painter/pattern_painter.dart @@ -0,0 +1,20 @@ +import 'package:flutter/material.dart'; + +class PatternPainter extends CustomPainter { + @override + void paint(Canvas canvas, Size size) { + final paint = Paint() + ..color = Colors.white.withOpacity(0.05) + ..strokeWidth = 1; + + // Simplified pattern - tidak terlalu banyak + for (int i = 0; i < size.width; i += 100) { + for (int j = 0; j < size.height; j += 100) { + canvas.drawCircle(Offset(i.toDouble(), j.toDouble()), 1, paint); + } + } + } + + @override + bool shouldRepaint(covariant CustomPainter oldDelegate) => false; +}