فهرست منبع

feat: 不选择送礼人时,送礼按钮也显示高亮

陈文艺 23 ساعت پیش
والد
کامیت
69844ba763
3فایلهای تغییر یافته به همراه29 افزوده شده و 20 حذف شده
  1. 23 0
      Lanu/Localizable.xcstrings
  2. 0 9
      Lanu/Views/Room/Gift/LNRoomGiftHeaderView.swift
  3. 6 11
      Lanu/Views/Room/Gift/LNRoomGiftPanel.swift

+ 23 - 0
Lanu/Localizable.xcstrings

@@ -8925,6 +8925,29 @@
         }
       }
     },
+    "A00391" : {
+      "extractionState" : "manual",
+      "localizations" : {
+        "en" : {
+          "stringUnit" : {
+            "state" : "translated",
+            "value" : "Please select a gift recipient first."
+          }
+        },
+        "id" : {
+          "stringUnit" : {
+            "state" : "translated",
+            "value" : "Silakan pilih penerima hadiah terlebih dahulu."
+          }
+        },
+        "zh-Hans" : {
+          "stringUnit" : {
+            "state" : "translated",
+            "value" : "请先选择送礼对象"
+          }
+        }
+      }
+    },
     "B00001" : {
       "extractionState" : "manual",
       "localizations" : {

+ 0 - 9
Lanu/Views/Room/Gift/LNRoomGiftHeaderView.swift

@@ -10,11 +10,6 @@ import UIKit
 import SnapKit
 
 
-protocol LNRoomGiftHeaderViewDelegate: AnyObject {
-    func onRoomGiftHeaderViewSelectionChanged(_ view: LNRoomGiftHeaderView)
-}
-
-
 class LNRoomGiftHeaderView: UIView {
     private let roomSeatsView = UIScrollView()
     private let stackView = UIStackView()
@@ -32,7 +27,6 @@ class LNRoomGiftHeaderView: UIView {
             []
         }
     }
-    weak var delegate: LNRoomGiftHeaderViewDelegate?
     
     override init(frame: CGRect) {
         super.init(frame: frame)
@@ -79,7 +73,6 @@ extension LNRoomGiftHeaderView: LNRoomViewModelNotify {
                 avatar.onTap { [weak self, weak avatar] in
                     guard let self, let avatar else { return }
                     avatar.isSelected.toggle()
-                    delegate?.onRoomGiftHeaderViewSelectionChanged(self)
                 }
                 avatar.update(seat)
                 stackView.addArrangedSubview(avatar)
@@ -90,8 +83,6 @@ extension LNRoomGiftHeaderView: LNRoomViewModelNotify {
                 headers[seat.index]?.update(seat)
             }
         }
-        
-        delegate?.onRoomGiftHeaderViewSelectionChanged(self)
     }
 }
 

+ 6 - 11
Lanu/Views/Room/Gift/LNRoomGiftPanel.swift

@@ -34,12 +34,6 @@ class LNRoomGiftPanel: LNPopupView {
     }
 }
 
-extension LNRoomGiftPanel: LNRoomGiftHeaderViewDelegate {
-    func onRoomGiftHeaderViewSelectionChanged(_ view: LNRoomGiftHeaderView) {
-        checkSendEnable()
-    }
-}
-
 extension LNRoomGiftPanel: LNRoomGiftListViewDelegate {
     func onRoomGiftListView(_ view: LNRoomGiftListView, didSelect index: Int) {
         checkSendEnable()
@@ -53,9 +47,11 @@ extension LNRoomGiftPanel: LNRoomGiftBottomViewDelegate {
     }
     
     func onRoomGiftBottomViewDidTapSend(_ view: LNRoomGiftBottomView) {
-        guard !headerView.selection.isEmpty,
-              let gift = listView.selectedGift
-        else {
+        if headerView.selection.isEmpty {
+            showToast(.init(key: "A00391"))
+            return
+        }
+        guard let gift = listView.selectedGift else {
             return
         }
         roomSession?.sendGift(gift: gift, to: headerView.selection, count: bottomView.curCount) { _ in }
@@ -64,14 +60,13 @@ extension LNRoomGiftPanel: LNRoomGiftBottomViewDelegate {
 
 extension LNRoomGiftPanel {
     private func checkSendEnable() {
-        bottomView.enable = !headerView.selection.isEmpty && listView.selectedGift != nil
+        bottomView.enable = listView.selectedGift != nil
     }
     
     private func setupViews() {
         touchOutsideToCancel = true
         container.backgroundColor = .fill_7
         
-        headerView.delegate = self
         container.addSubview(headerView)
         headerView.snp.makeConstraints { make in
             make.top.equalToSuperview().offset(12)