// // Solsnu_WidgetControl.swift // Solsnu.Widget // // Created by Ivar Løvlie on 15/12/2025. // import AppIntents import SwiftUI import WidgetKit struct Solsnu_WidgetControl: ControlWidget { var body: some ControlWidgetConfiguration { StaticControlConfiguration( kind: "ivarivarivar.Solverv.Solsnu.Widget", provider: Provider() ) { value in ControlWidgetToggle( "Start Timer", isOn: value, action: StartTimerIntent() ) { isRunning in Label(isRunning ? "On" : "Off", systemImage: "timer") } } .displayName("Timer") .description("A an example control that runs a timer.") } } extension Solsnu_WidgetControl { struct Provider: ControlValueProvider { var previewValue: Bool { false } func currentValue() async throws -> Bool { let isRunning = true // Check if the timer is running return isRunning } } } struct StartTimerIntent: SetValueIntent { static let title: LocalizedStringResource = "Start a timer" @Parameter(title: "Timer is running") var value: Bool func perform() async throws -> some IntentResult { // Start / stop the timer based on `value`. return .result() } }