mirror of
https://github.com/TelegramMessenger/Telegram-iOS.git
synced 2026-07-06 03:33:41 +02:00
Various improvements
This commit is contained in:
parent
7354bea3e6
commit
9a9665ce54
5 changed files with 41 additions and 1 deletions
|
|
@ -1662,7 +1662,7 @@ public final class PresentationTheme: Equatable {
|
|||
if self.list.blocksBackgroundColor.rgb == self.list.plainBackgroundColor.rgb {
|
||||
let list = self.list.withUpdated(
|
||||
blocksBackgroundColor: self.list.modalBlocksBackgroundColor,
|
||||
itemPlaceholderTextColor: self.overallDarkAppearance ? self.list.itemPlaceholderTextColor.withMultipliedBrightnessBy(1.2) : nil,
|
||||
itemPlaceholderTextColor: self.overallDarkAppearance ? self.list.itemPlaceholderTextColor.withMultipliedBrightnessBy(1.25) : nil,
|
||||
itemBlocksBackgroundColor: self.list.itemModalBlocksBackgroundColor
|
||||
)
|
||||
return PresentationTheme(name: self.name, index: self.index, referenceTheme: self.referenceTheme, overallDarkAppearance: self.overallDarkAppearance, intro: self.intro, passcode: self.passcode, rootController: self.rootController, list: list, chatList: self.chatList, chat: self.chat, actionSheet: self.actionSheet, contextMenu: self.contextMenu, inAppNotification: self.inAppNotification, chart: self.chart, preview: self.preview)
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@ swift_library(
|
|||
"//submodules/TelegramNotices",
|
||||
"//submodules/StickerPeekUI",
|
||||
"//submodules/CounterControllerTitleView",
|
||||
"//submodules/TelegramUI/Components/EdgeEffect",
|
||||
],
|
||||
visibility = [
|
||||
"//visibility:public",
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ import GlassBarButtonComponent
|
|||
import ChatScheduleTimeController
|
||||
import ContextUI
|
||||
import StickerPeekUI
|
||||
import EdgeEffect
|
||||
|
||||
public final class ComposedPoll {
|
||||
public struct Text {
|
||||
|
|
@ -177,6 +178,9 @@ final class ComposePollScreenComponent: Component {
|
|||
final class View: UIView, UIScrollViewDelegate {
|
||||
private let scrollView: ScrollView
|
||||
|
||||
private var topEdgeEffectView: EdgeEffectView
|
||||
private var bottomEdgeEffectView: EdgeEffectView
|
||||
|
||||
private var reactionInput: ComponentView<Empty>?
|
||||
private let pollTextSection = ComponentView<Empty>()
|
||||
private let quizAnswerSection = ComponentView<Empty>()
|
||||
|
|
@ -267,6 +271,9 @@ final class ComposePollScreenComponent: Component {
|
|||
self.scrollView.contentInsetAdjustmentBehavior = .never
|
||||
self.scrollView.alwaysBounceVertical = true
|
||||
|
||||
self.topEdgeEffectView = EdgeEffectView()
|
||||
self.bottomEdgeEffectView = EdgeEffectView()
|
||||
|
||||
self.pollOptionsSectionContainer = ListSectionContentView(frame: CGRect())
|
||||
|
||||
super.init(frame: frame)
|
||||
|
|
@ -274,6 +281,9 @@ final class ComposePollScreenComponent: Component {
|
|||
self.scrollView.delegate = self
|
||||
self.addSubview(self.scrollView)
|
||||
|
||||
self.addSubview(self.topEdgeEffectView)
|
||||
self.addSubview(self.bottomEdgeEffectView)
|
||||
|
||||
let reorderRecognizer = ReorderGestureRecognizer(
|
||||
shouldBegin: { [weak self] point in
|
||||
guard let self, let (id, item) = self.item(at: point) else {
|
||||
|
|
@ -2647,6 +2657,15 @@ final class ComposePollScreenComponent: Component {
|
|||
}
|
||||
}
|
||||
|
||||
let edgeEffectHeight: CGFloat = 88.0
|
||||
let topEdgeEffectFrame = CGRect(origin: .zero, size: CGSize(width: availableSize.width, height: edgeEffectHeight))
|
||||
transition.setFrame(view: self.topEdgeEffectView, frame: topEdgeEffectFrame)
|
||||
self.topEdgeEffectView.update(content: theme.list.blocksBackgroundColor, blur: true, alpha: 1.0, rect: topEdgeEffectFrame, edge: .top, edgeSize: topEdgeEffectFrame.height, transition: transition)
|
||||
|
||||
let bottomEdgeEffectFrame = CGRect(origin: CGPoint(x: 0.0, y: availableSize.height - edgeEffectHeight - environment.additionalInsets.bottom), size: CGSize(width: availableSize.width, height: edgeEffectHeight))
|
||||
transition.setFrame(view: self.bottomEdgeEffectView, frame: bottomEdgeEffectFrame)
|
||||
self.bottomEdgeEffectView.update(content: theme.list.blocksBackgroundColor, blur: true, alpha: 1.0, rect: bottomEdgeEffectFrame, edge: .bottom, edgeSize: bottomEdgeEffectFrame.height, transition: transition)
|
||||
|
||||
return availableSize
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ swift_library(
|
|||
"//submodules/TelegramUI/Components/ComposePollScreen",
|
||||
"//submodules/Markdown",
|
||||
"//submodules/TelegramUI/Components/GlassBarButtonComponent",
|
||||
"//submodules/TelegramUI/Components/EdgeEffect",
|
||||
],
|
||||
visibility = [
|
||||
"//visibility:public",
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ import ListComposePollOptionComponent
|
|||
import Markdown
|
||||
import PresentationDataUtils
|
||||
import GlassBarButtonComponent
|
||||
import EdgeEffect
|
||||
|
||||
final class ComposeTodoScreenComponent: Component {
|
||||
typealias EnvironmentType = ViewControllerComponentContainer.Environment
|
||||
|
|
@ -72,6 +73,9 @@ final class ComposeTodoScreenComponent: Component {
|
|||
final class View: UIView, UIScrollViewDelegate {
|
||||
private let scrollView: UIScrollView
|
||||
|
||||
private var topEdgeEffectView: EdgeEffectView
|
||||
private var bottomEdgeEffectView: EdgeEffectView
|
||||
|
||||
private let todoTextSection = ComponentView<Empty>()
|
||||
|
||||
private let todoItemsSectionHeader = ComponentView<Empty>()
|
||||
|
|
@ -132,6 +136,9 @@ final class ComposeTodoScreenComponent: Component {
|
|||
self.scrollView.contentInsetAdjustmentBehavior = .never
|
||||
self.scrollView.alwaysBounceVertical = true
|
||||
|
||||
self.topEdgeEffectView = EdgeEffectView()
|
||||
self.bottomEdgeEffectView = EdgeEffectView()
|
||||
|
||||
self.todoItemsSectionContainer = ListSectionContentView(frame: CGRect())
|
||||
self.todoItemsSectionContainer.automaticallyLayoutExternalContentBackgroundView = false
|
||||
|
||||
|
|
@ -140,6 +147,9 @@ final class ComposeTodoScreenComponent: Component {
|
|||
self.scrollView.delegate = self
|
||||
self.addSubview(self.scrollView)
|
||||
|
||||
self.addSubview(self.topEdgeEffectView)
|
||||
self.addSubview(self.bottomEdgeEffectView)
|
||||
|
||||
let reorderRecognizer = ReorderGestureRecognizer(
|
||||
shouldBegin: { [weak self] point in
|
||||
guard let self, let (id, item) = self.item(at: point) else {
|
||||
|
|
@ -1654,6 +1664,15 @@ final class ComposeTodoScreenComponent: Component {
|
|||
self.todoItems[i].resetText = nil
|
||||
}
|
||||
|
||||
let edgeEffectHeight: CGFloat = 88.0
|
||||
let topEdgeEffectFrame = CGRect(origin: .zero, size: CGSize(width: availableSize.width, height: edgeEffectHeight))
|
||||
transition.setFrame(view: self.topEdgeEffectView, frame: topEdgeEffectFrame)
|
||||
self.topEdgeEffectView.update(content: theme.list.blocksBackgroundColor, blur: true, alpha: 1.0, rect: topEdgeEffectFrame, edge: .top, edgeSize: topEdgeEffectFrame.height, transition: transition)
|
||||
|
||||
let bottomEdgeEffectFrame = CGRect(origin: CGPoint(x: 0.0, y: availableSize.height - edgeEffectHeight - environment.additionalInsets.bottom), size: CGSize(width: availableSize.width, height: edgeEffectHeight))
|
||||
transition.setFrame(view: self.bottomEdgeEffectView, frame: bottomEdgeEffectFrame)
|
||||
self.bottomEdgeEffectView.update(content: theme.list.blocksBackgroundColor, blur: true, alpha: 1.0, rect: bottomEdgeEffectFrame, edge: .bottom, edgeSize: bottomEdgeEffectFrame.height, transition: transition)
|
||||
|
||||
return availableSize
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue