Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
speedyfriend433 authored Jun 30, 2024
1 parent 7126e1d commit a445fdb
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 23 deletions.
30 changes: 15 additions & 15 deletions DirectoryView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -162,21 +162,21 @@ struct DirectoryView: View {
])
}
.sheet(isPresented: $showingAddItemSheet) {
AddItemView(
isPresented: $showingAddItemSheet,
isDirectory: isAddingDirectory,
existingNames: viewModel.items.map { $0.name }
) { name in
if isAddingDirectory {
viewModel.createFolder(named: name)
statusMessage = "Created folder: \(name)"
} else {
viewModel.createFile(named: name)
statusMessage = "Created file: \(name)"
}
showingStatusAlert = true
}
AddItemView(
isPresented: $showingAddItemSheet,
isDirectory: isAddingDirectory,
existingNames: viewModel.items.map { $0.name }
) { name in
if isAddingDirectory {
viewModel.createFolder(named: name)
statusMessage = "Created folder: \(name)"
} else {
viewModel.createFile(named: name)
statusMessage = "Created file: \(name)"
}
showingStatusAlert = true
}
}
.sheet(isPresented: $showingRenameCopySheet) {
RenameCopyView(
newName: $newName,
Expand Down Expand Up @@ -244,7 +244,7 @@ struct DirectoryView: View {
}
} else if item.isDirectory {
DirectoryView(directory: item.url)
} else if item.name.hasSuffix(".txt") {
} else if item.name.hasSuffix(".txt") || item.name.hasSuffix(".zshrc") {
TextFileView(fileURL: item.url)
} else if item.name.hasSuffix(".png") || item.name.hasSuffix(".jpg") || item.name.hasSuffix(".jpeg") || item.name.hasSuffix(".car") || item.name.hasSuffix(".heic") {
ImageFileView(fileURL: item.url)
Expand Down
24 changes: 16 additions & 8 deletions FileManagerViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -213,15 +213,23 @@ class FileManagerViewModel: ObservableObject {
}

func createFile(named fileName: String) {
let fileURL = directory.appendingPathComponent(fileName)
let content = "This is a new file."
do {
try content.write(to: fileURL, atomically: true, encoding: .utf8)
loadFiles()
} catch {
print("Failed to create file: \(error.localizedDescription)")
}
let fileURL = directory.appendingPathComponent(fileName)
let content = "This is a new file."
do {
try content.write(to: fileURL, atomically: true, encoding: .utf8)
// Instead of reloading the files which might cause duplicates, just add the new file to the items array
let resourceValues = try? fileURL.resourceValues(forKeys: [.isDirectoryKey, .fileSizeKey, .creationDateKey, .contentModificationDateKey, .isSymbolicLinkKey])
let fileSize = resourceValues?.fileSize ?? 0
let creationDate = resourceValues?.creationDate ?? Date()
let modificationDate = resourceValues?.contentModificationDate ?? Date()
let newItem = FileSystemItem(name: fileURL.lastPathComponent, isDirectory: false, url: fileURL, size: fileSize, creationDate: creationDate, modificationDate: modificationDate, isSymlink: false)
items.append(newItem)
sortItems()
filterItems()
} catch {
print("Failed to create file: \(error.localizedDescription)")
}
}

func createFolder(named folderName: String) {
let folderURL = directory.appendingPathComponent(folderName)
Expand Down

0 comments on commit a445fdb

Please sign in to comment.