summaryrefslogtreecommitdiff
path: root/Hutch/Views/Repositories/FileTreeViewModel.swift
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-03-18 20:23:58 -0500
committerChristian Cleberg <[email protected]>2026-03-18 20:23:58 -0500
commitc41cd437acde4e4f4c0781cebd4d5f4bf9517bb9 (patch)
tree28bf13b89e36774720d015a26a8979b567ad0be9 /Hutch/Views/Repositories/FileTreeViewModel.swift
parent1745311950fd68ad81957b3ba64f8566cd86ce19 (diff)
parent4dd920558a1c7174c0e9a5b872325df36e363516 (diff)
downloadhutch-c41cd437acde4e4f4c0781cebd4d5f4bf9517bb9.tar.gz
hutch-c41cd437acde4e4f4c0781cebd4d5f4bf9517bb9.tar.bz2
hutch-c41cd437acde4e4f4c0781cebd4d5f4bf9517bb9.zip
v1.2: Merge branch 'dev'
Diffstat (limited to 'Hutch/Views/Repositories/FileTreeViewModel.swift')
-rw-r--r--Hutch/Views/Repositories/FileTreeViewModel.swift24
1 files changed, 14 insertions, 10 deletions
diff --git a/Hutch/Views/Repositories/FileTreeViewModel.swift b/Hutch/Views/Repositories/FileTreeViewModel.swift
index f270779..a9c86b4 100644
--- a/Hutch/Views/Repositories/FileTreeViewModel.swift
+++ b/Hutch/Views/Repositories/FileTreeViewModel.swift
@@ -96,6 +96,7 @@ final class FileTreeViewModel {
mode
object {
type
+ __typename
id
shortId
... on Tree {
@@ -110,12 +111,10 @@ final class FileTreeViewModel {
}
}
... on TextBlob {
- text
size
}
... on BinaryBlob {
size
- content
}
}
}
@@ -142,6 +141,7 @@ final class FileTreeViewModel {
mode
object {
type
+ __typename
id
shortId
... on Tree {
@@ -156,12 +156,10 @@ final class FileTreeViewModel {
}
}
... on TextBlob {
- text
size
}
... on BinaryBlob {
size
- content
}
}
}
@@ -187,6 +185,7 @@ final class FileTreeViewModel {
mode
object {
type
+ __typename
id
shortId
... on Tree {
@@ -201,12 +200,10 @@ final class FileTreeViewModel {
}
}
... on TextBlob {
- text
size
}
... on BinaryBlob {
size
- content
}
}
}
@@ -321,16 +318,23 @@ final class FileTreeViewModel {
// Otherwise fetch the subtree (handles pagination)
await loadSubtree(name: entry.name, treeId: objectSHA)
- case .textBlob:
- viewingEntry = entry
- viewingObject = object
+ case .textBlob(let blob):
+ if blob.text != nil {
+ viewingEntry = entry
+ viewingObject = object
+ } else if let blobId = blob.id {
+ await loadBlob(entry: entry, blobId: blobId)
+ }
case .binaryBlob(let blob):
- if blob.content != nil || blob.size != nil {
+ if blob.content != nil {
viewingEntry = entry
viewingObject = object
} else if let blobId = blob.id {
await loadBlob(entry: entry, blobId: blobId)
+ } else {
+ viewingEntry = entry
+ viewingObject = object
}
case .unknown: