mirror of
https://github.com/ichmagmaus111/ghostgram.git
synced 2026-06-08 19:13:56 +02:00
Update Ghostgram features
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library")
|
||||
|
||||
sgdeps = [
|
||||
"//Swiftgram/SGSimpleSettings:SGSimpleSettings"
|
||||
]
|
||||
|
||||
swift_library(
|
||||
name = "ShareController",
|
||||
module_name = "ShareController",
|
||||
@@ -9,7 +13,7 @@ swift_library(
|
||||
copts = [
|
||||
"-warnings-as-errors",
|
||||
],
|
||||
deps = [
|
||||
deps = sgdeps + [
|
||||
"//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit",
|
||||
"//submodules/AsyncDisplayKit:AsyncDisplayKit",
|
||||
"//submodules/Postbox:Postbox",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import Foundation
|
||||
import SGSimpleSettings
|
||||
import UIKit
|
||||
import Display
|
||||
import AsyncDisplayKit
|
||||
@@ -453,7 +454,14 @@ public final class ShareController: ViewController {
|
||||
|
||||
public var parentNavigationController: NavigationController?
|
||||
|
||||
public convenience init(context: AccountContext, subject: ShareControllerSubject, presetText: String? = nil, preferredAction: ShareControllerPreferredAction = .default, showInChat: ((Message) -> Void)? = nil, fromForeignApp: Bool = false, segmentedValues: [ShareControllerSegmentedValue]? = nil, externalShare: Bool = true, immediateExternalShare: Bool = false, switchableAccounts: [AccountWithInfo] = [], immediatePeerId: PeerId? = nil, updatedPresentationData: (initial: PresentationData, signal: Signal<PresentationData, NoError>)? = nil, forceTheme: PresentationTheme? = nil, forcedActionTitle: String? = nil, shareAsLink: Bool = false, collectibleItemInfo: TelegramCollectibleItemInfo? = nil) {
|
||||
public convenience init(context: AccountContext, subject: ShareControllerSubject, presetText: String? = nil, preferredAction: ShareControllerPreferredAction = .default, showInChat: ((Message) -> Void)? = nil, fromForeignApp: Bool = false, segmentedValues: [ShareControllerSegmentedValue]? = nil, externalShare: Bool = true, immediateExternalShare: Bool = false, immediateExternalShareOverridingSGBehaviour: Bool? = nil, switchableAccounts: [AccountWithInfo] = [], immediatePeerId: PeerId? = nil, updatedPresentationData: (initial: PresentationData, signal: Signal<PresentationData, NoError>)? = nil, forceTheme: PresentationTheme? = nil, forcedActionTitle: String? = nil, shareAsLink: Bool = false, collectibleItemInfo: TelegramCollectibleItemInfo? = nil) {
|
||||
var immediateExternalShare = immediateExternalShare
|
||||
if SGSimpleSettings.shared.forceSystemSharing {
|
||||
immediateExternalShare = true
|
||||
}
|
||||
if let immediateExternalShareOverridingSGBehaviour = immediateExternalShareOverridingSGBehaviour {
|
||||
immediateExternalShare = immediateExternalShareOverridingSGBehaviour
|
||||
}
|
||||
self.init(
|
||||
environment: ShareControllerAppEnvironment(sharedContext: context.sharedContext),
|
||||
currentContext: ShareControllerAppAccountContext(context: context),
|
||||
@@ -1092,7 +1100,7 @@ public final class ShareController: ViewController {
|
||||
var restrictedText: String?
|
||||
for attribute in message.attributes {
|
||||
if let attribute = attribute as? RestrictedContentMessageAttribute {
|
||||
restrictedText = attribute.platformText(platform: "ios", contentSettings: strongSelf.currentContext.contentSettings) ?? ""
|
||||
restrictedText = attribute.platformText(platform: "ios", contentSettings: strongSelf.currentContext.contentSettings, chatId: message.author?.id.id._internalGetInt64Value()) ?? ""
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import SGSimpleSettings
|
||||
import Foundation
|
||||
import UIKit
|
||||
import AsyncDisplayKit
|
||||
@@ -163,7 +164,7 @@ final class SharePeersContainerNode: ASDisplayNode, ShareContentContainerNode {
|
||||
|
||||
self.peersValue.set(.single(peers))
|
||||
|
||||
let canShareStory = controllerInteraction.shareStory != nil
|
||||
let canShareStory = controllerInteraction.shareStory != nil && SGSimpleSettings.shared.showRepostToStoryV2
|
||||
|
||||
let items: Signal<[SharePeerEntry], NoError> = combineLatest(self.peersValue.get(), self.foundPeers.get(), self.tick.get(), self.themePromise.get())
|
||||
|> map { [weak controllerInteraction] initialPeers, foundPeers, _, theme -> [SharePeerEntry] in
|
||||
@@ -326,6 +327,30 @@ final class SharePeersContainerNode: ASDisplayNode, ShareContentContainerNode {
|
||||
}
|
||||
|
||||
self.contentTitleNode.view.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.debugTapGesture(_:))))
|
||||
|
||||
// MARK: Swiftgram
|
||||
self.isAccessibilityElement = false
|
||||
|
||||
self.contentTitleNode.isAccessibilityElement = true
|
||||
self.contentTitleNode.accessibilityLabel = strings.ShareMenu_ShareTo
|
||||
self.contentTitleNode.accessibilityTraits = .header
|
||||
|
||||
self.contentSubtitleNode.isAccessibilityElement = true
|
||||
self.contentSubtitleNode.accessibilityLabel = strings.ShareMenu_SelectChats
|
||||
|
||||
self.searchButtonNode.isAccessibilityElement = true
|
||||
self.searchButtonNode.accessibilityLabel = strings.Common_Search
|
||||
self.searchButtonNode.accessibilityTraits = .button
|
||||
|
||||
self.shareButtonNode.isAccessibilityElement = true
|
||||
self.shareButtonNode.accessibilityLabel = "System Share Menu"
|
||||
self.shareButtonNode.accessibilityTraits = .button
|
||||
|
||||
self.contentTitleAccountNode.isAccessibilityElement = true
|
||||
self.contentTitleAccountNode.accessibilityLabel = strings.Shortcut_SwitchAccount
|
||||
self.contentTitleAccountNode.accessibilityTraits = .button
|
||||
//
|
||||
|
||||
}
|
||||
|
||||
deinit {
|
||||
@@ -701,6 +726,7 @@ final class SharePeersContainerNode: ASDisplayNode, ShareContentContainerNode {
|
||||
})
|
||||
}
|
||||
self.contentSubtitleNode.attributedText = NSAttributedString(string: subtitleText, font: subtitleFont, textColor: self.theme.actionSheet.secondaryTextColor)
|
||||
self.contentSubtitleNode.accessibilityLabel = subtitleText
|
||||
}
|
||||
self.contentGridNode.forEachItemNode { itemNode in
|
||||
if let itemNode = itemNode as? ShareControllerPeerGridItemNode {
|
||||
|
||||
Reference in New Issue
Block a user