aboutsummaryrefslogtreecommitdiff
path: root/Sources/NorgUI/Theme/EnvironmentValues+NorgTheme.swift
diff options
context:
space:
mode:
authorRuben Beltran del Rio <jj@r.bdr.sh>2026-06-15 14:35:36 +0200
committerRuben Beltran del Rio <jj@r.bdr.sh>2026-06-16 14:47:30 +0200
commit657aa83a5ca24dc35572c040df64a0abb85e8612 (patch)
treefe0b6fd425d8cad9dc6a28ada4ad8600e42b367e /Sources/NorgUI/Theme/EnvironmentValues+NorgTheme.swift
Initial extraction from Norganize
Diffstat (limited to 'Sources/NorgUI/Theme/EnvironmentValues+NorgTheme.swift')
-rw-r--r--Sources/NorgUI/Theme/EnvironmentValues+NorgTheme.swift19
1 files changed, 19 insertions, 0 deletions
diff --git a/Sources/NorgUI/Theme/EnvironmentValues+NorgTheme.swift b/Sources/NorgUI/Theme/EnvironmentValues+NorgTheme.swift
new file mode 100644
index 0000000..58c2c00
--- /dev/null
+++ b/Sources/NorgUI/Theme/EnvironmentValues+NorgTheme.swift
@@ -0,0 +1,19 @@
+import SwiftUI
+
+private struct NorgThemeKey: EnvironmentKey {
+ static let defaultValue = NorgTheme.default
+}
+
+/// Makes NorgTheme values accessible via the environment.
+extension EnvironmentValues {
+ public var norgTheme: NorgTheme {
+ get { self[NorgThemeKey.self] }
+ set { self[NorgThemeKey.self] = newValue }
+ }
+}
+
+extension View {
+ public func norgTheme(_ theme: NorgTheme) -> some View {
+ environment(\.norgTheme, theme)
+ }
+}