mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-10-09 03:20:48 +00:00
Fix ColorScheme
This commit is contained in:
parent
3b71399019
commit
02eebc19ca
@ -19,7 +19,6 @@ public struct ChatToolbarView: View {
|
||||
@Binding private var showNewLine: Bool
|
||||
|
||||
var onClearFormatting: () -> Void
|
||||
var preferredColorScheme: ColorScheme?
|
||||
|
||||
public init(
|
||||
onQuote: @escaping () -> Void,
|
||||
@ -33,8 +32,7 @@ public struct ChatToolbarView: View {
|
||||
onCode: @escaping () -> Void,
|
||||
onNewLine: @escaping () -> Void,
|
||||
showNewLine: Binding<Bool>,
|
||||
onClearFormatting: @escaping () -> Void,
|
||||
preferredColorScheme: ColorScheme? = nil
|
||||
onClearFormatting: @escaping () -> Void
|
||||
) {
|
||||
self.onQuote = onQuote
|
||||
self.onSpoiler = onSpoiler
|
||||
@ -48,7 +46,6 @@ public struct ChatToolbarView: View {
|
||||
self.onNewLine = onNewLine
|
||||
self._showNewLine = showNewLine
|
||||
self.onClearFormatting = onClearFormatting
|
||||
self.preferredColorScheme = preferredColorScheme // TODO(swiftgram): Does not work for buttons :(
|
||||
}
|
||||
|
||||
public func setShowNewLine(_ value: Bool) {
|
||||
@ -62,42 +59,36 @@ public struct ChatToolbarView: View {
|
||||
Button(action: onNewLine) {
|
||||
Image(systemName: "return")
|
||||
}
|
||||
.buttonStyle(ToolbarButtonStyle(preferredColorScheme: preferredColorScheme))
|
||||
.preferredColorScheme(preferredColorScheme)
|
||||
.buttonStyle(ToolbarButtonStyle())
|
||||
}
|
||||
Button(action: onClearFormatting) {
|
||||
Image(systemName: "pencil.slash")
|
||||
}
|
||||
.buttonStyle(ToolbarButtonStyle(preferredColorScheme: preferredColorScheme))
|
||||
.preferredColorScheme(preferredColorScheme)
|
||||
.buttonStyle(ToolbarButtonStyle())
|
||||
Spacer()
|
||||
// Quote Button
|
||||
Button(action: onQuote) {
|
||||
Image(systemName: "text.quote")
|
||||
}
|
||||
.buttonStyle(ToolbarButtonStyle(preferredColorScheme: preferredColorScheme))
|
||||
.preferredColorScheme(preferredColorScheme)
|
||||
.buttonStyle(ToolbarButtonStyle())
|
||||
|
||||
// Spoiler Button
|
||||
Button(action: onSpoiler) {
|
||||
Image(systemName: "eye.slash")
|
||||
}
|
||||
.buttonStyle(ToolbarButtonStyle(preferredColorScheme: preferredColorScheme))
|
||||
.preferredColorScheme(preferredColorScheme)
|
||||
.buttonStyle(ToolbarButtonStyle())
|
||||
|
||||
// Bold Button
|
||||
Button(action: onBold) {
|
||||
Image(systemName: "bold")
|
||||
}
|
||||
.buttonStyle(ToolbarButtonStyle(preferredColorScheme: preferredColorScheme))
|
||||
.preferredColorScheme(preferredColorScheme)
|
||||
.buttonStyle(ToolbarButtonStyle())
|
||||
|
||||
// Italic Button
|
||||
Button(action: onItalic) {
|
||||
Image(systemName: "italic")
|
||||
}
|
||||
.buttonStyle(ToolbarButtonStyle(preferredColorScheme: preferredColorScheme))
|
||||
.preferredColorScheme(preferredColorScheme)
|
||||
.buttonStyle(ToolbarButtonStyle())
|
||||
|
||||
// Monospace Button
|
||||
Button(action: onMonospace) {
|
||||
@ -107,52 +98,44 @@ public struct ChatToolbarView: View {
|
||||
Text("M")
|
||||
}
|
||||
}
|
||||
.buttonStyle(ToolbarButtonStyle(preferredColorScheme: preferredColorScheme))
|
||||
.preferredColorScheme(preferredColorScheme)
|
||||
.buttonStyle(ToolbarButtonStyle())
|
||||
|
||||
// Link Button
|
||||
Button(action: onLink) {
|
||||
Image(systemName: "link")
|
||||
}
|
||||
.buttonStyle(ToolbarButtonStyle(preferredColorScheme: preferredColorScheme))
|
||||
.preferredColorScheme(preferredColorScheme)
|
||||
.buttonStyle(ToolbarButtonStyle())
|
||||
|
||||
// Underline Button
|
||||
Button(action: onUnderline) {
|
||||
Image(systemName: "underline")
|
||||
}
|
||||
.buttonStyle(ToolbarButtonStyle(preferredColorScheme: preferredColorScheme))
|
||||
.preferredColorScheme(preferredColorScheme)
|
||||
.buttonStyle(ToolbarButtonStyle())
|
||||
|
||||
|
||||
// Strikethrough Button
|
||||
Button(action: onStrikethrough) {
|
||||
Image(systemName: "strikethrough")
|
||||
}
|
||||
.buttonStyle(ToolbarButtonStyle(preferredColorScheme: preferredColorScheme))
|
||||
.preferredColorScheme(preferredColorScheme)
|
||||
.buttonStyle(ToolbarButtonStyle())
|
||||
|
||||
|
||||
// Code Button
|
||||
Button(action: onCode) {
|
||||
Image(systemName: "chevron.left.forwardslash.chevron.right")
|
||||
}
|
||||
.buttonStyle(ToolbarButtonStyle(preferredColorScheme: preferredColorScheme))
|
||||
.preferredColorScheme(preferredColorScheme)
|
||||
.buttonStyle(ToolbarButtonStyle())
|
||||
}
|
||||
.padding(.horizontal, 8)
|
||||
.padding(.vertical, 8)
|
||||
}
|
||||
.background(Color(UIColor.clear))
|
||||
.preferredColorScheme(preferredColorScheme)
|
||||
}
|
||||
}
|
||||
|
||||
@available(iOS 13.0, *)
|
||||
struct ToolbarButtonStyle: ButtonStyle {
|
||||
|
||||
var preferredColorScheme: ColorScheme? = nil
|
||||
|
||||
func makeBody(configuration: Configuration) -> some View {
|
||||
configuration.label
|
||||
.font(.system(size: 17))
|
||||
@ -161,6 +144,5 @@ struct ToolbarButtonStyle: ButtonStyle {
|
||||
.cornerRadius(8)
|
||||
// TODO(swiftgram): Does not work for fast taps (like mine)
|
||||
.opacity(configuration.isPressed ? 0.4 : 1.0)
|
||||
.preferredColorScheme(preferredColorScheme)
|
||||
}
|
||||
}
|
||||
|
@ -2380,9 +2380,8 @@ extension MessageInputPanelComponent.View {
|
||||
onClearFormatting: { [weak self] in
|
||||
guard let _ = self else { return }
|
||||
NotificationCenter.default.post(name: notificationName, object: nil, userInfo: ["action": "clearFormatting"])
|
||||
},
|
||||
preferredColorScheme: .dark
|
||||
)
|
||||
}
|
||||
).colorScheme(.dark)
|
||||
|
||||
let toolbarHostingController = UIHostingController(rootView: toolbar)
|
||||
toolbarHostingController.view.backgroundColor = .clear
|
||||
|
Loading…
x
Reference in New Issue
Block a user