progress on batches
This commit is contained in:
@@ -259,7 +259,7 @@ class _ReceiptScreenState extends State<ReceiptScreen>
|
||||
),
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 24),
|
||||
const SizedBox(height: 16),
|
||||
|
||||
// Animated info card section
|
||||
FadeTransition(
|
||||
@@ -272,7 +272,7 @@ class _ReceiptScreenState extends State<ReceiptScreen>
|
||||
),
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 20),
|
||||
const SizedBox(height: 14),
|
||||
|
||||
// Animated content section
|
||||
FadeTransition(
|
||||
@@ -386,7 +386,7 @@ class _ReceiptScreenState extends State<ReceiptScreen>
|
||||
],
|
||||
stops: const [0.0, 0.5, 1.0],
|
||||
),
|
||||
borderRadius: BorderRadius.circular(24),
|
||||
borderRadius: BorderRadius.circular(20),
|
||||
border: Border.all(
|
||||
color: primaryColor.withValues(alpha: 0.12),
|
||||
width: 1,
|
||||
@@ -399,13 +399,13 @@ class _ReceiptScreenState extends State<ReceiptScreen>
|
||||
),
|
||||
],
|
||||
),
|
||||
padding: const EdgeInsets.symmetric(vertical: 28, horizontal: 24),
|
||||
padding: const EdgeInsets.symmetric(vertical: 20, horizontal: 20),
|
||||
child: Column(
|
||||
children: [
|
||||
// Status badge
|
||||
if (status != null) ...[
|
||||
_buildStatusBadge(status, theme),
|
||||
const SizedBox(height: 16),
|
||||
const SizedBox(height: 12),
|
||||
],
|
||||
|
||||
// Amount row
|
||||
@@ -433,14 +433,14 @@ class _ReceiptScreenState extends State<ReceiptScreen>
|
||||
),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
const SizedBox(height: 8),
|
||||
|
||||
// Bill name (if available)
|
||||
if (billName.isNotEmpty)
|
||||
Container(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
horizontal: 14,
|
||||
vertical: 6,
|
||||
horizontal: 12,
|
||||
vertical: 4,
|
||||
),
|
||||
decoration: BoxDecoration(
|
||||
color: primaryColor.withValues(alpha: 0.08),
|
||||
@@ -455,7 +455,7 @@ class _ReceiptScreenState extends State<ReceiptScreen>
|
||||
),
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 6),
|
||||
const SizedBox(height: 4),
|
||||
|
||||
// Date
|
||||
if (createdAt != null)
|
||||
@@ -467,11 +467,11 @@ class _ReceiptScreenState extends State<ReceiptScreen>
|
||||
color: isDark ? Colors.white54 : Colors.grey.shade500,
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 24),
|
||||
const SizedBox(height: 16),
|
||||
|
||||
// Divider with dots pattern
|
||||
_buildDottedDivider(isDark),
|
||||
const SizedBox(height: 20),
|
||||
const SizedBox(height: 14),
|
||||
|
||||
// Action buttons row
|
||||
_buildActionButtons(theme),
|
||||
@@ -487,7 +487,7 @@ class _ReceiptScreenState extends State<ReceiptScreen>
|
||||
Widget _buildDottedDivider(bool isDark) {
|
||||
return Row(
|
||||
children: List.generate(
|
||||
60,
|
||||
40,
|
||||
(index) => Expanded(
|
||||
child: Container(
|
||||
height: 1.5,
|
||||
@@ -508,8 +508,8 @@ class _ReceiptScreenState extends State<ReceiptScreen>
|
||||
final paymentStatus = _transaction?.paymentStatus;
|
||||
|
||||
return Wrap(
|
||||
spacing: 12,
|
||||
runSpacing: 8,
|
||||
spacing: 10,
|
||||
runSpacing: 6,
|
||||
alignment: WrapAlignment.center,
|
||||
children: [
|
||||
_modernActionButton(
|
||||
@@ -926,7 +926,7 @@ class _ReceiptScreenState extends State<ReceiptScreen>
|
||||
],
|
||||
),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(20),
|
||||
padding: const EdgeInsets.all(14),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
@@ -954,7 +954,7 @@ class _ReceiptScreenState extends State<ReceiptScreen>
|
||||
),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 16),
|
||||
const SizedBox(height: 12),
|
||||
|
||||
// Divider
|
||||
Container(
|
||||
@@ -963,12 +963,12 @@ class _ReceiptScreenState extends State<ReceiptScreen>
|
||||
? Colors.white.withValues(alpha: 0.06)
|
||||
: Colors.grey.shade200,
|
||||
),
|
||||
const SizedBox(height: 16),
|
||||
const SizedBox(height: 12),
|
||||
|
||||
// Detail items
|
||||
...items.map(
|
||||
(item) => Padding(
|
||||
padding: const EdgeInsets.only(bottom: 14),
|
||||
padding: const EdgeInsets.only(bottom: 10),
|
||||
child: _buildModernDetailRow(
|
||||
theme: theme,
|
||||
isDark: isDark,
|
||||
@@ -980,7 +980,7 @@ class _ReceiptScreenState extends State<ReceiptScreen>
|
||||
// Total amount divider & total
|
||||
if (totalAmount != null) ...[
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 4),
|
||||
padding: const EdgeInsets.symmetric(vertical: 2),
|
||||
child: Container(
|
||||
height: 1,
|
||||
decoration: BoxDecoration(
|
||||
@@ -993,7 +993,7 @@ class _ReceiptScreenState extends State<ReceiptScreen>
|
||||
),
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
const SizedBox(height: 8),
|
||||
Row(
|
||||
children: [
|
||||
Container(
|
||||
@@ -1111,4 +1111,4 @@ class _DetailItem {
|
||||
this.isWarning = false,
|
||||
this.trailing,
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user