Aidra Connect 10.0.2+16
Aidra Connect Mobile Application
Loading...
Searching...
No Matches
collection_progress_tracker.dart
Go to the documentation of this file.
1import 'package:connect/core/localization/app_localizations.dart';
2
3import '/features/collections/presentation/screens/transaction_history_screen/views/pending_transactions_view/views/progress_step.dart';
4import 'package:flutter/material.dart';
5import 'package:flutter_screenutil/flutter_screenutil.dart';
6
8 final int stepNumber;
9 const CollectionProgressTracker({super.key, required this.stepNumber});
10
11 @override
12 State<CollectionProgressTracker> createState() =>
13 _CollectionProgressTrackerState();
14}
15
16class _CollectionProgressTrackerState extends State<CollectionProgressTracker> {
17 @override
18 Widget build(BuildContext context) {
19 return Column(
20 crossAxisAlignment: CrossAxisAlignment.start,
21 children: [
22 Row(
23 crossAxisAlignment: CrossAxisAlignment.start,
24 mainAxisAlignment: MainAxisAlignment.spaceBetween,
25 children: [
26 ProgressStep(
27 label: AppLocalizations.of(context).translate('Processing'),
28 isActive: widget.stepNumber == 1 || widget.stepNumber > 1,
29 isCompleted: widget.stepNumber > 1,
30 step: 1,
31 ),
32 Expanded(
33 child: Container(
34 height: 2,
35 color: getStepColor(1, 2),
36 margin: EdgeInsets.symmetric(
37 horizontal: 8.sp,
38 vertical: 16.sp,
39 ),
40 ),
41 ),
42 ProgressStep(
43 label: AppLocalizations.of(context).translate('On The Way'),
44 isActive: widget.stepNumber == 2 || widget.stepNumber > 2,
45 isCompleted: widget.stepNumber > 2,
46 step: 2,
47 ),
48 Expanded(
49 child: Container(
50 height: 2,
51 color: getStepColor(2, 3),
52 margin: EdgeInsets.symmetric(
53 horizontal: 8.sp,
54 vertical: 16.sp,
55 ),
56 ),
57 ),
58 ProgressStep(
59 label: AppLocalizations.of(context).translate('Arrived'),
60 isActive: widget.stepNumber == 3 || widget.stepNumber > 3,
61 isCompleted: widget.stepNumber > 3,
62 step: 3,
63 ),
64 ],
65 ),
66 ],
67 );
68 }
69
70 Color getStepColor(int fromStep, int toStep) {
71 if (widget.stepNumber > fromStep) {
72 return Theme.of(context).colorScheme.primary;
73 } else if (widget.stepNumber == fromStep) {
74 return Theme.of(context).colorScheme.primary.withOpacity(0.5);
75 }
76 return Theme.of(context).hintColor.withOpacity(0.3);
77 }
78}
String translate(String key)
static AppLocalizations of(BuildContext context)
override State< CollectionProgressTracker > createState()
const CollectionProgressTracker({super.key, required this.stepNumber})
const CollectionProgressTracker({super.key, required this.stepNumber})
Color getStepColor(int fromStep, int toStep)
final Widget child
final String label
final Color color
Definition failures.dart:1
override Widget build(BuildContext context)