Files
divkit/client/ios/DivKit/Actions/VideoActionHandler.swift
pkurchatov 93113c7bb3 Added download action handler
commit_hash:356512da68f2ed46479425dd365d06a9ca266514
2025-01-24 19:48:07 +03:00

25 lines
614 B
Swift

import Foundation
import LayoutKit
import VGSL
final class VideoActionHandler {
func handle(
_ action: DivActionVideo,
context: DivActionHandlingContext
) {
let expressionResolver = context.expressionResolver
guard let id = action.resolveId(expressionResolver),
let command = action.resolveAction(expressionResolver) else {
return
}
let cardId = context.cardId
context.blockStateStorage.setState(
id: id,
cardId: cardId,
state: VideoBlockViewState(state: command == .start ? .playing : .paused)
)
context.updateCard(.state(cardId))
}
}