@@ -39,10 +39,11 @@ struct AddExpenseView: View {
39
39
. scrollIndicators ( . hidden)
40
40
. scrollBounceBehavior ( . basedOnSize)
41
41
42
- AddNoteImageFooterView ( date: $viewModel. expenseDate, showImagePickerOptions: $viewModel. showImagePickerOptions,
43
- image: viewModel. expenseImage, imageUrl: viewModel. expenseImageUrl,
44
- isNoteEmpty: viewModel. expenseNote. isEmpty, handleNoteBtnTap: viewModel. handleNoteBtnTap,
45
- handleImageTap: viewModel. handleExpenseImageTap,
42
+ AddNoteImageFooterView ( date: $viewModel. expenseDate, showImageDisplayView: $viewModel. showImageDisplayView,
43
+ showImagePickerOptions: $viewModel. showImagePickerOptions, image: viewModel. expenseImage,
44
+ imageUrl: viewModel. expenseImageUrl, isNoteEmpty: viewModel. expenseNote. isEmpty,
45
+ handleNoteBtnTap: viewModel. handleNoteBtnTap, handleCameraTap: viewModel. handleCameraTap,
46
+ handleAttachmentTap: viewModel. handleAttachmentTap,
46
47
handleActionSelection: viewModel. handleActionSelection ( _: ) )
47
48
}
48
49
}
@@ -210,14 +211,16 @@ private struct ExpenseDetailRow: View {
210
211
struct AddNoteImageFooterView : View {
211
212
212
213
@Binding var date : Date
214
+ @Binding var showImageDisplayView : Bool
213
215
@Binding var showImagePickerOptions : Bool
214
216
215
217
let image : UIImage ?
216
218
let imageUrl : String ?
217
219
let isNoteEmpty : Bool
218
220
219
221
let handleNoteBtnTap : ( ( ) -> Void )
220
- let handleImageTap : ( ( ) -> Void )
222
+ let handleCameraTap : ( ( ) -> Void )
223
+ let handleAttachmentTap : ( ( ) -> Void )
221
224
let handleActionSelection : ( ( ActionsOfSheet ) -> Void )
222
225
223
226
var body : some View {
@@ -230,10 +233,11 @@ struct AddNoteImageFooterView: View {
230
233
231
234
DatePickerView ( date: $date)
232
235
233
- ImageAttachmentView ( image: image, imageUrl: imageUrl, handleImageBtnTap: handleImageTap)
234
- . confirmationDialog ( " " , isPresented: $showImagePickerOptions, titleVisibility: . hidden) {
235
- MediaPickerOptionsView ( image: image, imageUrl: imageUrl, handleActionSelection: handleActionSelection)
236
- }
236
+ ImageAttachmentView ( showImageDisplayView: $showImageDisplayView, image: image, imageUrl: imageUrl,
237
+ handleCameraTap: handleCameraTap, handleAttachmentTap: handleAttachmentTap)
238
+ . confirmationDialog ( " " , isPresented: $showImagePickerOptions, titleVisibility: . hidden) {
239
+ MediaPickerOptionsView ( image: image, imageUrl: imageUrl, handleActionSelection: handleActionSelection)
240
+ }
237
241
238
242
NoteButtonView ( isNoteEmpty: isNoteEmpty, handleNoteBtnTap: handleNoteBtnTap)
239
243
}
@@ -244,22 +248,21 @@ struct AddNoteImageFooterView: View {
244
248
245
249
private struct ImageAttachmentView : View {
246
250
251
+ @Binding var showImageDisplayView : Bool
252
+
247
253
let image : UIImage ?
248
254
let imageUrl : String ?
249
-
250
- let handleImageBtnTap : ( ( ) -> Void )
251
-
252
- @State private var showImageDisplayView = false
255
+
256
+ let handleCameraTap : ( ( ) -> Void )
257
+ let handleAttachmentTap : ( ( ) -> Void )
253
258
254
259
var body : some View {
255
260
HStack ( spacing: 0 ) {
256
261
if image != nil || ( imageUrl != nil && !( imageUrl? . isEmpty ?? false ) ) {
257
- AttachmentContainerView ( showImageDisplayView : $showImageDisplayView , image: image, imageUrl: imageUrl)
262
+ AttachmentContainerView ( image: image, imageUrl: imageUrl)
258
263
. frame ( width: 24 , height: 24 )
259
264
. clipShape ( RoundedRectangle ( cornerRadius: 4 ) )
260
- . onTapGestureForced {
261
- showImageDisplayView = true
262
- }
265
+ . onTapGestureForced ( perform: handleAttachmentTap)
263
266
. padding ( . leading, 8 )
264
267
. padding ( . vertical, 4 )
265
268
}
@@ -270,7 +273,7 @@ private struct ImageAttachmentView: View {
270
273
. frame ( width: 24 , height: 24 )
271
274
. padding ( . horizontal, 8 )
272
275
. padding ( . vertical, 4 )
273
- . onTouchGesture ( handleImageBtnTap )
276
+ . onTouchGesture ( handleCameraTap )
274
277
}
275
278
. background ( container2Color)
276
279
. cornerRadius ( 8 )
0 commit comments