@@ -28,11 +28,6 @@ enum ModelSize: String, CaseIterable, Codable, Identifiable {
2828 }
2929 }
3030
31- /// Model file name in GGML format
32- var fileName : String {
33- " ggml- \( rawValue) .bin "
34- }
35-
3631 /// Approximate file size on disk in bytes
3732 var fileSizeBytes : Int64 {
3833 switch self {
@@ -83,11 +78,6 @@ enum ModelSize: String, CaseIterable, Codable, Identifiable {
8378 case . largeV3: return " Best "
8479 }
8580 }
86-
87- /// Download URL from Hugging Face
88- var downloadURL : URL {
89- URL ( string: " https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ \( fileName) " ) !
90- }
9181}
9282
9383// MARK: - WhisperModelInfo
@@ -120,6 +110,7 @@ struct WhisperModelInfo: Identifiable {
120110 /// Human-readable status description
121111 var statusDescription : String {
122112 if isActive { return " Active " }
113+ if isLoading { return " Loading... " }
123114 if let progress = downloadProgress {
124115 return " Downloading ( \( Int ( progress * 100 ) ) %) "
125116 }
@@ -130,6 +121,7 @@ struct WhisperModelInfo: Identifiable {
130121 /// SF Symbol name for the status icon
131122 var statusIconName : String {
132123 if isActive { return " checkmark.circle.fill " }
124+ if isLoading { return " arrow.trianglehead.2.clockwise " }
133125 if downloadProgress != nil { return " arrow.down.circle " }
134126 if isDownloaded { return " checkmark.circle " }
135127 return " arrow.down.to.line "
0 commit comments