59 lines
1.8 KiB
Swift
59 lines
1.8 KiB
Swift
|
|
//
|
||
|
|
// ViewActions.swift
|
||
|
|
// TUIRoomKit
|
||
|
|
//
|
||
|
|
// Created by CY zhao on 2024/7/9.
|
||
|
|
//
|
||
|
|
|
||
|
|
import Foundation
|
||
|
|
|
||
|
|
enum ViewActions {
|
||
|
|
static let key = "action.view"
|
||
|
|
static let toastActionKey = key + ".showToast"
|
||
|
|
|
||
|
|
static let showToast = ActionTemplate(id: toastActionKey, payloadType: ToastInfo.self)
|
||
|
|
}
|
||
|
|
|
||
|
|
enum ScheduleViewActions {
|
||
|
|
static let key = ViewActions.key + ".scheduleView"
|
||
|
|
|
||
|
|
static let refreshConferenceList = ActionTemplate(id: key.appending(".refreshConferenceList"))
|
||
|
|
static let stopRefreshList = ActionTemplate(id: key.appending(".stopRefreshList"))
|
||
|
|
|
||
|
|
static let popDetailView = ActionTemplate(id: key.appending(".popDetailView"))
|
||
|
|
static let resetPopDetailFlag = ActionTemplate(id: key.appending(".resetPopDetailFlag"))
|
||
|
|
}
|
||
|
|
|
||
|
|
enum InvitationViewActions {
|
||
|
|
static let key = ViewActions.key + ".invitationView"
|
||
|
|
|
||
|
|
static let dismissInvitationView = ActionTemplate(id: key.appending(".dismissInvitationView"))
|
||
|
|
static let resetInvitationFlag = ActionTemplate(id: key.appending(".resetInvitationFlag"))
|
||
|
|
static let showInvitationPopupView = ActionTemplate(id: key.appending(".showInvitationPopupView"))
|
||
|
|
static let resetPopupViewFlag = ActionTemplate(id: key.appending(".resetPopupViewFlag"))
|
||
|
|
}
|
||
|
|
|
||
|
|
struct ToastInfo: Identifiable {
|
||
|
|
enum Position {
|
||
|
|
case center
|
||
|
|
case bottom
|
||
|
|
}
|
||
|
|
let id: UUID
|
||
|
|
let duration: TimeInterval
|
||
|
|
let position: Position
|
||
|
|
let message: String
|
||
|
|
|
||
|
|
init(message: String, position: Position = .center, duration: TimeInterval = 1.5) {
|
||
|
|
id = UUID()
|
||
|
|
self.message = message
|
||
|
|
self.position = position
|
||
|
|
self.duration = duration
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
extension ToastInfo: Equatable {
|
||
|
|
static func ==(lhs: ToastInfo, rhs: ToastInfo) -> Bool{
|
||
|
|
return lhs.id == rhs.id || lhs.message == rhs.message
|
||
|
|
}
|
||
|
|
}
|