LNMineQRCodeShareView.swift 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. //
  2. // LNMineQRCodeShareView.swift
  3. // Lanu
  4. //
  5. // Created by OneeChan on 2025/12/19.
  6. //
  7. import Foundation
  8. import UIKit
  9. import SnapKit
  10. class LNMineQRCodeShareView: UIView {
  11. override init(frame: CGRect) {
  12. super.init(frame: frame)
  13. setupViews()
  14. LNEventDeliver.addObserver(self)
  15. onUserInfoChanged(userInfo: myUserInfo)
  16. }
  17. required init?(coder: NSCoder) {
  18. fatalError("init(coder:) has not been implemented")
  19. }
  20. }
  21. extension LNMineQRCodeShareView: LNProfileManagerNotify {
  22. func onUserInfoChanged(userInfo: LNUserProfileVO) {
  23. guard userInfo.userNo.isMyUid else { return }
  24. isHidden = !userInfo.playmate
  25. }
  26. }
  27. extension LNMineQRCodeShareView {
  28. private func setupViews() {
  29. backgroundColor = .fill
  30. layer.cornerRadius = 18
  31. layer.borderWidth = 1
  32. layer.borderColor = UIColor.fill.cgColor
  33. clipsToBounds = true
  34. snp.makeConstraints { make in
  35. make.height.equalTo(36)
  36. }
  37. let background = UIImageView()
  38. background.image = .primary_6
  39. background.isUserInteractionEnabled = false
  40. addSubview(background)
  41. background.snp.makeConstraints { make in
  42. make.edges.equalToSuperview().inset(1)
  43. }
  44. let qrCode = UIImageView()
  45. qrCode.image = .icQrGreen
  46. addSubview(qrCode)
  47. qrCode.snp.makeConstraints { make in
  48. make.leading.equalToSuperview().offset(16)
  49. make.centerY.equalToSuperview()
  50. }
  51. let arrow = UIImageView.arrowImageView(size: 14)
  52. arrow.tintColor = .text_3
  53. addSubview(arrow)
  54. arrow.snp.makeConstraints { make in
  55. make.trailing.equalToSuperview().offset(-16)
  56. make.centerY.equalToSuperview()
  57. }
  58. let titleLabel = UILabel()
  59. titleLabel.text = .init(key: "A00212")
  60. titleLabel.font = .heading_h3
  61. titleLabel.textColor = .text_4
  62. addSubview(titleLabel)
  63. titleLabel.snp.makeConstraints { make in
  64. make.centerY.equalToSuperview()
  65. make.leading.equalTo(qrCode.snp.trailing).offset(4)
  66. make.trailing.lessThanOrEqualTo(arrow.snp.leading).offset(-16)
  67. }
  68. onTap {
  69. let panel = LNOrderGenerateQRCodePanel()
  70. panel.popup()
  71. }
  72. }
  73. }