40 lines
949 B
Swift
40 lines
949 B
Swift
import Foundation
|
|
|
|
final class Settings: ObservableObject {
|
|
|
|
@Published
|
|
var paths: PathSettings
|
|
|
|
/// The items to show in the navigation bar
|
|
@Published
|
|
var navigationItems: [Item]
|
|
|
|
@Published
|
|
var posts: PostSettings
|
|
|
|
@Published
|
|
var pages: PageSettings
|
|
|
|
@Published
|
|
var german: LocalizedPostSettings
|
|
|
|
@Published
|
|
var english: LocalizedPostSettings
|
|
|
|
init(paths: PathSettings, navigationItems: [Item], posts: PostSettings, pages: PageSettings, german: LocalizedPostSettings, english: LocalizedPostSettings) {
|
|
self.paths = paths
|
|
self.navigationItems = navigationItems
|
|
self.posts = posts
|
|
self.pages = pages
|
|
self.german = german
|
|
self.english = english
|
|
}
|
|
|
|
func localized(in language: ContentLanguage) -> LocalizedPostSettings {
|
|
switch language {
|
|
case .english: return english
|
|
case .german: return german
|
|
}
|
|
}
|
|
}
|