WinterGram/submodules/MediaPasteboardUI/Sources/MediaPasteboardScreen.swift
Ilya Laktyushin 352d9f24e8 Fix build
2026-04-16 00:03:09 +02:00

39 lines
1.5 KiB
Swift

import Foundation
import UIKit
import Display
import SwiftSignalKit
import TelegramPresentationData
import TelegramCore
import AttachmentUI
import MediaPickerUI
import AccountContext
import LegacyComponents
public func mediaPasteboardScreen(
context: AccountContext,
updatedPresentationData: (initial: PresentationData, signal: Signal<PresentationData, NoError>)? = nil,
peer: EnginePeer,
subjects: [MediaPickerScreenImpl.Subject.Media],
presentMediaPicker: @escaping (_ subject: MediaPickerScreenImpl.Subject, _ saveEditedPhotos: Bool, _ bannedSendPhotos: (Int32, Bool)?, _ bannedSendVideos: (Int32, Bool)?, _ present: @escaping (MediaPickerScreenImpl, AttachmentMediaPickerContext?) -> Void) -> Void,
getSourceRect: (() -> CGRect?)? = nil,
customEmojiAvailable: Bool = true
) -> ViewController {
let controller = AttachmentController(
context: context,
updatedPresentationData: updatedPresentationData,
style: .glass,
chatLocation: .peer(id: peer.id),
buttons: [.standalone],
initialButton: .standalone,
customEmojiAvailable: customEmojiAvailable
)
controller.requestController = { _, present in
presentMediaPicker(.media(subjects), false, nil, nil, { mediaPicker, mediaPickerContext in
present(mediaPicker, mediaPickerContext)
})
return true
}
controller.updateSelectionCount(subjects.count)
controller.getSourceRect = getSourceRect
return controller
}