Vasilis

coupons view data preparation

...@@ -3,22 +3,4 @@ ...@@ -3,22 +3,4 @@
3 uuid = "91478161-56E8-4654-93F2-7756A39480EE" 3 uuid = "91478161-56E8-4654-93F2-7756A39480EE"
4 type = "0" 4 type = "0"
5 version = "2.0"> 5 version = "2.0">
6 - <Breakpoints>
7 - <BreakpointProxy
8 - BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
9 - <BreakpointContent
10 - uuid = "28AEA58D-19E0-4D42-BABE-9F1C341D6182"
11 - shouldBeEnabled = "Yes"
12 - ignoreCount = "0"
13 - continueAfterRunningActions = "No"
14 - filePath = "WarplySDKFrameworkIOS/CouponsView.swift"
15 - startingColumnNumber = "9223372036854775807"
16 - endingColumnNumber = "9223372036854775807"
17 - startingLineNumber = "100"
18 - endingLineNumber = "100"
19 - landmarkName = "previews"
20 - landmarkType = "24">
21 - </BreakpointContent>
22 - </BreakpointProxy>
23 - </Breakpoints>
24 </Bucket> 6 </Bucket>
......
...@@ -9,36 +9,53 @@ ...@@ -9,36 +9,53 @@
9 import SwiftUI 9 import SwiftUI
10 10
11 class DataModel { 11 class DataModel {
12 - var data: Array<NSDictionary>? 12 + var data: Array<NSDictionary> = []
13 13
14 init() { //initializer method 14 init() { //initializer method
15 let instanceOfMyApi = MyApi() 15 let instanceOfMyApi = MyApi()
16 let couponSets = instanceOfMyApi.getCouponSets(withActive: true, andVisible: true, andUuids: nil) 16 let couponSets = instanceOfMyApi.getCouponSets(withActive: true, andVisible: true, andUuids: nil)
17 let coupons = instanceOfMyApi.getCoupons() as AnyObject? 17 let coupons = instanceOfMyApi.getCoupons() as AnyObject?
18 18
19 + if let myCouponsSetsDictionary = couponSets as? [String : AnyObject] {
20 + let couponSetsData = (myCouponsSetsDictionary["MAPP_COUPON"] as! Array<NSMutableDictionary>)
21 + if let myCouponsDictionary = coupons as? [String : AnyObject] {
22 + let couponsData = (myCouponsDictionary["result"] as! Array<NSMutableDictionary>)
23 + if let sets = couponSetsData as? NSArray {
24 + for set in sets {
25 + let s = set as! NSDictionary
26 + if let cpns = couponsData as? NSArray {
27 + for coupon in cpns {
28 + var c = coupon as! NSDictionary
29 +// var temp = NSMutableDictionary(dictionary: s);
30 + if c["couponset_uuid"] as! String == s["uuid"] as! String {
31 + var temp = NSMutableDictionary(dictionary: s);
32 + temp.addEntries(from: c as! [AnyHashable : Any])
33 +
34 + self.data.append(temp as NSDictionary)
35 + }
36 +
37 + }
38 + }
19 39
20 - if let myDictionary = coupons as? [String : AnyObject] { 40 + }
21 - self.data = (myDictionary["result"] as! Array<NSDictionary>) 41 + }
42 + }
22 } 43 }
23 } 44 }
24 45
25 var getData: Array<NSDictionary> { 46 var getData: Array<NSDictionary> {
26 get { // getter 47 get { // getter
27 - return data ?? [] 48 + return data
28 } 49 }
29 } 50 }
30 } 51 }
31 52
32 - 53 +extension CouponsView {
33 -@available(iOS 13.0.0, *) 54 + struct headerView: View {
34 -struct CouponsView: View {
35 -
36 - var data:Array<NSDictionary> = DataModel().getData
37 55
38 var uiscreen = UIScreen.main.bounds 56 var uiscreen = UIScreen.main.bounds
39 -// @State private var bottomRect: CGRect = .zero 57 +
40 var body: some View { 58 var body: some View {
41 - VStack {
42 ZStack { 59 ZStack {
43 Image("ic_back", bundle: Bundle(for: MyEmptyClass.self)) 60 Image("ic_back", bundle: Bundle(for: MyEmptyClass.self))
44 .resizable() 61 .resizable()
...@@ -49,41 +66,55 @@ struct CouponsView: View { ...@@ -49,41 +66,55 @@ struct CouponsView: View {
49 .offset( y: self.uiscreen.height * 0.07) 66 .offset( y: self.uiscreen.height * 0.07)
50 .frame(width: self.uiscreen.width) 67 .frame(width: self.uiscreen.width)
51 } 68 }
52 - ScrollView { 69 + }
53 - VStack { 70 + }
54 71
72 + struct couponView: View {
73 + @Binding var result: NSDictionary
55 74
56 -// let dataArray:[NSDictionary] = (data as! NSArray).compactMap({ $0 as? NSDictionary }) 75 + var uiscreen = UIScreen.main.bounds
57 76
58 -// if (data?.count())! > 0 { 77 + var body: some View {
59 -// data?.forEach { (language) in 78 + ZStack {
60 -// ForEach(data, id: \.self) { result in 79 + URLImage(url: URL(string: result["img_preview"] as! String? ?? ""))
61 -//
62 -//
63 -//
64 -// ZStack {
65 -// Image("logo", bundle: Bundle(for: MyEmptyClass.self))
66 // .resizable() 80 // .resizable()
67 -// .frame(width: self.uiscreen.height * 0.04, height: self.uiscreen.height * 0.04, alignment: .topLeading) 81 + .frame(width: self.uiscreen.height * 0.04, height: self.uiscreen.height * 0.04)
68 -// .cornerRadius(CGFloat(self.uiscreen.height * 0.02)) 82 + .cornerRadius(CGFloat(self.uiscreen.height * 0.02))
69 // .offset(x: -self.uiscreen.width / 2 + self.uiscreen.width * 0.14, y: -self.uiscreen.height * 0.07) 83 // .offset(x: -self.uiscreen.width / 2 + self.uiscreen.width * 0.14, y: -self.uiscreen.height * 0.07)
70 -// 84 +
71 -// }.background( 85 + }
72 -// Image("coupons_container", bundle: Bundle(identifier:"framework.warp.ly.warplySDKFrameworkIOS")) 86 +// .background(
87 +// Image("coupons_container", bundle: Bundle(for: MyEmptyClass.self))
73 // .resizable() 88 // .resizable()
74 -// .edgesIgnoringSafeArea(.all) 89 +//// .edgesIgnoringSafeArea(.all)
75 -// .frame(width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height) 90 +// .frame(width: UIScreen.main.bounds.width * 0.8, height: UIScreen.main.bounds.height * 0.17)
76 // ) 91 // )
77 -//
78 } 92 }
79 -// 93 + }
80 94
95 +}
96 +
97 +@available(iOS 13.0.0, *)
98 +struct CouponsView: View {
99 +
100 + var data:Array<NSDictionary> = DataModel().getData
81 101
102 + var uiscreen = UIScreen.main.bounds
103 +
104 + var body: some View {
105 + VStack {
106 + headerView()
107 + ScrollView {
108 + VStack {
109 + if (data.count) > 0 {
110 + ForEach(data, id: \.self) { result in
111 + couponView(result: result)
112 + }
113 + }
82 } 114 }
83 .frame(width:self.uiscreen.width, height:self.uiscreen.height ) 115 .frame(width:self.uiscreen.width, height:self.uiscreen.height )
84 -
85 } 116 }
86 - 117 + }
87 } 118 }
88 } 119 }
89 #endif 120 #endif
......