import SwiftUI @MainActor @Observable final class FrontPageViewModel { private static let redditHomeURL = URL(string: "https://www.reddit.com")! private(set) var redditLoadURL = redditHomeURL var selectedNavItem: SidebarNavItem? var isRedditActive = true var isSettingsActive = false var isPaywallPresented = false private(set) var redditReloadTrigger = 0 static let settingsItem = SidebarNavItem( title: "Settings", subtitle: "Manage app preferences", iconKind: .settings ) func openReddit(at url: URL? = nil) { selectedNavItem = nil isRedditActive = true isSettingsActive = false redditLoadURL = url ?? Self.redditHomeURL redditReloadTrigger += 1 } func openSettings() { selectedNavItem = nil isRedditActive = false isSettingsActive = true } func selectNavItem(_ item: SidebarNavItem) { selectedNavItem = item isRedditActive = false isSettingsActive = false } func showPaywall() { isPaywallPresented = true } func dismissPaywall() { isPaywallPresented = false } let createItems: [SidebarNavItem] = [ SidebarNavItem(title: "Post Generator", subtitle: "Generate engaging posts", iconKind: .postGenerator), SidebarNavItem(title: "Title Optimizer", subtitle: "Create viral titles", iconKind: .titleOptimizer), SidebarNavItem(title: "Comment Writer", subtitle: "Write smart replies", iconKind: .commentWriter), ] }