From 1efcf53ca60e538ad74f19b600eeba965fcd64f3 Mon Sep 17 00:00:00 2001 From: Ali <> Date: Mon, 15 Feb 2021 21:29:17 +0400 Subject: [PATCH] Update widget --- Intents.intentdefinition | 12 +- Telegram/BUILD | 12 +- .../WidgetKitWidget/TodayViewController.swift | 362 +++++++++--------- .../WidgetImages.xcassets/Contents.json | 6 + .../Widget/Avatar1.imageset/Avatar1.pdf | Bin 0 -> 5044 bytes .../Widget/Avatar1.imageset/Contents.json | 12 + .../Widget/Avatar2.imageset/Avatar2.pdf | Bin 0 -> 6118 bytes .../Widget/Avatar2.imageset/Contents.json | 12 + .../Widget/Avatar3.imageset/Avatar3.pdf | Bin 0 -> 5681 bytes .../Widget/Avatar3.imageset/Contents.json | 12 + .../Widget/Avatar4.imageset/Avatar4.pdf | Bin 0 -> 6116 bytes .../Widget/Avatar4.imageset/Contents.json | 12 + .../Widget/Avatar5.imageset/Avatar5.pdf | Bin 0 -> 8249 bytes .../Widget/Avatar5.imageset/Contents.json | 12 + .../Widget/Avatar6.imageset/Avatar6.pdf | Bin 0 -> 6153 bytes .../Widget/Avatar6.imageset/Contents.json | 12 + .../Widget/Avatar7.imageset/Avatar7.pdf | Bin 0 -> 5222 bytes .../Widget/Avatar7.imageset/Contents.json | 12 + .../Widget/Avatar8.imageset/Avatar8.pdf | Bin 0 -> 7034 bytes .../Widget/Avatar8.imageset/Contents.json | 12 + .../AvatarChannel.imageset/AvatarChannel.pdf | Bin 0 -> 4458 bytes .../AvatarChannel.imageset/Contents.json | 12 + .../Widget/Contents.json | 9 + 23 files changed, 314 insertions(+), 195 deletions(-) create mode 100644 Telegram/WidgetKitWidget/WidgetImages.xcassets/Contents.json create mode 100644 Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar1.imageset/Avatar1.pdf create mode 100644 Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar1.imageset/Contents.json create mode 100644 Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar2.imageset/Avatar2.pdf create mode 100644 Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar2.imageset/Contents.json create mode 100644 Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar3.imageset/Avatar3.pdf create mode 100644 Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar3.imageset/Contents.json create mode 100644 Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar4.imageset/Avatar4.pdf create mode 100644 Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar4.imageset/Contents.json create mode 100644 Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar5.imageset/Avatar5.pdf create mode 100644 Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar5.imageset/Contents.json create mode 100644 Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar6.imageset/Avatar6.pdf create mode 100644 Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar6.imageset/Contents.json create mode 100644 Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar7.imageset/Avatar7.pdf create mode 100644 Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar7.imageset/Contents.json create mode 100644 Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar8.imageset/Avatar8.pdf create mode 100644 Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar8.imageset/Contents.json create mode 100644 Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/AvatarChannel.imageset/AvatarChannel.pdf create mode 100644 Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/AvatarChannel.imageset/Contents.json create mode 100644 Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Contents.json diff --git a/Intents.intentdefinition b/Intents.intentdefinition index f83b915d39..d19acbb04e 100644 --- a/Intents.intentdefinition +++ b/Intents.intentdefinition @@ -19,6 +19,8 @@ INIntentCategory information + INIntentDescription + Display the latest message from the most important chats. INIntentDescriptionID jmsEbj INIntentEligibleForWidgets @@ -56,7 +58,7 @@ INIntentParameterConfigurable INIntentParameterDisplayName - + SELECT CHATS INIntentParameterDisplayNameID WIf4LD INIntentParameterDisplayPriority @@ -124,7 +126,7 @@ INIntentTitle - Select Chats + Chats INIntentTitleID lMot0c INIntentType @@ -135,6 +137,8 @@ INIntentCategory information + INIntentDescription + "Display shortcuts of your most important chats to always have quick access to them. INIntentDescriptionID DwL4WQ INIntentEligibleForWidgets @@ -172,7 +176,7 @@ INIntentParameterConfigurable INIntentParameterDisplayName - + SELECT CHATS INIntentParameterDisplayNameID Jg5dYF INIntentParameterDisplayPriority @@ -240,7 +244,7 @@ INIntentTitle - Select Chats + Shortcuts INIntentTitleID 3Sbb7H INIntentType diff --git a/Telegram/BUILD b/Telegram/BUILD index ee94e58836..e6e25b5703 100644 --- a/Telegram/BUILD +++ b/Telegram/BUILD @@ -1161,6 +1161,12 @@ plist_fragment( ) ) +filegroup( + name = "WidgetAssets", + srcs = glob(["WidgetKitWidget/WidgetImages.xcassets/**"]), + visibility = ["//visibility:public"], +) + swift_library( name = "WidgetExtensionLib", module_name = "WidgetExtensionLib", @@ -1168,7 +1174,7 @@ swift_library( "WidgetKitWidget/**/*.swift", ]), data = [ - #"SiriIntents/Intents.intentdefinition", + ":WidgetAssets", ], deps = [ "//submodules/BuildConfig:BuildConfig", @@ -1205,7 +1211,9 @@ ios_extension( ":disableProvisioningProfilesSetting": None, "//conditions:default": "@build_configuration//provisioning:Widget.mobileprovision", }), - deps = [":WidgetExtensionLib"], + deps = [ + ":WidgetExtensionLib", + ], frameworks = [ ":SwiftSignalKitFramework", ":PostboxFramework", diff --git a/Telegram/WidgetKitWidget/TodayViewController.swift b/Telegram/WidgetKitWidget/TodayViewController.swift index efb0c51dac..7b228c5262 100644 --- a/Telegram/WidgetKitWidget/TodayViewController.swift +++ b/Telegram/WidgetKitWidget/TodayViewController.swift @@ -87,11 +87,16 @@ struct Provider: IntentTimelineProvider { } func getSnapshot(for configuration: SelectFriendsIntent, in context: Context, completion: @escaping (SimpleEntry) -> ()) { - let entry = SimpleEntry(date: Date(), contents: .peers(ParsedPeers(accountId: 0, peers: WidgetDataPeers(accountPeerId: 0, peers: [], updateTimestamp: 0)))) + let entry = SimpleEntry(date: Date(), contents: context.isPreview ? .preview : .peers(ParsedPeers(accountId: 0, peers: WidgetDataPeers(accountPeerId: 0, peers: [], updateTimestamp: 0)))) completion(entry) } func getTimeline(for configuration: SelectFriendsIntent, in context: Context, completion: @escaping (Timeline) -> ()) { + if context.isPreview { + completion(Timeline(entries: [SimpleEntry(date: Date(), contents: .preview)], policy: .atEnd)) + return + } + let currentDate = Date() let entryDate = Calendar.current.date(byAdding: .hour, value: 0, to: currentDate)! @@ -240,11 +245,16 @@ struct AvatarsProvider: IntentTimelineProvider { } func getSnapshot(for configuration: SelectAvatarFriendsIntent, in context: Context, completion: @escaping (SimpleEntry) -> ()) { - let entry = SimpleEntry(date: Date(), contents: .peers(ParsedPeers(accountId: 0, peers: WidgetDataPeers(accountPeerId: 0, peers: [], updateTimestamp: 0)))) + let entry = SimpleEntry(date: Date(), contents: context.isPreview ? .preview : .peers(ParsedPeers(accountId: 0, peers: WidgetDataPeers(accountPeerId: 0, peers: [], updateTimestamp: 0)))) completion(entry) } func getTimeline(for configuration: SelectAvatarFriendsIntent, in context: Context, completion: @escaping (Timeline) -> ()) { + if context.isPreview { + completion(Timeline(entries: [SimpleEntry(date: Date(), contents: .preview)], policy: .atEnd)) + return + } + let currentDate = Date() let entryDate = Calendar.current.date(byAdding: .hour, value: 0, to: currentDate)! @@ -388,6 +398,7 @@ struct AvatarsProvider: IntentTimelineProvider { struct SimpleEntry: TimelineEntry { enum Contents { case recent + case preview case peers(ParsedPeers) } @@ -397,13 +408,10 @@ struct SimpleEntry: TimelineEntry { enum PeersWidgetData { case empty + case preview case peers(ParsedPeers) } -extension PeersWidgetData { - static let previewData = PeersWidgetData.empty -} - struct AvatarItemView: View { var peer: ParsedPeer? var itemSize: CGFloat @@ -428,23 +436,6 @@ struct WidgetView: View { @Environment(\.colorScheme) private var colorScheme let data: PeersWidgetData - func placeholder(geometry: GeometryProxy) -> some View { - let defaultItemSize: CGFloat = 60.0 - let defaultPaddingFraction: CGFloat = 0.36 - - let columnCount = Int(round(geometry.size.width / (defaultItemSize * (1.0 + defaultPaddingFraction)))) - let itemSize = floor(geometry.size.width / (CGFloat(columnCount) + defaultPaddingFraction * CGFloat(columnCount - 1))) - - let firstRowY = itemSize / 2.0 - let secondRowY = itemSize / 2.0 + geometry.size.height - itemSize - - return ZStack { - ForEach(0 ..< columnCount * 2, content: { i in - return Circle().frame(width: itemSize, height: itemSize).position(x: itemSize / 2.0 + floor(CGFloat(i % columnCount) * itemSize * (1.0 + defaultPaddingFraction)), y: i / columnCount == 0 ? firstRowY : secondRowY).foregroundColor(.gray) - }) - } - } - private func linkForPeer(accountId: Int64, id: Int64) -> String { switch self.widgetFamily { case .systemSmall: @@ -454,94 +445,15 @@ struct WidgetView: View { } } - func peersView(geometry: GeometryProxy, peers: ParsedPeers) -> some View { - let columnCount: Int - let rowCount: Int - - let itemSizeFraction: CGFloat - let horizontalInsetFraction: CGFloat - let verticalInsetFraction: CGFloat - let horizontalSpacingFraction: CGFloat - let verticalSpacingFraction: CGFloat - - switch self.widgetFamily { - case .systemLarge: - itemSizeFraction = 0.1762917933 - horizontalInsetFraction = 0.04863221884 - verticalInsetFraction = 0.04863221884 - horizontalSpacingFraction = 0.06079027356 - verticalSpacingFraction = 0.06079027356 - columnCount = 4 - rowCount = 4 - case .systemMedium: - itemSizeFraction = 0.1762917933 - horizontalInsetFraction = 0.04863221884 - verticalInsetFraction = 0.1032258065 - horizontalSpacingFraction = 0.06079027356 - verticalSpacingFraction = 0.07741935484 - columnCount = 4 - rowCount = 2 - case .systemSmall: - itemSizeFraction = 0.335483871 - horizontalInsetFraction = 0.1032258065 - verticalInsetFraction = 0.1032258065 - horizontalSpacingFraction = 0.1161290323 - verticalSpacingFraction = 0.1161290323 - columnCount = 2 - rowCount = 2 - @unknown default: - itemSizeFraction = 0.335483871 - horizontalInsetFraction = 0.1032258065 - verticalInsetFraction = 0.1032258065 - horizontalSpacingFraction = 0.1161290323 - verticalSpacingFraction = 0.1161290323 - columnCount = 2 - rowCount = 2 - } - - let itemSize = floor(geometry.size.width * itemSizeFraction) - - return ZStack { - ForEach(0 ..< min(peers.peers.count, columnCount * rowCount), content: { i in - Link(destination: URL(string: linkForPeer(accountId: peers.peers[i].accountId, id: peers.peers[i].peer.id))!, label: { - AvatarItemView( - peer: peers.peers[i], - itemSize: itemSize, - placeholderColor: getPlaceholderColor() - ).frame(width: itemSize, height: itemSize) - }).frame(width: itemSize, height: itemSize) - .position(x: floor(horizontalInsetFraction * geometry.size.width + itemSize / 2.0 + CGFloat(i % columnCount) * (itemSize + horizontalSpacingFraction * geometry.size.width)), y: floor(verticalInsetFraction * geometry.size.height + itemSize / 2.0 + CGFloat(i / columnCount) * (itemSize + verticalSpacingFraction * geometry.size.height))) - }) - } - } - - func peerViews() -> AnyView { - switch data { - case .empty: - return AnyView(GeometryReader { geometry in - placeholder(geometry: geometry) - }) - case let .peers(peers): - return AnyView(GeometryReader { geometry in - peersView(geometry: geometry, peers: peers) - }) - } - } - - var body1: some View { - ZStack { - peerViews() - } - .padding(0.0) - } - - func chatTopLine(_ peer: ParsedPeer?) -> some View { + func chatTopLine(_ content: ChatContent) -> some View { let dateText: String let chatTitle: AnyView let date: Text + var isPlaceholder = false - if let peer = peer { + switch content { + case let .peer(peer): if let message = peer.peer.message { dateText = DateFormatter.localizedString(from: Date(timeIntervalSince1970: Double(message.timestamp)), dateStyle: .none, timeStyle: .short) } else { @@ -553,14 +465,23 @@ struct WidgetView: View { .foregroundColor(.primary)) date = Text(dateText) .font(Font.system(size: 14.0, weight: .regular, design: .default)).foregroundColor(.secondary) - } else { + case let .preview(index): + dateText = index == 0 ? "9:00" : "8:42" + chatTitle = AnyView(Text("News Channel") + .lineLimit(1) + .font(Font.system(size: 16.0, weight: .medium, design: .default)) + .foregroundColor(.primary)) + date = Text(dateText) + .font(Font.system(size: 14.0, weight: .regular, design: .default)).foregroundColor(.secondary) + case .placeholder: + isPlaceholder = true dateText = " " chatTitle = AnyView(Text(" ").font(Font.system(size: 16.0, weight: .medium, design: .default)).foregroundColor(.primary)) date = Text(dateText) .font(Font.system(size: 16.0, weight: .regular, design: .default)).foregroundColor(.secondary) } return HStack(alignment: .center, spacing: 0.0, content: { - if peer != nil { + if !isPlaceholder { chatTitle } else { chatTitle @@ -574,7 +495,7 @@ struct WidgetView: View { ) } Spacer() - if peer != nil { + if !isPlaceholder { date } else { date @@ -590,78 +511,88 @@ struct WidgetView: View { .padding(0.0) } - func chatBottomLine(_ peer: ParsedPeer?) -> AnyView { - var text = peer?.peer.message?.text ?? "" - text += "\n" - if peer == nil { - text = "First Line Of Text Here\nSecond line fwqefeqwfqwef qwef wq" - } - if let message = peer?.peer.message { - //TODO:localize - switch message.content { - case .text: - break - case .image: - if !message.text.isEmpty { - text = "šŸ–¼ \(message.text)" - } else { - text = "šŸ–¼ Photo" + func chatBottomLine(_ content: ChatContent) -> AnyView { + var text = "" + var isPlaceholder = false + switch content { + case let .peer(peer): + if let message = peer.peer.message { + //TODO:localize + switch message.content { + case .text: + break + case .image: + if !message.text.isEmpty { + text = "šŸ–¼ \(message.text)" + } else { + text = "šŸ–¼ Photo" + } + case .video: + if !message.text.isEmpty { + text = "šŸ“¹ \(message.text)" + } else { + text = "šŸ“¹ Video" + } + case .gif: + if !message.text.isEmpty { + text = "\(message.text)" + } else { + text = "Gif" + } + case let .file(file): + if !message.text.isEmpty { + text = "šŸ“¹ \(message.text)" + } else { + text = "šŸ“Ž \(file.name)" + } + case let .music(music): + if !music.title.isEmpty && !music.artist.isEmpty { + text = "\(music.artist) — \(music.title)" + } else if !music.title.isEmpty { + text = music.title + } else if !music.artist.isEmpty { + text = music.artist + } else { + text = "Music" + } + case .voiceMessage: + text = "šŸŽ¤ Voice Message" + case .videoMessage: + text = "Video Message" + case let .sticker(sticker): + text = "\(sticker.altText) Sticker" + case let .call(call): + if call.isVideo { + text = "Video Call" + } else { + text = "Voice Call" + } + case .mapLocation: + text = "Location" + case let .game(game): + text = "šŸŽ® \(game.title)" + case let .poll(poll): + text = "šŸ“Š \(poll.title)" } - case .video: - if !message.text.isEmpty { - text = "šŸ“¹ \(message.text)" - } else { - text = "šŸ“¹ Video" - } - case .gif: - if !message.text.isEmpty { - text = "\(message.text)" - } else { - text = "Gif" - } - case let .file(file): - if !message.text.isEmpty { - text = "šŸ“¹ \(message.text)" - } else { - text = "šŸ“Ž \(file.name)" - } - case let .music(music): - if !music.title.isEmpty && !music.artist.isEmpty { - text = "\(music.artist) — \(music.title)" - } else if !music.title.isEmpty { - text = music.title - } else if !music.artist.isEmpty { - text = music.artist - } else { - text = "Music" - } - case .voiceMessage: - text = "šŸŽ¤ Voice Message" - case .videoMessage: - text = "Video Message" - case let .sticker(sticker): - text = "\(sticker.altText) Sticker" - case let .call(call): - if call.isVideo { - text = "Video Call" - } else { - text = "Voice Call" - } - case .mapLocation: - text = "Location" - case let .game(game): - text = "šŸŽ® \(game.title)" - case let .poll(poll): - text = "šŸ“Š \(poll.title)" - } - - if let author = message.author { - if author.isMe { - text = "You: \(text)" - } else { - text = "\(author.title): \(text)" + + if let author = message.author { + if author.isMe { + text = "You: \(text)" + } else { + text = "\(author.title): \(text)" + } } } + text += "\n" + case let .preview(index): + if index == 0 { + text = "ā˜€ļø 23 °C\nā˜ļø Passing Clouds" + } else { + text = "šŸ˜‚ Sticker" + text += "\n" + } + case .placeholder: + isPlaceholder = true } let textView = Text(text) @@ -671,7 +602,7 @@ struct WidgetView: View { .multilineTextAlignment(.leading) .padding(0.0) - if peer != nil { + if !isPlaceholder { return AnyView(textView) } else { return AnyView( @@ -709,16 +640,23 @@ struct WidgetView: View { } } - func chatContent(_ peer: ParsedPeer?) -> some View { + enum ChatContent { + case peer(ParsedPeer) + case preview(Int) + case placeholder + } + + func chatContent(_ content: ChatContent) -> some View { return VStack(alignment: .leading, spacing: 0.0, content: { - chatTopLine(peer) - chatBottomLine(peer) + chatTopLine(content) + chatBottomLine(content) }) } func chatContentView(_ index: Int, size: CGSize) -> AnyView { let peers: ParsedPeers? var isPlaceholder = false + var isPreview = false switch data { case let .peers(peersValue): if peersValue.peers.count <= index { @@ -727,6 +665,9 @@ struct WidgetView: View { } else { peers = peersValue } + case .preview: + peers = nil + isPreview = true default: peers = nil } @@ -739,6 +680,20 @@ struct WidgetView: View { ) } + if isPreview { + return AnyView( + HStack(alignment: .center, spacing: 0.0, content: { + Image("Widget/Avatar\(index == 0 ? "Channel" : "1")") + .aspectRatio(1.0, contentMode: .fit) + .clipShape(Circle()) + .frame(width: 54.0, height: 54.0, alignment: .leading) + .padding(EdgeInsets(top: 0.0, leading: 10.0, bottom: 0.0, trailing: 10.0)) + chatContent(.preview(index)).frame(maxWidth: .infinity).padding(EdgeInsets(top: 0.0, leading: 0.0, bottom: 0.0, trailing: 10.0)) + }) + .frame(width: size.width, height: itemHeight, alignment: .leading) + ) + } + let url: URL if let peers = peers { url = URL(string: linkForPeer(accountId: peers.peers[index].accountId, id: peers.peers[index].peer.id))! @@ -746,11 +701,18 @@ struct WidgetView: View { url = URL(string: "\(buildConfig.appSpecificUrlScheme)://")! } + let content: ChatContent + if let peer = peers?.peers[index] { + content = .peer(peer) + } else { + content = .placeholder + } + return AnyView( Link(destination: url, label: { HStack(alignment: .center, spacing: 0.0, content: { AvatarItemView(peer: peers?.peers[index], itemSize: 54.0, placeholderColor: getPlaceholderColor()).frame(width: 54.0, height: 54.0, alignment: .leading).padding(EdgeInsets(top: 0.0, leading: 10.0, bottom: 0.0, trailing: 10.0)) - chatContent(peers?.peers[index]).frame(maxWidth: .infinity).padding(EdgeInsets(top: 0.0, leading: 0.0, bottom: 0.0, trailing: 10.0)) + chatContent(content).frame(maxWidth: .infinity).padding(EdgeInsets(top: 0.0, leading: 0.0, bottom: 0.0, trailing: 10.0)) }) }) .frame(width: size.width, height: itemHeight, alignment: .leading) @@ -795,7 +757,7 @@ struct WidgetView: View { let formatter = DateFormatter() formatter.dateStyle = .short formatter.timeStyle = .none - text = "updated on \(formatter.string(from: date))" + text = "updated \(formatter.string(from: date))" } else { let formatter = DateFormatter() formatter.dateStyle = .none @@ -803,6 +765,21 @@ struct WidgetView: View { text = "updated at \(formatter.string(from: date))" } } + case .preview: + let date = Date() + let calendar = Calendar.current + //TODO:localize + if !calendar.isDate(Date(), inSameDayAs: date) { + let formatter = DateFormatter() + formatter.dateStyle = .short + formatter.timeStyle = .none + text = "updated \(formatter.string(from: date))" + } else { + let formatter = DateFormatter() + formatter.dateStyle = .none + formatter.timeStyle = .short + text = "updated at \(formatter.string(from: date))" + } default: text = "Long tap to edit widget" } @@ -902,6 +879,7 @@ struct AvatarsWidgetView: View { func itemView(index: Int) -> some View { let peers: ParsedPeers? var isPlaceholder = false + var isPreview = false switch data { case let .peers(peersValue): if peersValue.peers.count <= index { @@ -910,6 +888,9 @@ struct AvatarsWidgetView: View { } else { peers = peersValue } + case .preview: + peers = nil + isPreview = true default: peers = nil } @@ -921,8 +902,9 @@ struct AvatarsWidgetView: View { }) }).aspectRatio(1.0, contentMode: .fit)) } else if isPlaceholder { - //return AnyView(Circle().aspectRatio(1.0, contentMode: .fit).foregroundColor(.clear)) return AnyView(Circle().aspectRatio(1.0, contentMode: .fit).foregroundColor(getPlaceholderColor())) + } else if isPreview { + return AnyView(Image("Widget/Avatar\(index + 1)").aspectRatio(1.0, contentMode: .fit).clipShape(Circle())) } else { return AnyView(Circle().aspectRatio(1.0, contentMode: .fit).foregroundColor(getPlaceholderColor())) } @@ -999,6 +981,8 @@ func getWidgetData(contents: SimpleEntry.Contents) -> PeersWidgetData { switch contents { case .recent: return .empty + case .preview: + return .preview case let .peers(peers): return .peers(peers) } @@ -1012,8 +996,8 @@ struct Static_Widget: Widget { WidgetView(data: getWidgetData(contents: entry.contents)) }) .supportedFamilies([.systemMedium]) - .configurationDisplayName(presentationData.widgetGalleryTitle) - .description(presentationData.widgetGalleryDescription) + .configurationDisplayName("Chats") + .description("Display the latest message from the most important chats.") } } @@ -1025,8 +1009,8 @@ struct Static_AvatarsWidget: Widget { AvatarsWidgetView(data: getWidgetData(contents: entry.contents)) }) .supportedFamilies([.systemMedium]) - .configurationDisplayName(presentationData.widgetGalleryTitle) - .description(presentationData.widgetGalleryDescription) + .configurationDisplayName("Shortcuts") + .description("Display shortcuts of your most important chats to always have quick access to them.") } } diff --git a/Telegram/WidgetKitWidget/WidgetImages.xcassets/Contents.json b/Telegram/WidgetKitWidget/WidgetImages.xcassets/Contents.json new file mode 100644 index 0000000000..73c00596a7 --- /dev/null +++ b/Telegram/WidgetKitWidget/WidgetImages.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar1.imageset/Avatar1.pdf b/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar1.imageset/Avatar1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..084021fe6ec715425c443092ba5d7b41887cb5c4 GIT binary patch literal 5044 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 AG5`Po literal 0 HcmV?d00001 diff --git a/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar1.imageset/Contents.json b/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar1.imageset/Contents.json new file mode 100644 index 0000000000..706f6d58b2 --- /dev/null +++ b/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar1.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Avatar1.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar2.imageset/Avatar2.pdf b/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar2.imageset/Avatar2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5d54ed11aa4e80301dc3701ba49702b7b4351cbb GIT binary patch literal 6118 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 literal 0 HcmV?d00001 diff --git a/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar2.imageset/Contents.json b/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar2.imageset/Contents.json new file mode 100644 index 0000000000..fdd16b3714 --- /dev/null +++ b/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar2.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Avatar2.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar3.imageset/Avatar3.pdf b/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar3.imageset/Avatar3.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7d78f0370f809c15b78efa1cee2861fb485273de GIT binary patch literal 5681 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 QCnh2)0pR2WL)8HP1McKEX#fBK literal 0 HcmV?d00001 diff --git a/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar3.imageset/Contents.json b/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar3.imageset/Contents.json new file mode 100644 index 0000000000..bde6c232a2 --- /dev/null +++ b/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar3.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Avatar3.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar4.imageset/Avatar4.pdf b/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar4.imageset/Avatar4.pdf new file mode 100644 index 0000000000000000000000000000000000000000..65c930644713106be1627ccc5d2f29f61f62cb72 GIT binary patch literal 6116 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 Sm_4unND!ZqQC39`|Gxl#>Mh9t literal 0 HcmV?d00001 diff --git a/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar6.imageset/Contents.json b/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar6.imageset/Contents.json new file mode 100644 index 0000000000..6137bb49be --- /dev/null +++ b/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar6.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Avatar6.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar7.imageset/Avatar7.pdf b/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar7.imageset/Avatar7.pdf new file mode 100644 index 0000000000000000000000000000000000000000..cda255b698eefef60aa27a3bf385d34f19a523df GIT binary patch literal 5222 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 PP!Ul=c6NDn1;YOVB)XKG literal 0 HcmV?d00001 diff --git a/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar8.imageset/Contents.json b/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar8.imageset/Contents.json new file mode 100644 index 0000000000..3b6cd02302 --- /dev/null +++ b/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/Avatar8.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Avatar8.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/AvatarChannel.imageset/AvatarChannel.pdf b/Telegram/WidgetKitWidget/WidgetImages.xcassets/Widget/AvatarChannel.imageset/AvatarChannel.pdf new file mode 100644 index 0000000000000000000000000000000000000000..784514a5488902bcc303faa827a10604d8373c04 GIT binary patch literal 4458 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