AzureCommunicationUI/sdk/AzureCommunicationUICalling/Sources/Redux/Reducer/PipReducer.swift (20 lines of code) (raw):

// // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. // import Foundation extension Reducer where State == VisibilityState, Actions == VisibilityAction { static var visibilityReducer: Self = Reducer { currentState, action in var newStatus = currentState.currentStatus switch action { case .showNormalEntered: newStatus = .visible case .hideRequested: newStatus = .hideRequested case .pipModeRequested: newStatus = .pipModeRequested case .pipModeEntered: newStatus = .pipModeEntered case .hideEntered: newStatus = .hidden } return VisibilityState(currentStatus: newStatus) } }