session-ios/SessionUIKit/Style Guide/Themes/SwiftUI+Theme.swift

40 lines
1.1 KiB
Swift
Raw Normal View History

2023-07-26 06:35:11 +02:00
// Copyright © 2023 Rangeproof Pty Ltd. All rights reserved.
import SwiftUI
public extension View {
func foregroundColor(themeColor: ThemeValue) -> some View {
2023-07-26 09:02:11 +02:00
return self.foregroundColor(
ThemeManager.currentTheme.colorSwiftUI(for: themeColor)
)
}
2023-08-16 05:43:33 +02:00
func backgroundColor(themeColor: ThemeValue) -> some View {
return self.background(
ThemeManager.currentTheme.colorSwiftUI(for: themeColor)
)
}
}
public extension Shape {
func fill(themeColor: ThemeValue) -> some View {
return self.fill(
ThemeManager.currentTheme.colorSwiftUI(for: themeColor) ?? Color.primary
2023-07-26 09:02:11 +02:00
)
}
2023-08-16 05:43:33 +02:00
2023-08-21 09:22:36 +02:00
func stroke(themeColor: ThemeValue, lineWidth: CGFloat = 1) -> some View {
2023-08-16 05:43:33 +02:00
return self.stroke(
2023-08-21 09:22:36 +02:00
ThemeManager.currentTheme.colorSwiftUI(for: themeColor) ?? Color.primary,
lineWidth: lineWidth
)
}
func stroke(themeColor: ThemeValue, style: StrokeStyle) -> some View {
return self.stroke(
ThemeManager.currentTheme.colorSwiftUI(for: themeColor) ?? Color.primary,
style: style
2023-08-16 05:43:33 +02:00
)
}
2023-07-26 06:35:11 +02:00
}