| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- //
- // LNRoomJoinMenuView.swift
- // Gami
- //
- // Created by OneeChan on 2026/3/9.
- //
- import Foundation
- import UIKit
- import SnapKit
- class LNRoomJoinMenuView: UIView {
- private let button = UIButton()
- private let redCountView = UIView()
- private let redCountLabel = UILabel()
-
- private weak var roomSession: LNRoomViewModel?
-
- override init(frame: CGRect) {
- super.init(frame: frame)
-
- setupViews()
- toBeOffMic()
- }
-
- func update(_ room: LNRoomViewModel) {
- roomSession = room
-
- }
-
- required init?(coder: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
- }
- extension LNRoomJoinMenuView {
- private func setupViews() {
- button.backgroundColor = .fill.withAlphaComponent(0.15)
- button.setTitleColor(.text_1, for: .normal)
- button.titleLabel?.font = .heading_h5
- button.contentEdgeInsets = .init(top: 0, left: 12, bottom: 0, right: 12)
- button.imageEdgeInsets = .init(top: 0, left: 0, bottom: 0, right: 4)
- button.layer.cornerRadius = 15
- button.clipsToBounds = true
- addSubview(button)
- button.snp.makeConstraints { make in
- make.edges.equalToSuperview()
- }
-
- redCountView.backgroundColor = .fill_6
- redCountView.layer.cornerRadius = 7
- addSubview(redCountView)
- redCountView.snp.makeConstraints { make in
- make.trailing.equalToSuperview()
- make.centerY.equalTo(snp.top)
- make.width.greaterThanOrEqualTo(15)
- }
-
- redCountLabel.text = "9"
- redCountLabel.font = .body_xs
- redCountLabel.textColor = .text_1
- redCountView.addSubview(redCountLabel)
- redCountLabel.snp.makeConstraints { make in
- make.horizontalEdges.equalToSuperview().inset(4)
- make.verticalEdges.equalToSuperview()
- }
- }
-
- private func toBeOffMic() {
- redCountView.isHidden = true
-
- button.setBackgroundImage(.primary_8, for: .normal)
- button.setImage(.icSeat, for: .normal)
- button.setTitle(.init(key: "A00322"), for: .normal)
- }
-
- private func toBePending() {
- redCountView.isHidden = false
-
- button.setBackgroundImage(nil, for: .normal)
- button.setImage(nil, for: .normal)
- button.setTitle(.init(key: "A00323"), for: .normal)
- }
-
- private func toBeRequests() {
- redCountView.isHidden = false
-
- button.setBackgroundImage(nil, for: .normal)
- button.setImage(nil, for: .normal)
- button.setTitle(.init(key: "A00324"), for: .normal)
- }
- }
|