@@ -13,17 +13,20 @@ extension ItemView {
1313 let onLoadMore : ( ) -> Void
1414 let onShowHNSheet : ( ) -> Void
1515 let onShowReplySheet : ( ) -> Void
16-
16+ let onFlag : ( ) -> Void
17+
1718 init ( comment: Comment ,
1819 itemStore: ItemStore ,
1920 onShowHNSheet: @escaping ( ) -> Void ,
2021 onShowReplySheet: @escaping ( ) -> Void ,
21- onLoadMore: @escaping ( ) -> Void ) {
22+ onLoadMore: @escaping ( ) -> Void ,
23+ onFlag: @escaping ( ) -> Void ) {
2224 self . level = comment. level ?? 0
2325 self . comment = comment
2426 self . onShowHNSheet = onShowHNSheet
2527 self . onShowReplySheet = onShowReplySheet
2628 self . onLoadMore = onLoadMore
29+ self . onFlag = onFlag
2730 self . itemStore = itemStore
2831 }
2932
@@ -50,13 +53,6 @@ extension ItemView {
5053
5154 return AnyView ( wrappedView)
5255 }
53- . confirmationDialog ( " Are you sure? " , isPresented: $itemStore. showFlagDialog) {
54- Button ( " Flag " , role: . destructive) {
55- onFlagTap ( )
56- }
57- } message: {
58- Text ( " Flag the post by \( comment. by. orEmpty) ? " )
59- }
6056 }
6157 }
6258
@@ -132,7 +128,12 @@ extension ItemView {
132128 }
133129 . disabled ( !auth. loggedIn)
134130 Divider ( )
135- FlagButton ( id: comment. id, showFlagDialog: $itemStore. showFlagDialog)
131+ Button {
132+ onFlag ( )
133+ } label: {
134+ Label ( " Flag " , systemImage: " flag " )
135+ }
136+ . disabled ( !auth. loggedIn)
136137 Divider ( )
137138 ShareMenu ( item: comment)
138139 CopyButton ( text: comment. text. orEmpty, actionPerformed: $itemStore. actionPerformed)
0 commit comments