@@ -21,6 +21,9 @@ struct HomeView: View {
2121 @State private var showingEventActionSheet = false
2222 @State private var selectedEventType : BranchStandardEvent = . purchase
2323
24+ @State private var showingQRSheet = false
25+ @State private var qrCodeImage : UIImage ? = nil
26+
2427 var body : some View {
2528 NavigationView {
2629 VStack {
@@ -73,6 +76,32 @@ struct HomeView: View {
7376 . background ( Color . blue)
7477 . cornerRadius ( 8 )
7578 }
79+ Button ( action: createURL) {
80+ Label ( " Create Branch Link " , systemImage: " link " )
81+ . labelStyle ( . titleAndIcon)
82+ . foregroundColor ( . white)
83+ . padding ( )
84+ . frame ( maxWidth: . infinity)
85+ . background ( Color . blue)
86+ . cornerRadius ( 8 )
87+ }
88+ Button ( action: createQRCode) {
89+ Label ( " Create Branch QR Code " , systemImage: " qrcode " )
90+ . labelStyle ( . titleAndIcon)
91+ . foregroundColor ( . white)
92+ . padding ( )
93+ . frame ( maxWidth: . infinity)
94+ . background ( Color . blue)
95+ . cornerRadius ( 8 )
96+ }
97+ . sheet ( isPresented: $showingQRSheet) {
98+ if let qrImage = qrCodeImage {
99+ Image ( uiImage: qrImage)
100+ . interpolation ( . none)
101+ . resizable ( )
102+ . scaledToFit ( )
103+ }
104+ }
76105 }
77106 . headerProminence ( . standard)
78107 . listRowSeparator ( . hidden)
@@ -187,6 +216,35 @@ struct HomeView: View {
187216 }
188217 }
189218 }
219+
220+ func createURL( ) {
221+ let buo : BranchUniversalObject = BranchUniversalObject ( canonicalIdentifier: " item/12345 " )
222+ let lp : BranchLinkProperties = BranchLinkProperties ( )
223+
224+ buo. getShortUrl ( with: lp) { url, error in
225+ if ( error != nil ) {
226+ self . showToast ( message: " Error creating link: \( error) " )
227+ } else {
228+ self . showToast ( message: " Created \( url ?? " N/A " ) " )
229+ }
230+ }
231+ }
232+
233+ func createQRCode( ) {
234+ let buo : BranchUniversalObject = BranchUniversalObject ( canonicalIdentifier: " item/12345 " )
235+ let lp : BranchLinkProperties = BranchLinkProperties ( )
236+ let qrCode = BranchQRCode ( )
237+
238+ qrCode. getAsImage ( buo, linkProperties: lp) { image, error in
239+ if ( error != nil ) {
240+ self . showToast ( message: " Error creating QR Code: \( error) " )
241+
242+ } else {
243+ self . qrCodeImage = image
244+ self . showingQRSheet = true
245+ }
246+ }
247+ }
190248}
191249
192250extension View {
0 commit comments