Skip to content

Commit 6f5233c

Browse files
committed
refactor: correct spelling and enhance PreparationStepWithTime handling
- Renamed PreprationStepWithTime to PreparationStepWithTime for consistency. - Updated methods to use the new class name and improved elapsed time handling with a copyWithElapsed method. - Ensured proper casting of preparation step lists in ScheduleBloc and ScheduleState.
1 parent 955e1e7 commit 6f5233c

File tree

2 files changed

+23
-14
lines changed

2 files changed

+23
-14
lines changed

lib/presentation/app/bloc/schedule/schedule_bloc.dart

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,9 @@ class ScheduleBloc extends Bloc<ScheduleEvent, ScheduleState> {
119119

120120
PreparationStepEntity _findCurrentPreparationStep(
121121
ScheduleWithPreparationEntity schedule, DateTime now) {
122-
final List<PreprationStepWithTime> steps =
123-
schedule.preparation.preparationStepList.cast<PreprationStepWithTime>();
122+
final List<PreparationStepWithTime> steps = schedule
123+
.preparation.preparationStepList
124+
.cast<PreparationStepWithTime>();
124125

125126
if (steps.isEmpty) {
126127
throw StateError('Preparation steps are empty');
@@ -135,25 +136,23 @@ class ScheduleBloc extends Bloc<ScheduleEvent, ScheduleState> {
135136

136137
Duration elapsed = now.difference(preparationStartTime);
137138

138-
for (final PreprationStepWithTime step in steps) {
139+
for (final PreparationStepWithTime step in steps) {
139140
if (elapsed < step.preparationTime) {
140-
step.elapsedTime = elapsed;
141-
return step;
141+
return step.copyWithElapsed(elapsed);
142142
}
143143
elapsed -= step.preparationTime;
144-
step.elapsedTime = step.preparationTime;
145144
}
146145

147146
// If elapsed exceeds total preparation duration (e.g., during move/spare time),
148147
// return the last preparation step as current by convention.
149-
return steps.last;
148+
return steps.last.copyWithElapsed(steps.last.preparationTime);
150149
}
151150

152151
ScheduleWithPreparationEntity _convertToScheduleWithTimePreparation(
153152
ScheduleWithPreparationEntity schedule) {
154153
final preparationWithTime = PreparationWithTime(
155154
preparationStepList: schedule.preparation.preparationStepList
156-
.map((step) => PreprationStepWithTime(
155+
.map((step) => PreparationStepWithTime(
157156
id: step.id,
158157
preparationName: step.preparationName,
159158
preparationTime: step.preparationTime,

lib/presentation/app/bloc/schedule/schedule_state.dart

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,31 +52,41 @@ class ScheduleState extends Equatable {
5252
List<Object?> get props => [status, schedule];
5353
}
5454

55-
class PreprationStepWithTime extends PreparationStepEntity
55+
class PreparationStepWithTime extends PreparationStepEntity
5656
implements Equatable {
57-
Duration elapsedTime;
57+
final Duration elapsedTime;
5858

59-
PreprationStepWithTime({
59+
const PreparationStepWithTime({
6060
required super.id,
6161
required super.preparationName,
6262
required super.preparationTime,
6363
required super.nextPreparationId,
6464
this.elapsedTime = Duration.zero,
6565
});
6666

67+
PreparationStepWithTime copyWithElapsed(Duration elapsed) {
68+
return PreparationStepWithTime(
69+
id: id,
70+
preparationName: preparationName,
71+
preparationTime: preparationTime,
72+
nextPreparationId: nextPreparationId,
73+
elapsedTime: elapsed,
74+
);
75+
}
76+
6777
@override
6878
List<Object?> get props =>
6979
[id, preparationName, preparationTime, nextPreparationId, elapsedTime];
7080
}
7181

7282
class PreparationWithTime extends PreparationEntity implements Equatable {
7383
const PreparationWithTime({
74-
required List<PreprationStepWithTime> preparationStepList,
84+
required List<PreparationStepWithTime> preparationStepList,
7585
}) : super(preparationStepList: preparationStepList);
7686

7787
@override
78-
List<PreprationStepWithTime> get preparationStepList =>
79-
super.preparationStepList.cast<PreprationStepWithTime>();
88+
List<PreparationStepWithTime> get preparationStepList =>
89+
super.preparationStepList.cast<PreparationStepWithTime>();
8090

8191
@override
8292
List<Object?> get props => [preparationStepList];

0 commit comments

Comments
 (0)