Browse Source

Add clear wallpaper option

kevin 5 months ago
parent
commit
ec1cedb838

+ 6 - 1
NexilisLite/NexilisLite/Source/View/Chat/EditorGroup.swift

@@ -178,7 +178,12 @@ public class EditorGroup: UIViewController, CLLocationManagerDelegate {
         super.viewDidLoad()
 //        navigationController?.navigationBar.topItem?.title = ""
         Utils.addBackground(view: contactChatNav.view)
-        wallpaperView.image = UIImage(data: UserDefaults.standard.data(forKey: "chatWallpaper")!)
+        if let dataWall = UserDefaults.standard.data(forKey: "chatWallpaper") {
+            wallpaperView.image = UIImage(data: UserDefaults.standard.data(forKey: "chatWallpaper")!)
+        }
+        else {
+            wallpaperView.isHidden = true
+        }
         if Nexilis.fromMAB {
             Nexilis.floatingButton.isHidden = true
         }

+ 7 - 1
NexilisLite/NexilisLite/Source/View/Chat/EditorPersonal.swift

@@ -172,7 +172,13 @@ public class EditorPersonal: UIViewController, ImageVideoPickerDelegate, UIGestu
         super.viewDidLoad()
 //        navigationController?.navigationBar.topItem?.title = ""
         Utils.addBackground(view: contactChatNav.view)
-        wallpaperView.image = UIImage(data: UserDefaults.standard.data(forKey: "chatWallpaper")!)
+        if let dataWall = UserDefaults.standard.data(forKey: "chatWallpaper") {
+            wallpaperView.image = UIImage(data: UserDefaults.standard.data(forKey: "chatWallpaper")!)
+        }
+        else {
+            wallpaperView.isHidden = true
+        }
+        
         if Nexilis.fromMAB {
             Nexilis.floatingButton.isHidden = true
         }

+ 33 - 2
NexilisLite/NexilisLite/Source/View/Control/ChatWallpaperViewController.swift

@@ -49,7 +49,7 @@ class ChatWallpaperViewController: UIViewController, UICollectionViewDataSource,
             collectionView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor),
             collectionView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 16),
             collectionView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -16),
-            collectionView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor, constant: -60)
+            collectionView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor, constant: -120)
         ])
 
         // Add Custom Wallpaper Button
@@ -65,9 +65,28 @@ class ChatWallpaperViewController: UIViewController, UICollectionViewDataSource,
         NSLayoutConstraint.activate([
             customWallpaperButton.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 16),
             customWallpaperButton.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -16),
-            customWallpaperButton.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor, constant: -16),
+            customWallpaperButton.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor, constant: -80),
             customWallpaperButton.heightAnchor.constraint(equalToConstant: 50)
         ])
+
+        // Add Clear Wallpaper Button
+        let clearWallpaperButton = UIButton(type: .system)
+        clearWallpaperButton.setTitle("Clear Wallpaper", for: .normal)
+        clearWallpaperButton.addTarget(self, action: #selector(clearWallpaper), for: .touchUpInside)
+        clearWallpaperButton.backgroundColor = .systemRed
+        clearWallpaperButton.setTitleColor(.white, for: .normal)
+        clearWallpaperButton.layer.cornerRadius = 8
+
+        view.addSubview(clearWallpaperButton)
+        clearWallpaperButton.translatesAutoresizingMaskIntoConstraints = false
+        NSLayoutConstraint.activate([
+            clearWallpaperButton.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 16),
+            clearWallpaperButton.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -16),
+            clearWallpaperButton.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor, constant: -16),
+            clearWallpaperButton.heightAnchor.constraint(equalToConstant: 50)
+        ])
+        
+        
     }
 
     // MARK: - Collection View Data Source
@@ -111,6 +130,18 @@ class ChatWallpaperViewController: UIViewController, UICollectionViewDataSource,
             }
         }
     }
+    
+    // MARK: - Clear Wallpaper
+    @objc private func clearWallpaper() {
+        // Clear the saved wallpaper
+        UserDefaults.standard.removeObject(forKey: "chatWallpaper")
+
+        // Notify the chat view to update the wallpaper
+        NotificationCenter.default.post(name: Notification.Name("WallpaperDidChange"), object: nil)
+
+        // Dismiss the view controller
+        dismiss(animated: true)
+    }
 
     // MARK: - Save and Dismiss
     private func saveAndDismiss() {