feat(ui): replace loading indicators with Apple-style LoadingSpinner
- Add LoadingSpinner component with small/medium/large sizes using system gray color - Add LoadingPlaceholder for skeleton loading states - Add LoadingSheet for full-screen blocking overlays - Replace ThemedSpinner/ThemedSpinnerCompact across all views - Remove deprecated loading components from AnimatedComponents.swift - Delete LoadingTextGenerator.swift - Fix PhotoImportView layout to fill full width Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
37
SportsTimeTests/Loading/LoadingPlaceholderTests.swift
Normal file
37
SportsTimeTests/Loading/LoadingPlaceholderTests.swift
Normal file
@@ -0,0 +1,37 @@
|
||||
//
|
||||
// LoadingPlaceholderTests.swift
|
||||
// SportsTimeTests
|
||||
//
|
||||
|
||||
import Testing
|
||||
import SwiftUI
|
||||
@testable import SportsTime
|
||||
|
||||
struct LoadingPlaceholderTests {
|
||||
|
||||
@Test func rectangleHasCorrectDimensions() {
|
||||
let rect = LoadingPlaceholder.rectangle(width: 100, height: 20)
|
||||
#expect(rect.width == 100)
|
||||
#expect(rect.height == 20)
|
||||
}
|
||||
|
||||
@Test func circleHasCorrectDiameter() {
|
||||
let circle = LoadingPlaceholder.circle(diameter: 40)
|
||||
#expect(circle.diameter == 40)
|
||||
}
|
||||
|
||||
@Test func capsuleHasCorrectDimensions() {
|
||||
let capsule = LoadingPlaceholder.capsule(width: 80, height: 24)
|
||||
#expect(capsule.width == 80)
|
||||
#expect(capsule.height == 24)
|
||||
}
|
||||
|
||||
@Test func animationCycleDurationIsCorrect() {
|
||||
#expect(LoadingPlaceholder.animationDuration == 1.2)
|
||||
}
|
||||
|
||||
@Test func opacityRangeIsSubtle() {
|
||||
#expect(LoadingPlaceholder.minOpacity == 0.3)
|
||||
#expect(LoadingPlaceholder.maxOpacity == 0.5)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user