Skip to content

Commit d449b48

Browse files
Saqooshaclaude
andcommitted
Remove redundant spinner from file rows
- Replace static per-row ProgressView with animated file icon - Add rotation animation to left icon during processing/restoring states - Keep bottom status bar spinner for overall progress indication - Reduces visual clutter while maintaining processing feedback Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 4f5ef12 commit d449b48

1 file changed

Lines changed: 18 additions & 4 deletions

File tree

macos-app/Sources/AutoMeetsSlide/Views/MainView.swift

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -194,13 +194,30 @@ struct FileRowView: View {
194194
let file: FileItem
195195
let onRemove: () -> Void
196196

197+
@State private var isRotating = false
198+
199+
private var isProcessing: Bool {
200+
file.status == .processing || file.status == .restoring
201+
}
202+
197203
var body: some View {
198204
HStack(spacing: 12) {
199205
// File icon
200206
Image(systemName: fileIcon)
201207
.font(.title2)
202208
.foregroundStyle(iconColor)
203209
.frame(width: 32)
210+
.rotationEffect(.degrees(isRotating ? 360 : 0))
211+
.animation(
212+
isProcessing ? .linear(duration: 1.5).repeatForever(autoreverses: false) : .default,
213+
value: isRotating
214+
)
215+
.onChange(of: isProcessing) { _, newValue in
216+
isRotating = newValue
217+
}
218+
.onAppear {
219+
isRotating = isProcessing
220+
}
204221

205222
// File info
206223
VStack(alignment: .leading, spacing: 2) {
@@ -252,10 +269,7 @@ struct FileRowView: View {
252269
.help("Open in NotebookLM")
253270
}
254271

255-
if file.status == .processing || file.status == .restoring {
256-
ProgressView()
257-
.scaleEffect(0.7)
258-
} else if file.status == .completed, let outputPath = file.outputPath {
272+
if file.status == .completed, let outputPath = file.outputPath {
259273
Button {
260274
NSWorkspace.shared.selectFile(outputPath, inFileViewerRootedAtPath: "")
261275
} label: {

0 commit comments

Comments
 (0)