LNRoomSeatApplyItem.swift 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. //
  2. // LNRoomSeatApplyItem.swift
  3. // Gami
  4. //
  5. // Created by OneeChan on 2026/3/13.
  6. //
  7. import Foundation
  8. class LNRoomSeatApplyItem {
  9. var userNo: String = ""
  10. var avatar: String = ""
  11. var name: String = ""
  12. var gender: LNUserGender = .unknow
  13. var time: Int64 = 0
  14. var category: String = ""
  15. var hasAccept = false
  16. convenience init(
  17. userNo: String,
  18. avatar: String,
  19. name: String,
  20. gender: LNUserGender,
  21. time: Int64,
  22. category: String = ""
  23. ) {
  24. self.init()
  25. self.userNo = userNo
  26. self.avatar = avatar
  27. self.name = name
  28. self.gender = gender
  29. self.time = time
  30. self.category = category
  31. }
  32. var relativeTimeText: String {
  33. guard time > 0 else { return "just now" }
  34. let now = Int64(Date().timeIntervalSince1970 * 1_000)
  35. let diff = max(0, now - time) / 1_000
  36. if diff < 60 {
  37. return "just now"
  38. }
  39. let minute = diff / 60
  40. if minute < 60 {
  41. return minute == 1 ? "1 minute" : "\(minute) minutes"
  42. }
  43. let hour = minute / 60
  44. if hour < 24 {
  45. return hour == 1 ? "1 hour" : "\(hour) hours"
  46. }
  47. let day = hour / 24
  48. return day == 1 ? "1 day" : "\(day) days"
  49. }
  50. }