import ActivityKit
import Foundation

/// Attributes for the shift live activity
/// These are the static values that don't change during the shift
struct ShiftActivityAttributes: ActivityAttributes {
    /// Dynamic state that updates during the shift
    public struct ContentState: Codable, Hashable {
        var elapsedMinutes: Int
        var progress: Double          // 0.0 to 1.0
        var elapsedFormatted: String  // e.g., "2h 30m"
        var remainingFormatted: String // e.g., "5h 30m remaining"
    }

    // Static attributes set when activity starts
    var shiftStart: String    // e.g., "9:00 AM"
    var shiftEnd: String      // e.g., "5:00 PM"
    var position: String      // e.g., "Cashier"
    var storeName: String     // e.g., "Ottawa Store"
    var totalHours: Double    // e.g., 8.0
}
