mycode/myApp/HaruDanim/Shared/TrackingActivityAttributes.swift
2026-07-10 03:02:15 +09:00

41 lines
1.3 KiB
Swift

//
// TrackingActivityAttributes.swift
// Haru_Danim
//
// Live Activity . .
//
import Foundation
import ActivityKit
import SwiftUI
nonisolated struct TrackingActivityAttributes: ActivityAttributes {
nonisolated struct ContentState: Codable, Hashable {
/// (: / )
var actionName: String
var symbolName: String
var colorHex: String
var startedAt: Date
/// (+1, +2 )
var extraCount: Int
}
}
extension TrackingActivityAttributes.ContentState {
var tintColor: Color {
let cleaned = colorHex.trimmingCharacters(in: CharacterSet.alphanumerics.inverted)
var value: UInt64 = 0
Scanner(string: cleaned).scanHexInt64(&value)
return Color(
red: Double((value >> 16) & 0xFF) / 255,
green: Double((value >> 8) & 0xFF) / 255,
blue: Double(value & 0xFF) / 255
)
}
/// ( )
var timerRange: ClosedRange<Date> {
startedAt...startedAt.addingTimeInterval(60 * 60 * 24 * 30)
}
}