Skip to content

Commit 10e9017

Browse files
authored
Merge pull request #513 from DevKor-github/codexd/preparation-validation-feedback
[codex] Improve preparation validation feedback
2 parents 461b2f9 + 52243e6 commit 10e9017

17 files changed

Lines changed: 1384 additions & 244 deletions

File tree

ios/Podfile.lock

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -215,33 +215,33 @@ SPEC CHECKSUMS:
215215
AppAuth: 1c1a8afa7e12f2ec3a294d9882dfa5ab7d3cb063
216216
AppCheckCore: cc8fd0a3a230ddd401f326489c99990b013f0c4f
217217
Firebase: aa154fee4e9b8eac17aa42344988865b3e857d33
218-
firebase_core: 9156a152117c843440b0b990c785aa0259bc5447
219-
firebase_messaging: 0d962ab44ff24ed36deb8fa2ee043c4671858269
218+
firebase_core: 40bc9f4c0ee3a28fbfb1e00e2ddaed744bb86388
219+
firebase_messaging: 7168ed5c5f52fc396426745be147263cfcc39ecc
220220
FirebaseCore: 86241206e656f5c80c995e370e6c975913b9b284
221221
FirebaseCoreInternal: 7c12fc3011d889085e765e317d7b9fd1cef97af9
222222
FirebaseInstallations: 4e6e162aa4abaaeeeb01dd00179dfc5ad9c2194e
223223
FirebaseMessaging: 341004946fa7ffc741344b20f1b667514fc93e31
224224
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
225-
flutter_appauth: d4abcf54856e5d8ba82ed7646ffc83245d4aa448
226-
flutter_local_notifications: a5a732f069baa862e728d839dd2ebb904737effb
227-
flutter_secure_storage_darwin: acdb3f316ed05a3e68f856e0353b133eec373a23
228-
google_sign_in_ios: 205742c688aea0e64db9da03c33121694a365109
225+
flutter_appauth: 88fcbc27871cbedac400db9d39b1363e4850179d
226+
flutter_local_notifications: ff50f8405aaa0ccdc7dcfb9022ca192e8ad9688f
227+
flutter_secure_storage_darwin: 557817588b80e60213cbecb573c45c76b788018d
228+
google_sign_in_ios: 4bb0e529b167cadc6ac785b6ed943c0a0a4cc1c9
229229
GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7
230230
GoogleSignIn: fcee2257188d5eda57a5e2b6a715550ffff9206d
231231
GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1
232232
GTMAppAuth: 217a876b249c3c585a54fd6f73e6b58c4f5c4238
233233
GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6
234-
kakao_flutter_sdk_common: 682b3606698f87467788598dc2dc09d4e6867fbd
234+
kakao_flutter_sdk_common: a21740b9dd4900f96161f365a2b6ece7a97cbf4f
235235
nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
236-
path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564
237-
permission_handler_apple: 4ed2196e43d0651e8ff7ca3483a069d469701f2d
236+
path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
237+
permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2
238238
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
239-
shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7
240-
sign_in_with_apple: c5dcc141574c8c54d5ac99dd2163c0c72ad22418
239+
shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78
240+
sign_in_with_apple: f3bf75217ea4c2c8b91823f225d70230119b8440
241241
sqlite3: a51c07cf16e023d6c48abd5e5791a61a47354921
242-
sqlite3_flutter_libs: b3e120efe9a82017e5552a620f696589ed4f62ab
243-
url_launcher_ios: 694010445543906933d732453a59da0a173ae33d
244-
webview_flutter_wkwebview: 1821ceac936eba6f7984d89a9f3bcb4dea99ebb2
242+
sqlite3_flutter_libs: f9114e4bbe1f2e03dd543373c53d23245982ca13
243+
url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe
244+
webview_flutter_wkwebview: a4af96a051138e28e29f60101d094683b9f82188
245245

246246
PODFILE CHECKSUM: be4663332fca77601dd6736e3676fe47177084e1
247247

lib/l10n/app_en.arb

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,23 @@
175175
"@preparationTime": {
176176
"description": "Label for preparation time"
177177
},
178+
"preparationNameRequired": "Please enter a preparation name.",
179+
"@preparationNameRequired": {
180+
"description": "Error shown when a preparation step name is empty"
181+
},
182+
"preparationTimeMinimumError": "Set preparation time to at least 1 minute.",
183+
"@preparationTimeMinimumError": {
184+
"description": "Error shown when a preparation step time is zero or negative"
185+
},
186+
"preparationTimeMaximumError": "Preparation time can be up to {minutes} minutes.",
187+
"@preparationTimeMaximumError": {
188+
"description": "Error shown when a preparation step time exceeds the maximum allowed minutes",
189+
"placeholders": {
190+
"minutes": {
191+
"type": "int"
192+
}
193+
}
194+
},
178195
"hours": "hours",
179196
"@hours": {
180197
"description": "Unit of time"

lib/l10n/app_ko.arb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,17 @@
4343
"appointmentPlace": "약속 장소",
4444
"travelTime": "이동시간",
4545
"preparationTime": "준비시간",
46+
"preparationNameRequired": "준비 이름을 입력해 주세요.",
47+
"preparationTimeMinimumError": "준비 시간을 1분 이상으로 설정해 주세요.",
48+
"preparationTimeMaximumError": "준비 시간은 최대 {minutes}분까지 설정할 수 있어요.",
49+
"@preparationTimeMaximumError": {
50+
"description": "Error shown when a preparation step time exceeds the maximum allowed minutes",
51+
"placeholders": {
52+
"minutes": {
53+
"type": "int"
54+
}
55+
}
56+
},
4657
"hours": "시간",
4758
"minutes": "분",
4859
"selectTime": "시간을 선택해 주세요",

lib/l10n/app_localizations.dart

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -362,6 +362,24 @@ abstract class AppLocalizations {
362362
/// **'Preparation Time'**
363363
String get preparationTime;
364364

365+
/// Error shown when a preparation step name is empty
366+
///
367+
/// In en, this message translates to:
368+
/// **'Please enter a preparation name.'**
369+
String get preparationNameRequired;
370+
371+
/// Error shown when a preparation step time is zero or negative
372+
///
373+
/// In en, this message translates to:
374+
/// **'Set preparation time to at least 1 minute.'**
375+
String get preparationTimeMinimumError;
376+
377+
/// Error shown when a preparation step time exceeds the maximum allowed minutes
378+
///
379+
/// In en, this message translates to:
380+
/// **'Preparation time can be up to {minutes} minutes.'**
381+
String preparationTimeMaximumError(int minutes);
382+
365383
/// Unit of time
366384
///
367385
/// In en, this message translates to:

lib/l10n/app_localizations_en.dart

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,18 @@ class AppLocalizationsEn extends AppLocalizations {
150150
@override
151151
String get preparationTime => 'Preparation Time';
152152

153+
@override
154+
String get preparationNameRequired => 'Please enter a preparation name.';
155+
156+
@override
157+
String get preparationTimeMinimumError =>
158+
'Set preparation time to at least 1 minute.';
159+
160+
@override
161+
String preparationTimeMaximumError(int minutes) {
162+
return 'Preparation time can be up to $minutes minutes.';
163+
}
164+
153165
@override
154166
String get hours => 'hours';
155167

lib/l10n/app_localizations_ko.dart

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,17 @@ class AppLocalizationsKo extends AppLocalizations {
145145
@override
146146
String get preparationTime => '준비시간';
147147

148+
@override
149+
String get preparationNameRequired => '준비 이름을 입력해 주세요.';
150+
151+
@override
152+
String get preparationTimeMinimumError => '준비 시간을 1분 이상으로 설정해 주세요.';
153+
154+
@override
155+
String preparationTimeMaximumError(int minutes) {
156+
return '준비 시간은 최대 $minutes분까지 설정할 수 있어요.';
157+
}
158+
148159
@override
149160
String get hours => '시간';
150161

lib/presentation/my_page/preparation_spare_time_edit/preparation_spare_time_edit_screen.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,8 @@ class _PreparationSection extends StatelessWidget {
256256
padding: const EdgeInsets.only(bottom: 15.0),
257257
child: Builder(
258258
builder: (context) {
259-
final totalDuration = preparationNameState.preparationStepList
259+
final totalDuration = preparationNameState
260+
.visiblePreparationStepList
260261
.fold(
261262
Duration.zero,
262263
(prev, step) => prev + step.preparationTime.value,

0 commit comments

Comments
 (0)