mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Dark theme improvements
This commit is contained in:
parent
10b5386143
commit
4955f9301e
@ -401,7 +401,11 @@ public func themePickerController(context: AccountContext, focusOnItemTag: Theme
|
|||||||
themeReference = .builtin(.night)
|
themeReference = .builtin(.night)
|
||||||
}
|
}
|
||||||
let themeSpecificColor = themeSpecificAccentColors[themeReference.index]
|
let themeSpecificColor = themeSpecificAccentColors[themeReference.index]
|
||||||
if let theme = makePresentationTheme(mediaBox: context.sharedContext.accountManager.mediaBox, themeReference: themeReference, baseTheme: nightMode ? .night : .classic, accentColor: themeSpecificColor?.accentColor.flatMap { UIColor(rgb: $0) }, bubbleColors: themeSpecificColor?.bubbleColors ?? []) {
|
var accentColor = themeSpecificColor?.accentColor.flatMap { UIColor(rgb: $0) }
|
||||||
|
if accentColor == nil, case .builtin(.night) = themeReference {
|
||||||
|
accentColor = themeSpecificColor?.colorFor(baseTheme: .night)
|
||||||
|
}
|
||||||
|
if let theme = makePresentationTheme(mediaBox: context.sharedContext.accountManager.mediaBox, themeReference: themeReference, baseTheme: nightMode ? .night : .classic, accentColor: accentColor, bubbleColors: themeSpecificColor?.bubbleColors ?? []) {
|
||||||
let controller = ThemePreviewController(context: context, previewTheme: theme, source: .settings(themeReference, nil, false))
|
let controller = ThemePreviewController(context: context, previewTheme: theme, source: .settings(themeReference, nil, false))
|
||||||
if custom {
|
if custom {
|
||||||
controller.customApply = {
|
controller.customApply = {
|
||||||
@ -527,7 +531,14 @@ public func themePickerController(context: AccountContext, focusOnItemTag: Theme
|
|||||||
|> mapToSignal { accentColor, wallpaper -> Signal<(PresentationTheme?, TelegramWallpaper?), NoError> in
|
|> mapToSignal { accentColor, wallpaper -> Signal<(PresentationTheme?, TelegramWallpaper?), NoError> in
|
||||||
return chatServiceBackgroundColor(wallpaper: wallpaper, mediaBox: context.sharedContext.accountManager.mediaBox)
|
return chatServiceBackgroundColor(wallpaper: wallpaper, mediaBox: context.sharedContext.accountManager.mediaBox)
|
||||||
|> map { serviceBackgroundColor in
|
|> map { serviceBackgroundColor in
|
||||||
return (makePresentationTheme(mediaBox: context.sharedContext.accountManager.mediaBox, themeReference: reference, accentColor: accentColor?.color, bubbleColors: accentColor?.customBubbleColors ?? [], serviceBackgroundColor: serviceBackgroundColor), wallpaper)
|
var effectiveAccentColor: UIColor? = accentColor?.color
|
||||||
|
if case let .builtin(theme) = reference {
|
||||||
|
effectiveAccentColor = accentColor?.colorFor(baseTheme: (theme).baseTheme)
|
||||||
|
}
|
||||||
|
if reference == .builtin(.night), effectiveAccentColor == nil {
|
||||||
|
effectiveAccentColor = UIColor(rgb: 0x3e88f7)
|
||||||
|
}
|
||||||
|
return (makePresentationTheme(mediaBox: context.sharedContext.accountManager.mediaBox, themeReference: reference, accentColor: effectiveAccentColor, bubbleColors: accentColor?.customBubbleColors ?? [], serviceBackgroundColor: serviceBackgroundColor), wallpaper)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|> deliverOnMainQueue).start(next: { theme, wallpaper in
|
|> deliverOnMainQueue).start(next: { theme, wallpaper in
|
||||||
|
@ -39,7 +39,7 @@ var dayColorPresets: [PresentationThemeAccentColor] = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
var nightColorPresets: [PresentationThemeAccentColor] = [
|
var nightColorPresets: [PresentationThemeAccentColor] = [
|
||||||
PresentationThemeAccentColor(index: 101, baseColor: .preset, accentColor: 0x007aff, bubbleColors: [0x007aff, 0xff53f4], wallpaper: patternWallpaper(data: .variant4, colors: [0xe4b2ea, 0x8376c2, 0xeab9d9, 0xb493e6], intensity: -35, rotation: nil)),
|
// PresentationThemeAccentColor(index: 101, baseColor: .preset, accentColor: 0x007aff, bubbleColors: [0x007aff, 0xff53f4], wallpaper: patternWallpaper(data: .variant4, colors: [0xe4b2ea, 0x8376c2, 0xeab9d9, 0xb493e6], intensity: -35, rotation: nil)),
|
||||||
PresentationThemeAccentColor(index: 102, baseColor: .preset, accentColor: 0x00b09b, bubbleColors: [0xaee946, 0x00b09b], wallpaper: patternWallpaper(data: .variant9, colors: [0xe4b2ea, 0x8376c2, 0xeab9d9, 0xb493e6], intensity: -35, rotation: nil)),
|
PresentationThemeAccentColor(index: 102, baseColor: .preset, accentColor: 0x00b09b, bubbleColors: [0xaee946, 0x00b09b], wallpaper: patternWallpaper(data: .variant9, colors: [0xe4b2ea, 0x8376c2, 0xeab9d9, 0xb493e6], intensity: -35, rotation: nil)),
|
||||||
PresentationThemeAccentColor(index: 103, baseColor: .preset, accentColor: 0xd33213, bubbleColors: [0xf9db00, 0xd33213], wallpaper: patternWallpaper(data: .variant2, colors: [0xfec496, 0xdd6cb9, 0x962fbf, 0x4f5bd5], intensity: -40, rotation: nil)),
|
PresentationThemeAccentColor(index: 103, baseColor: .preset, accentColor: 0xd33213, bubbleColors: [0xf9db00, 0xd33213], wallpaper: patternWallpaper(data: .variant2, colors: [0xfec496, 0xdd6cb9, 0x962fbf, 0x4f5bd5], intensity: -40, rotation: nil)),
|
||||||
PresentationThemeAccentColor(index: 104, baseColor: .preset, accentColor: 0xea8ced, bubbleColors: [0xea8ced, 0x00c2ed], wallpaper: patternWallpaper(data: .variant6, colors: [0x8adbf2, 0x888dec, 0xe39fea, 0x679ced], intensity: -30, rotation: nil))
|
PresentationThemeAccentColor(index: 104, baseColor: .preset, accentColor: 0xea8ced, bubbleColors: [0xea8ced, 0x00c2ed], wallpaper: patternWallpaper(data: .variant6, colors: [0x8adbf2, 0x888dec, 0xe39fea, 0x679ced], intensity: -30, rotation: nil))
|
||||||
|
@ -4,7 +4,7 @@ import TelegramCore
|
|||||||
import TelegramUIPreferences
|
import TelegramUIPreferences
|
||||||
|
|
||||||
public let defaultDarkPresentationTheme = makeDefaultDarkPresentationTheme(preview: false)
|
public let defaultDarkPresentationTheme = makeDefaultDarkPresentationTheme(preview: false)
|
||||||
public let defaultDarkColorPresentationTheme = customizeDefaultDarkPresentationTheme(theme: defaultDarkPresentationTheme, editing: false, title: nil, accentColor: UIColor(rgb: 0x007aff), backgroundColors: [], bubbleColors: [], animateBubbleColors: false, wallpaper: nil, baseColor: nil)
|
public let defaultDarkColorPresentationTheme = customizeDefaultDarkPresentationTheme(theme: defaultDarkPresentationTheme, editing: false, title: nil, accentColor: UIColor(rgb: 0x3e88f7), backgroundColors: [], bubbleColors: [], animateBubbleColors: false, wallpaper: nil, baseColor: nil)
|
||||||
|
|
||||||
private extension PresentationThemeBaseColor {
|
private extension PresentationThemeBaseColor {
|
||||||
var colorWallpaper: (BuiltinWallpaperData, Int32, [UInt32])? {
|
var colorWallpaper: (BuiltinWallpaperData, Int32, [UInt32])? {
|
||||||
|
@ -1336,7 +1336,9 @@ public func themeIconImage(account: Account, accountManager: AccountManager<Tele
|
|||||||
} else if case let .builtin(theme) = theme {
|
} else if case let .builtin(theme) = theme {
|
||||||
var defaultTheme = makeDefaultPresentationTheme(reference: theme, serviceBackgroundColor: nil)
|
var defaultTheme = makeDefaultPresentationTheme(reference: theme, serviceBackgroundColor: nil)
|
||||||
if let color = color {
|
if let color = color {
|
||||||
defaultTheme = customizePresentationTheme(defaultTheme, editing: false, accentColor: color.accentColor.flatMap { UIColor(rgb: $0) }, outgoingAccentColor: nil, backgroundColors: [], bubbleColors: color.bubbleColors, animateBubbleColors: nil, baseColor: color.baseColor)
|
let editing = color.accentColor == nil
|
||||||
|
let accentColor: UIColor = color.accentColor.flatMap { UIColor(rgb: $0) } ?? color.colorFor(baseTheme: theme.baseTheme)
|
||||||
|
defaultTheme = customizePresentationTheme(defaultTheme, editing: editing, accentColor: accentColor, outgoingAccentColor: nil, backgroundColors: [], bubbleColors: color.bubbleColors, animateBubbleColors: nil, baseColor: color.baseColor)
|
||||||
} else if case .night = theme {
|
} else if case .night = theme {
|
||||||
defaultTheme = customizePresentationTheme(defaultTheme, editing: true, accentColor: UIColor(rgb: 0x3e88f7), outgoingAccentColor: nil, backgroundColors: [], bubbleColors: [], animateBubbleColors: nil)
|
defaultTheme = customizePresentationTheme(defaultTheme, editing: true, accentColor: UIColor(rgb: 0x3e88f7), outgoingAccentColor: nil, backgroundColors: [], bubbleColors: [], animateBubbleColors: nil)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user