ConferenceOptionsDataHelper.swift 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. //
  2. // ConferenceOptionsDataHelper.swift
  3. // TUIRoomKit
  4. //
  5. // Created by CY zhao on 2024/6/4.
  6. //
  7. import Foundation
  8. import Factory
  9. typealias ConferenceItemTapClosure = (UIButton) -> Void
  10. struct ConferenceOptionInfo {
  11. let normalText: String
  12. let normalIcon: String
  13. let backgroundColor: String
  14. var tapAction: ConferenceItemTapClosure?
  15. init(normalText: String, normalIcon: String, backgroundColor: String, tapAction: ConferenceItemTapClosure? = nil) {
  16. self.normalText = normalText
  17. self.normalIcon = normalIcon
  18. self.backgroundColor = backgroundColor
  19. }
  20. }
  21. class ConferenceOptionsDataHelper {
  22. func generateOptionsData() -> [ConferenceOptionInfo] {
  23. var options: [ConferenceOptionInfo] = []
  24. let createRoom = ConferenceOptionInfo(normalText: .createRoomText, normalIcon: "create_conference", backgroundColor: "0x146EFA")
  25. options.append(createRoom)
  26. let enterRoom = ConferenceOptionInfo(normalText: .joinRoomText, normalIcon: "enter_conference", backgroundColor: "0x146EFA")
  27. options.append(enterRoom)
  28. let scheduleRoom = ConferenceOptionInfo(normalText: .scheduleRoomText, normalIcon: "schedule_conference", backgroundColor: "0x146EFA")
  29. options.append(scheduleRoom)
  30. return options
  31. }
  32. }
  33. private extension String {
  34. static var joinRoomText: String {
  35. RoomDemoLocalize("Join Room")
  36. }
  37. static var createRoomText: String {
  38. RoomDemoLocalize("Create Room")
  39. }
  40. static var scheduleRoomText: String {
  41. RoomDemoLocalize("Schedule Room")
  42. }
  43. }