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:
28
SportsTimeTests/Loading/LoadingSheetTests.swift
Normal file
28
SportsTimeTests/Loading/LoadingSheetTests.swift
Normal file
@@ -0,0 +1,28 @@
|
||||
//
|
||||
// LoadingSheetTests.swift
|
||||
// SportsTimeTests
|
||||
//
|
||||
|
||||
import Testing
|
||||
import SwiftUI
|
||||
@testable import SportsTime
|
||||
|
||||
struct LoadingSheetTests {
|
||||
|
||||
@Test func sheetRequiresLabel() {
|
||||
let sheet = LoadingSheet(label: "Planning trip")
|
||||
#expect(sheet.label == "Planning trip")
|
||||
}
|
||||
|
||||
@Test func sheetCanHaveOptionalDetail() {
|
||||
let withDetail = LoadingSheet(label: "Exporting", detail: "Generating maps...")
|
||||
let withoutDetail = LoadingSheet(label: "Loading")
|
||||
|
||||
#expect(withDetail.detail == "Generating maps...")
|
||||
#expect(withoutDetail.detail == nil)
|
||||
}
|
||||
|
||||
@Test func backgroundOpacityIsCorrect() {
|
||||
#expect(LoadingSheet.backgroundOpacity == 0.5)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user