mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2026-01-26 14:01:24 +00:00
Added swipe-to-unhide archive animation
This commit is contained in:
@@ -184,6 +184,7 @@
|
||||
09F85BA521E7821500D73170 /* ThemeGridSelectionPanelNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F85BA421E7821500D73170 /* ThemeGridSelectionPanelNode.swift */; };
|
||||
09F85BA721E7DA5F00D73170 /* BlurredImageNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F85BA621E7DA5F00D73170 /* BlurredImageNode.swift */; };
|
||||
09FE756D2153F5F900A3120F /* CallRouteActionSheetItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09FE756C2153F5F900A3120F /* CallRouteActionSheetItem.swift */; };
|
||||
09FFBCD1227B7F9900C33B4B /* anim_archiveswipe.json in Resources */ = {isa = PBXBuildFile; fileRef = 09FFBCCF227B7F9000C33B4B /* anim_archiveswipe.json */; };
|
||||
9F06830921A404AB001D8EDB /* NotificationExceptionControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F06830821A404AB001D8EDB /* NotificationExceptionControllerNode.swift */; };
|
||||
9F06830B21A404C4001D8EDB /* NotificationExceptionSettingsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F06830A21A404C4001D8EDB /* NotificationExceptionSettingsController.swift */; };
|
||||
D000CABA21EE130D0011B15D /* MapResourceToAvatarSizes.swift in Sources */ = {isa = PBXBuildFile; fileRef = D000CAB921EE130D0011B15D /* MapResourceToAvatarSizes.swift */; };
|
||||
@@ -1372,6 +1373,7 @@
|
||||
09F85BA421E7821500D73170 /* ThemeGridSelectionPanelNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeGridSelectionPanelNode.swift; sourceTree = "<group>"; };
|
||||
09F85BA621E7DA5F00D73170 /* BlurredImageNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlurredImageNode.swift; sourceTree = "<group>"; };
|
||||
09FE756C2153F5F900A3120F /* CallRouteActionSheetItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallRouteActionSheetItem.swift; sourceTree = "<group>"; };
|
||||
09FFBCCF227B7F9000C33B4B /* anim_archiveswipe.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_archiveswipe.json; sourceTree = "<group>"; };
|
||||
9F06830821A404AB001D8EDB /* NotificationExceptionControllerNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NotificationExceptionControllerNode.swift; sourceTree = "<group>"; };
|
||||
9F06830A21A404C4001D8EDB /* NotificationExceptionSettingsController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NotificationExceptionSettingsController.swift; sourceTree = "<group>"; };
|
||||
D000CAB921EE130D0011B15D /* MapResourceToAvatarSizes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapResourceToAvatarSizes.swift; sourceTree = "<group>"; };
|
||||
@@ -2526,6 +2528,7 @@
|
||||
09310D13213BC5DE0020033A /* Animations */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
09FFBCCF227B7F9000C33B4B /* anim_archiveswipe.json */,
|
||||
094735182277483B00EA2312 /* anim_infotip.json */,
|
||||
094735072275D72000EA2312 /* anim_archive.json */,
|
||||
094735092275D72000EA2312 /* anim_delete.json */,
|
||||
@@ -5253,6 +5256,7 @@
|
||||
D0E9BA961F056F4C00F079A4 /* stp_card_applepay@3x.png in Resources */,
|
||||
D0F9720F1FFE4BD5002595C8 /* notification.caf in Resources */,
|
||||
09310D33213ED5FC0020033A /* anim_group.json in Resources */,
|
||||
09FFBCD1227B7F9900C33B4B /* anim_archiveswipe.json in Resources */,
|
||||
094735162275D72100EA2312 /* anim_unmute.json in Resources */,
|
||||
094735102275D72100EA2312 /* anim_read.json in Resources */,
|
||||
D0E9BA9A1F056F4C00F079A4 /* stp_card_cvc@3x.png in Resources */,
|
||||
|
||||
@@ -471,7 +471,7 @@ public class ChatListController: TelegramController, KeyShortcutResponder, UIVie
|
||||
}
|
||||
}), in: .current)
|
||||
} else {
|
||||
strongSelf.present(UndoOverlayController(context: strongSelf.context, content: .hidArchive(title: strongSelf.presentationData.strings.ChatList_UndoArchiveRevealedTitle, text: strongSelf.presentationData.strings.ChatList_UndoArchiveRevealedText, undo: false), elevatedLayout: false, animateInAsReplacement: true, action: { _ in
|
||||
strongSelf.present(UndoOverlayController(context: strongSelf.context, content: .revealedArchive(title: strongSelf.presentationData.strings.ChatList_UndoArchiveRevealedTitle, text: strongSelf.presentationData.strings.ChatList_UndoArchiveRevealedText, undo: false), elevatedLayout: false, animateInAsReplacement: true, action: { _ in
|
||||
}), in: .current)
|
||||
}
|
||||
})
|
||||
|
||||
1
TelegramUI/Resources/Animations/anim_archiveswipe.json
Normal file
1
TelegramUI/Resources/Animations/anim_archiveswipe.json
Normal file
File diff suppressed because one or more lines are too long
@@ -7,6 +7,7 @@ public enum UndoOverlayContent {
|
||||
case removedChat(text: String)
|
||||
case archivedChat(peerId: PeerId, title: String, text: String, undo: Bool)
|
||||
case hidArchive(title: String, text: String, undo: Bool)
|
||||
case revealedArchive(title: String, text: String, undo: Bool)
|
||||
}
|
||||
|
||||
public final class UndoOverlayController: ViewController {
|
||||
|
||||
@@ -80,16 +80,16 @@ final class UndoOverlayControllerNode: ViewControllerTracingNode {
|
||||
displayUndo = undo
|
||||
self.originalRemainingSeconds = 5
|
||||
case let .hidArchive(title, text, undo):
|
||||
if undo {
|
||||
self.iconNode = ASImageNode()
|
||||
self.iconNode?.displayWithoutProcessing = true
|
||||
self.iconNode?.displaysAsynchronously = false
|
||||
self.iconNode?.image = UIImage(bundleImageName: "Chat List/HidArchiveUndoIcon")
|
||||
self.animationNode = nil
|
||||
} else {
|
||||
self.iconNode = nil
|
||||
self.animationNode = AnimationNode(animation: "anim_infotip", colors: ["info1.info1.stroke": self.animationBackgroundColor, "info2.info2.Fill": self.animationBackgroundColor], scale: 1.0)
|
||||
}
|
||||
self.iconNode = nil
|
||||
self.animationNode = AnimationNode(animation: "anim_archiveswipe", colors: ["info1.info1.stroke": self.animationBackgroundColor, "info2.info2.Fill": self.animationBackgroundColor], scale: 1.0)
|
||||
self.iconCheckNode = nil
|
||||
self.titleNode.attributedText = NSAttributedString(string: title, font: Font.semibold(14.0), textColor: .white)
|
||||
self.textNode.attributedText = NSAttributedString(string: text, font: Font.regular(14.0), textColor: .white)
|
||||
displayUndo = undo
|
||||
self.originalRemainingSeconds = 3
|
||||
case let .revealedArchive(title, text, undo):
|
||||
self.iconNode = nil
|
||||
self.animationNode = AnimationNode(animation: "anim_infotip", colors: ["info1.info1.stroke": self.animationBackgroundColor, "info2.info2.Fill": self.animationBackgroundColor], scale: 1.0)
|
||||
self.iconCheckNode = nil
|
||||
self.titleNode.attributedText = NSAttributedString(string: title, font: Font.semibold(14.0), textColor: .white)
|
||||
self.textNode.attributedText = NSAttributedString(string: text, font: Font.regular(14.0), textColor: .white)
|
||||
@@ -126,7 +126,7 @@ final class UndoOverlayControllerNode: ViewControllerTracingNode {
|
||||
case .removedChat:
|
||||
self.panelWrapperNode.addSubnode(self.timerTextNode)
|
||||
self.panelWrapperNode.addSubnode(self.statusNode)
|
||||
case .archivedChat, .hidArchive:
|
||||
case .archivedChat, .hidArchive, .revealedArchive:
|
||||
break
|
||||
}
|
||||
self.iconNode.flatMap(self.panelWrapperNode.addSubnode)
|
||||
|
||||
Reference in New Issue
Block a user