alqindiirsyam 1 jaar geleden
bovenliggende
commit
0a978da50d

+ 6 - 3
appbuilder-ios/AppBuilder/AppBuilder/FirstTabViewController.swift

@@ -151,9 +151,6 @@ class FirstTabViewController: UIViewController, UIScrollViewDelegate, UIGestureR
             }
         }
         if let u = myURL {
-            if Utils.getIsLoadThemeFromOther() {
-                self.webView.evaluateJavaScript("{window.localStorage.setItem('mobileConfiguration','"+Utils.getMyTheme()+"')}")
-            }
             self.webView.evaluateJavaScript("{window.localStorage.setItem('currentTab','\(ViewController.sURL)')}")
             if ((dateRefresh == nil || Int(Date().timeIntervalSince(dateRefresh!)) >= 60) && FirstTabViewController.atFirstPage) || FirstTabViewController.forceRefresh {
 //                let myRequest = URLRequest(url: u)
@@ -173,6 +170,12 @@ class FirstTabViewController: UIViewController, UIScrollViewDelegate, UIGestureR
         }
     }
     
+    func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
+        if Utils.getIsLoadThemeFromOther() {
+            self.webView.evaluateJavaScript("{window.localStorage.setItem('mobileConfiguration','"+Utils.getMyTheme()+"')}")
+        }
+    }
+    
     override func viewDidAppear(_ animated: Bool) {
 //        if (self.isUsingMyWebview() && self.webView.url != nil && !self.webView.url!.absoluteString.contains("nexilis/pages/tab1-main-only") && !self.webView.url!.absoluteString.contains("nexilis/pages/tab3-main-only") && !self.webView.url!.absoluteString.contains("nexilis/pages/tab1-main") && !self.webView.url!.absoluteString.contains("nexilis/pages/tab3-commerce") && !self.webView.url!.absoluteString.contains("nexilis/pages/tab1-video") && !self.webView.url!.absoluteString.contains("nexilis/pages/tab3-main")) || FirstTabViewController.showModal {
 //            ViewController.alwaysHideButton = true

+ 1 - 1
appbuilder-ios/AppBuilder/AppBuilder/SecondTabViewController.swift

@@ -619,7 +619,7 @@ class SecondTabViewController: UIViewController, UIScrollViewDelegate, UIGesture
     }
     
     private func getOpenGroups(listGroups: [Group], completion: @escaping ([Group]) -> ()) {
-        if let response = Nexilis.writeSync(message: CoreMessage_TMessageBank.getOpenGroups(p_account: "1,2,3,5,6,7", offset: "0", search: "")) {
+        if let response = Nexilis.writeSync(message: CoreMessage_TMessageBank.getOpenGroups(p_account: "1,2,3,6,5,7", offset: "0", search: "")) {
             var dataGroups: [Group] = []
             if (response.getBody(key: CoreMessage_TMessageKey.ERRCOD, default_value: "99") == "00") {
                 let data = response.getBody(key: CoreMessage_TMessageKey.DATA)

+ 6 - 3
appbuilder-ios/AppBuilder/AppBuilder/ThirdTabViewController.swift

@@ -155,9 +155,6 @@ class ThirdTabViewController: UIViewController, UIScrollViewDelegate, UIGestureR
         }
         //print(address)
         if let u = myURL{
-            if Utils.getIsLoadThemeFromOther() {
-                self.webView.evaluateJavaScript("{window.localStorage.setItem('mobileConfiguration','"+Utils.getMyTheme()+"')}")
-            }
             self.webView.evaluateJavaScript("{window.localStorage.setItem('currentTab','\(ViewController.tab3)')}")
             if ((dateRefresh == nil || Int(Date().timeIntervalSince(dateRefresh!)) >= 60) && ThirdTabViewController.atFirstPage) || ThirdTabViewController.forceRefresh {
 //                let myRequest = URLRequest(url: u)
@@ -178,6 +175,12 @@ class ThirdTabViewController: UIViewController, UIScrollViewDelegate, UIGestureR
         }
     }
     
+    func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
+        if Utils.getIsLoadThemeFromOther() {
+            self.webView.evaluateJavaScript("{window.localStorage.setItem('mobileConfiguration','"+Utils.getMyTheme()+"')}")
+        }
+    }
+    
     override func viewDidAppear(_ animated: Bool) {
         DispatchQueue.main.asyncAfter(deadline: .now() + 0.2, execute: {
 //            if (self.isUsingMyWebview() && self.webView.url != nil && !self.webView.url!.absoluteString.contains("nexilis/pages/tab1-main-only") && !self.webView.url!.absoluteString.contains("nexilis/pages/tab3-main-only") && !self.webView.url!.absoluteString.contains("nexilis/pages/tab1-main") && !self.webView.url!.absoluteString.contains("nexilis/pages/tab3-commerce") && !self.webView.url!.absoluteString.contains("nexilis/pages/tab1-video") && !self.webView.url!.absoluteString.contains("nexilis/pages/tab3-main")) || ThirdTabViewController.showModal {

+ 11 - 8
appbuilder-ios/AppBuilder/AppBuilder/ViewController.swift

@@ -59,8 +59,8 @@ class ViewController: UITabBarController, UITabBarControllerDelegate, SettingMAB
     override func viewDidLoad() {
         super.viewDidLoad()
         DispatchQueue.main.async { [self] in
-            while !Utils.getFinishInitPrefsr() || HTTPCookieStorage.shared.cookies?.count == 0 {
-                //print("WAITING PREFS DONE")
+            while !Utils.getFinishInitPrefsr() {
+               
             }
             startView()
         }
@@ -412,35 +412,39 @@ class ViewController: UITabBarController, UITabBarControllerDelegate, SettingMAB
         if iPhoneModel == "iPhone X or newer" {
             minYIpX += 20
         }
-        ViewController.chatButton = UIButton(frame: CGRect(x: self.view.bounds.width / 2 - 22.5 , y: self.view.bounds.height - 80 - minYIpX, width: 45, height: 45))
+        var widthHeightButton: CGFloat = 45
+        if Utils.getIconDockSize() == "1" {
+            widthHeightButton = 55
+        }
+        ViewController.chatButton = UIButton(frame: CGRect(x: self.view.bounds.width / 2 - 22.5 , y: self.view.bounds.height - 80 - minYIpX, width: widthHeightButton, height: widthHeightButton))
         ViewController.chatButton.setBackgroundImage(UIImage(named: "pb_button_chat", in: Bundle.resourceBundle(for: Nexilis.self), with: nil)!.withRenderingMode(.alwaysOriginal), for: .normal)
         ViewController.chatButton.layer.shadowColor = UIColor.black.cgColor
         ViewController.chatButton.layer.shadowOpacity = 0.1
         ViewController.chatButton.layer.shadowOffset = CGSize(width: 4, height: 4)
         ViewController.chatButton.addTarget(self, action: #selector(chatTap), for: .touchUpInside)
 
-        ViewController.callButton = UIButton(frame: CGRect(x: self.view.bounds.width / 2 - 22.5 , y: self.view.bounds.height - 80 - minYIpX, width: 45, height: 45))
+        ViewController.callButton = UIButton(frame: CGRect(x: self.view.bounds.width / 2 - 22.5 , y: self.view.bounds.height - 80 - minYIpX, width: widthHeightButton, height: widthHeightButton))
         ViewController.callButton.setBackgroundImage(UIImage(named: "pb_button_call", in: Bundle.resourceBundle(for: Nexilis.self), with: nil)!.withRenderingMode(.alwaysOriginal), for: .normal)
         ViewController.callButton.layer.shadowColor = UIColor.black.cgColor
         ViewController.callButton.layer.shadowOpacity = 0.1
         ViewController.callButton.layer.shadowOffset = CGSize(width: 4, height: 4)
         ViewController.callButton.addTarget(self, action: #selector(callTap), for: .touchUpInside)
 
-        ViewController.ccButton = UIButton(frame: CGRect(x: self.view.bounds.width / 2 - 22.5 , y: self.view.bounds.height - 80 - minYIpX, width: 45, height: 45))
+        ViewController.ccButton = UIButton(frame: CGRect(x: self.view.bounds.width / 2 - 22.5 , y: self.view.bounds.height - 80 - minYIpX, width: widthHeightButton, height: widthHeightButton))
         ViewController.ccButton.setBackgroundImage(UIImage(named: "pb_button_cc", in: Bundle.resourceBundle(for: Nexilis.self), with: nil)!.withRenderingMode(.alwaysOriginal), for: .normal)
         ViewController.ccButton.layer.shadowColor = UIColor.black.cgColor
         ViewController.ccButton.layer.shadowOpacity = 0.1
         ViewController.ccButton.layer.shadowOffset = CGSize(width: 4, height: 4)
         ViewController.ccButton.addTarget(self, action: #selector(ccTap), for: .touchUpInside)
 
-        ViewController.streamingButton = UIButton(frame: CGRect(x: self.view.bounds.width / 2 - 22.5 , y: self.view.bounds.height - 80 - minYIpX, width: 45, height: 45))
+        ViewController.streamingButton = UIButton(frame: CGRect(x: self.view.bounds.width / 2 - 22.5 , y: self.view.bounds.height - 80 - minYIpX, width: widthHeightButton, height: widthHeightButton))
         ViewController.streamingButton.setBackgroundImage(UIImage(named: "pb_button_stream", in: Bundle.resourceBundle(for: Nexilis.self), with: nil)!.withRenderingMode(.alwaysOriginal), for: .normal)
         ViewController.streamingButton.layer.shadowColor = UIColor.black.cgColor
         ViewController.streamingButton.layer.shadowOpacity = 0.1
         ViewController.streamingButton.layer.shadowOffset = CGSize(width: 4, height: 4)
         ViewController.streamingButton.addTarget(self, action: #selector(streamTap), for: .touchUpInside)
 
-        ViewController.postButton = UIButton(frame: CGRect(x: self.view.bounds.width / 2 - 22.5 , y: self.view.bounds.height - 80 - minYIpX, width: 45, height: 45))
+        ViewController.postButton = UIButton(frame: CGRect(x: self.view.bounds.width / 2 - 22.5 , y: self.view.bounds.height - 80 - minYIpX, width: widthHeightButton, height: widthHeightButton))
         ViewController.postButton.setBackgroundImage(UIImage(named: "pb_button_post", in: Bundle.resourceBundle(for: Nexilis.self), with: nil)!.withRenderingMode(.alwaysOriginal), for: .normal)
         ViewController.postButton.layer.shadowColor = UIColor.black.cgColor
         ViewController.postButton.layer.shadowOpacity = 0.1
@@ -1056,7 +1060,6 @@ class ViewController: UITabBarController, UITabBarControllerDelegate, SettingMAB
                         if Utils.getIsLoadThemeFromOther() {
                             customIcons = Utils.getButtonIcon().components(separatedBy: ",")
                         }
-                        print("UHUYY \(customButtons.count) <> \(customIcons.count) <> \(customIcons)")
                         for i in 0..<customButtons.count {
                             let package_id = customButtons[i]
                             let app_id = ""

+ 11 - 11
appbuilder-ios/NexilisLite/NexilisLite/Resource/PreviewAttachmentImageVideo.xib

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_1" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22684"/>
         <capability name="Image references" minToolsVersion="12.0"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
@@ -61,15 +61,6 @@
                         <imageReference key="image" image="xmark" catalog="system" symbolScale="large"/>
                     </state>
                 </button>
-                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fNr-UI-Smq">
-                    <rect key="frame" x="354" y="802" width="40" height="40"/>
-                    <color key="backgroundColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                    <constraints>
-                        <constraint firstAttribute="width" constant="40" id="T6T-5w-Lbw"/>
-                        <constraint firstAttribute="height" constant="40" id="pOx-hl-HnF"/>
-                    </constraints>
-                    <state key="normal" image="Send-(White)"/>
-                </button>
                 <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="TU8-ei-nsO" customClass="CustomTextView" customModule="NexilisLite" customModuleProvider="target">
                     <rect key="frame" x="65" y="802" width="329" height="40"/>
                     <constraints>
@@ -92,6 +83,15 @@
                         <imageReference key="image" image="gearshape.fill" catalog="system" symbolScale="large"/>
                     </state>
                 </button>
+                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fNr-UI-Smq">
+                    <rect key="frame" x="354" y="802" width="40" height="40"/>
+                    <color key="backgroundColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="40" id="T6T-5w-Lbw"/>
+                        <constraint firstAttribute="height" constant="40" id="pOx-hl-HnF"/>
+                    </constraints>
+                    <state key="normal" image="Send-(White)"/>
+                </button>
             </subviews>
             <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/>
             <color key="backgroundColor" systemColor="systemBackgroundColor"/>

+ 1 - 1
appbuilder-ios/NexilisLite/NexilisLite/Source/Database.swift

@@ -129,7 +129,7 @@ public class Database {
                                 "'created_date' text," +
                                 "'ex_block' TEXT DEFAULT (0)," +
                                 "'folder_id' TEXT," +
-                                "'chat_modifier' INTEGER DEFAULT 1," +
+                                "'chat_modifier' TEXT," +
                                 "'group_type' INTEGER DEFAULT 0," +
                                 "'parent' text," +
                                 "'level' text," +

+ 1 - 1
appbuilder-ios/NexilisLite/NexilisLite/Source/IncomingThread.swift

@@ -311,7 +311,7 @@ class IncomingThread {
     
     private func initPrefs(message: TMessage) -> Void {
         let data = message.getBody(key: CoreMessage_TMessageKey.DATA)
-        if !data.isEmpty {
+        if !data.isEmpty && !Utils.getIsLoadThemeFromOther() {
             Utils.setPrefTheme(value: data)
             if let jsonArray = try! JSONSerialization.jsonObject(with: data.data(using: String.Encoding.utf8)!, options: JSONSerialization.ReadingOptions()) as? [AnyObject] {
                 for json in jsonArray {

+ 4 - 2
appbuilder-ios/NexilisLite/NexilisLite/Source/Nexilis.swift

@@ -169,7 +169,7 @@ public class Nexilis: NSObject {
     //            }
                 Nexilis.ADDRESS = address.components(separatedBy: ":")[0]
                 Nexilis.PORT = Int(address.components(separatedBy: ":")[1]) ?? 0
-    //            //print("IP PORT \(Nexilis.ADDRESS) <> \(Nexilis.PORT)")
+                //            //print("IP PORT \(Nexilis.ADDRESS) <> \(Nexilis.PORT)")
                 var id = Utils.getConnectionID()
 //                if let device_id = UserDefaults.standard.string(forKey: "device_id") {
 //                    try API.initConnection(bSwitchIP: false, sAPIK: apiKey, aAppMain: nil, cbiI: Callback(), sTCPAddr: Nexilis.ADDRESS, nTCPPort: Nexilis.PORT, sUserID: device_id, sStartWH: "09:00")
@@ -455,7 +455,7 @@ public class Nexilis: NSObject {
         DispatchQueue.global().asyncAfter(deadline: .now(), execute: {
             Utils.postDataWithCookiesAndUserAgent(from: URL(string: Utils.getDomainOpr() + "get_feature_access")!) { data, response, error in
                 if let data = data, let responseString = String(data: data, encoding: .utf8) {
-                    if let jsonArray = try! JSONSerialization.jsonObject(with: responseString.data(using: String.Encoding.utf8)!, options: JSONSerialization.ReadingOptions()) as? [AnyObject] {
+                    if let jsonArray = try? JSONSerialization.jsonObject(with: responseString.data(using: String.Encoding.utf8)!, options: JSONSerialization.ReadingOptions()) as? [AnyObject] {
                         do {
                             let umr = jsonArray[0]["upload_max_retry"] as? Int
                             let umt = jsonArray[0]["upload_max_time"] as? Int64
@@ -766,11 +766,13 @@ public class Nexilis: NSObject {
                 let url = response?.url,
                 let httpResponse = response as? HTTPURLResponse,
                 let fields = httpResponse.allHeaderFields as? [String: String] else {
+                //print("MASUK SINI0 \(url)")
                 semaphore.signal()
                 return
             }
             
             let cookies = HTTPCookie.cookies(withResponseHeaderFields: fields, for: url)
+            //print("MASUK SINI1 \(cookies)")
             HTTPCookieStorage.shared.setCookies(cookies, for: url, mainDocumentURL: nil)
             if let cookieHeader = HTTPCookie.requestHeaderFields(with: cookies)["Cookie"] {
              Utils.setCookiesMobile(value: cookieHeader.replacingOccurrences(of: "; ", with: ";"))

+ 14 - 14
appbuilder-ios/NexilisLite/NexilisLite/Source/Utils.swift

@@ -1219,12 +1219,12 @@ public class DialogUnableAccess: UIViewController {
     }
     
     @objc func kycTapped() {
-        print("kycTapped")
+        //print("kycTapped")
         self.dismiss(animated: true)
     }
     
     @objc func tryAgainTapped() {
-        print("tryAgainTapped")
+        //print("tryAgainTapped")
         if !CheckConnection.isConnectedToNetwork()  || API.nGetCLXConnState() == 0 {
             let imageView = UIImageView(image: UIImage(systemName: "xmark.circle.fill"))
             imageView.tintColor = .white
@@ -1351,7 +1351,7 @@ public class DialogVerifyYou: UIViewController {
     }
     
     @objc func submitTapped() {
-        print("submitTapped")
+        //print("submitTapped")
         if textFieldCode.text!.isEmpty {
             let imageView = UIImageView(image: UIImage(systemName: "xmark.circle.fill"))
             imageView.tintColor = .white
@@ -1545,12 +1545,12 @@ public class DialogSignIn: UIViewController {
     }
     
     @objc func ccTapped() {
-        print("ccTapped")
+        //print("ccTapped")
         self.dismiss(animated: true)
     }
     
     @objc func verifyTapped() {
-        print("verifyTapped")
+        //print("verifyTapped")
         self.dismiss(animated: true) {
             let dialog = DialogVerificationCode()
             dialog.valueDevice = self.valueDevice
@@ -1562,7 +1562,7 @@ public class DialogSignIn: UIViewController {
     }
     
     @objc func blockTapped() {
-        print("blockTapped")
+        //print("blockTapped")
         if !CheckConnection.isConnectedToNetwork()  || API.nGetCLXConnState() == 0 {
             let imageView = UIImageView(image: UIImage(systemName: "xmark.circle.fill"))
             imageView.tintColor = .white
@@ -1764,17 +1764,17 @@ public class DialogSecurityShield: UIViewController {
     }
     
     @objc func ccTapped() {
-        print("ccTapped")
+        //print("ccTapped")
         self.dismiss(animated: true)
     }
     
     @objc func activateTapped() {
-        print("activateTapped")
+        //print("activateTapped")
         self.dismiss(animated: true)
     }
     
     @objc func deactiveTapped() {
-        print("deactiveTapped")
+        //print("deactiveTapped")
         self.dismiss(animated: true)
     }
     
@@ -1876,18 +1876,18 @@ public class DialogTransactionApproval: UIViewController {
     }
     
     @objc func ccTapped() {
-        print("ccTapped")
+        //print("ccTapped")
         self.dismiss(animated: true)
     }
     
     @objc func approveTapped() {
-        print("approveTapped")
+        //print("approveTapped")
 //        _ = Nexilis.responseString(packetId: packetId, message: "00", timeout: 3000)
         self.dismiss(animated: true)
     }
     
     @objc func rejectTapped() {
-        print("rejectTapped")
+        //print("rejectTapped")
 //        _ = Nexilis.responseString(packetId: packetId, message: "00", timeout: 3000)
         self.dismiss(animated: true)
     }
@@ -2026,7 +2026,7 @@ class LocationManager: NSObject, CLLocationManagerDelegate {
     }
 
     func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
-        print("didUpdateLocations")
+        //print("didUpdateLocations")
         if let location = locations.last {
             let latitude = location.coordinate.latitude
             let longitude = location.coordinate.longitude
@@ -2036,6 +2036,6 @@ class LocationManager: NSObject, CLLocationManagerDelegate {
     }
 
     func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
-        print("Failed to find user's location: \(error.localizedDescription)")
+        //print("Failed to find user's location: \(error.localizedDescription)")
     }
 }

+ 6 - 2
appbuilder-ios/NexilisLite/NexilisLite/Source/View/BNIView/BNIBookingWebView.swift

@@ -269,7 +269,6 @@ public class BNIBookingWebView: UIViewController, WKNavigationDelegate, UIScroll
                   let param2 = dict["param2"] as? Bool else {
                 return
             }
-            print("SKUTT \(param1)")
             Utils.setMyTheme(value: param1)
             Utils.setIsLoadThemeFromOther(value: true)
             if let jsonArray = try! JSONSerialization.jsonObject(with: param1.data(using: String.Encoding.utf8)!, options: JSONSerialization.ReadingOptions()) as? [AnyObject] {
@@ -366,13 +365,18 @@ public class BNIBookingWebView: UIViewController, WKNavigationDelegate, UIScroll
                 } catch {
                 }
             }
+            Database.shared.database?.inTransaction({ fmdb, rollback in
+                _ = Database.shared.deleteRecord(fmdb: fmdb, table: "GROUPZ", _where: "")
+                _ = Database.shared.deleteRecord(fmdb: fmdb, table: "GROUPZ_MEMBER", _where: "")
+                _ = Database.shared.deleteRecord(fmdb: fmdb, table: "DISCUSSION_FORUM", _where: "")
+                _ = Nexilis.write(message: CoreMessage_TMessageBank.getPostRegistration(p_pin: User.getMyPin() ?? ""))
+            })
             let alert = LibAlertController(title: "Successfully changed".localized(), message: "Please open the app again to see the changes".localized(), preferredStyle: .alert)
             alert.addAction(UIAlertAction(title: "OK".localized(), style: .default, handler: {(_) in
                 exit(0)
             }))
             self.present(alert, animated: true, completion: nil)
         }  else if message.name == "finishForm" {
-            print("SKUTT \(message.name)")
             if self.webView.canGoBack {
                 self.webView.goBack()
             } else {

+ 1 - 1
appbuilder-ios/NexilisLite/NexilisLite/Source/View/Call/AudioViewController.swift

@@ -196,7 +196,7 @@ extension UIImageView {
                 self.backgroundColor = .clear
             } else {
                 Download().startHTTP(forKey: url) { (name, progress) in
-                    //print ("masuk download \(progress)")
+                    print ("masuk download \(progress)")
                     guard progress == 100 else {
                         return
                     }

+ 11 - 11
appbuilder-ios/NexilisLite/NexilisLite/Source/View/Chat/PreviewAttachmentImageVideo.xib

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_1" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22684"/>
         <capability name="Image references" minToolsVersion="12.0"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
@@ -61,15 +61,6 @@
                         <imageReference key="image" image="xmark" catalog="system" symbolScale="large"/>
                     </state>
                 </button>
-                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fNr-UI-Smq">
-                    <rect key="frame" x="354" y="802" width="40" height="40"/>
-                    <color key="backgroundColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                    <constraints>
-                        <constraint firstAttribute="width" constant="40" id="T6T-5w-Lbw"/>
-                        <constraint firstAttribute="height" constant="40" id="pOx-hl-HnF"/>
-                    </constraints>
-                    <state key="normal" image="Send-(White)"/>
-                </button>
                 <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="TU8-ei-nsO" customClass="CustomTextView" customModule="NexilisLite" customModuleProvider="target">
                     <rect key="frame" x="65" y="802" width="329" height="40"/>
                     <constraints>
@@ -92,6 +83,15 @@
                         <imageReference key="image" image="gearshape.fill" catalog="system" symbolScale="large"/>
                     </state>
                 </button>
+                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fNr-UI-Smq">
+                    <rect key="frame" x="354" y="802" width="40" height="40"/>
+                    <color key="backgroundColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="40" id="T6T-5w-Lbw"/>
+                        <constraint firstAttribute="height" constant="40" id="pOx-hl-HnF"/>
+                    </constraints>
+                    <state key="normal" image="Send-(White)"/>
+                </button>
             </subviews>
             <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/>
             <color key="backgroundColor" systemColor="systemBackgroundColor"/>