summaryrefslogtreecommitdiff
path: root/Hutch/Views/Repositories
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-04-20 13:04:57 -0500
committerChristian Cleberg <[email protected]>2026-04-20 13:04:57 -0500
commit8b73fd9cd43753b36b3ab3ca5e4dc83a47ea3480 (patch)
tree25658dbdc28775764f5745576c240efd38fd4685 /Hutch/Views/Repositories
parentd29fbef60abdffaee190b758530dde9212745ed2 (diff)
downloadhutch-8b73fd9cd43753b36b3ab3ca5e4dc83a47ea3480.tar.gz
hutch-8b73fd9cd43753b36b3ab3ca5e4dc83a47ea3480.tar.bz2
hutch-8b73fd9cd43753b36b3ab3ca5e4dc83a47ea3480.zip
fix: add mark all read actions and avoid resending unchanged repo metadata
Diffstat (limited to 'Hutch/Views/Repositories')
-rw-r--r--Hutch/Views/Repositories/RepositorySettingsViewModel.swift19
1 files changed, 15 insertions, 4 deletions
diff --git a/Hutch/Views/Repositories/RepositorySettingsViewModel.swift b/Hutch/Views/Repositories/RepositorySettingsViewModel.swift
index 6233bec..6ad6a78 100644
--- a/Hutch/Views/Repositories/RepositorySettingsViewModel.swift
+++ b/Hutch/Views/Repositories/RepositorySettingsViewModel.swift
@@ -166,10 +166,7 @@ final class RepositorySettingsViewModel {
defer { isSavingMetadata = false }
error = nil
- let input: [String: any Sendable] = [
- "name": normalizedEditedName,
- "description": normalizedEditedDescription
- ]
+ let input = metadataInputForSave()
do {
return try await updateRepository(with: input)
@@ -295,4 +292,18 @@ final class RepositorySettingsViewModel {
RepositorySummary.displayBranchName(for: $0.name) == normalizedEditedHead
}?.name
}
+
+ func metadataInputForSave() -> [String: any Sendable] {
+ var input: [String: any Sendable] = [:]
+
+ if normalizedEditedName != repository.name {
+ input["name"] = normalizedEditedName
+ }
+
+ if normalizedEditedDescription != (repository.description ?? "") {
+ input["description"] = normalizedEditedDescription.isEmpty ? Optional<String>.none as String? : normalizedEditedDescription
+ }
+
+ return input
+ }
}