diff options
| author | Dustin Mierau <dustin@mierau.me> | 2025-10-23 12:11:22 -0700 |
|---|---|---|
| committer | Dustin Mierau <dustin@mierau.me> | 2025-10-23 12:11:22 -0700 |
| commit | 2df678753e2e6fe309de6b546925540f89e3d680 (patch) | |
| tree | bdfe6a7bbab72bd3a616583b96e1c6aa41a869bc /Hotline/Models/FileInfo.swift | |
| parent | 5b4d615792a951979ff79506657e8407d2a48016 (diff) | |
Add a basic file cache that gets searched over first. TTL on entries. Force clear cache but holding shift+enter to search. Don't cache upload/dropbox folders. Don't search in .app folders.
Diffstat (limited to 'Hotline/Models/FileInfo.swift')
| -rw-r--r-- | Hotline/Models/FileInfo.swift | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/Hotline/Models/FileInfo.swift b/Hotline/Models/FileInfo.swift index 2da7378..62ec831 100644 --- a/Hotline/Models/FileInfo.swift +++ b/Hotline/Models/FileInfo.swift @@ -15,18 +15,36 @@ import UniformTypeIdentifiers let isUnavailable: Bool var isDropboxFolder: Bool { - guard self.isFolder, - (self.name.range(of: "upload", options: [.caseInsensitive]) != nil) || (self.name.range(of: "drop box", options: [.caseInsensitive]) != nil) - else { + guard self.isFolder else { return false } - return true + + if self.name.range(of: "upload", options: [.caseInsensitive]) != nil { + return true + } + + if self.name.range(of: "dropbox", options: [.caseInsensitive]) != nil { + return true + } + + if self.name.range(of: "drop box", options: [.caseInsensitive]) != nil { + return true + } + + return false } var isAdminDropboxFolder: Bool { self.isDropboxFolder && (self.name.range(of: "admin", options: [.caseInsensitive]) != nil) } + var isAppBundle: Bool { + guard self.isFolder else { + return false + } + return self.name.lowercased().hasSuffix(".app") + } + var expanded: Bool = false var children: [FileInfo]? = nil |