2024-12-10 15:21:28 +01:00

46 lines
1.3 KiB
Swift

import SwiftUI
import SFSafeSymbols
struct FileToAddView: View {
@ObservedObject
var file: FileToAdd
let delete: (FileToAdd) -> Void
var body: some View {
VStack(alignment: .leading) {
HStack {
Image(systemSymbol: file.isSelected ? .checkmarkCircleFill : .circle)
.resizable()
.frame(width: 20, height: 20)
.foregroundStyle(.blue)
.onTapGesture {
file.isSelected.toggle()
}
Image(systemSymbol: .trashCircleFill)
.resizable()
.frame(width: 20, height: 20)
.foregroundStyle(.red)
.onTapGesture {
delete(file)
}
TextField("", text: $file.uniqueId)
.textFieldStyle(.roundedBorder)
.frame(maxWidth: 200)
}
Text(file.url?.path() ?? "Placeholder file")
.foregroundStyle(.secondary)
}
}
}
#Preview {
List {
FileToAddView(file: .init(content: .mock, url: URL(fileURLWithPath: "/path/to/file.swift")), delete: { _ in })
FileToAddView(file: .init(content: .mock, url: URL(fileURLWithPath: "/path/to/file2.swift")), delete: { _ in })
}
}