Both background modes are required. fetch enables periodic stale-detection checks. remote-notification enables silent push processing for Live Activity token management.
App-wide color definitions (background, text, accent, etc.)
Typography.swift
Font size and weight presets mapped to Clash Display and Satoshi
TeamBranding.swift
IPL team-specific colors (primary, secondary, gradient) for match cards and Live Activities
Example: TeamBranding lookup
Copy
Ask AI
struct TeamBranding { let primary: Color let secondary: Color let gradient: [Color] static func branding(for teamAbbr: String) -> TeamBranding { switch teamAbbr { case "MI": return TeamBranding( primary: .blue, secondary: .gold, gradient: [.blue, .darkBlue] ) case "CSK": return TeamBranding( primary: .yellow, secondary: .blue, gradient: [.yellow, .darkYellow] ) // ... other IPL teams default: return defaultBranding } }}
Team branding colors are one of the few things defined on the client side, since they are purely visual and do not depend on match state or backend logic.