diff options
| author | Christian Cleberg <[email protected]> | 2026-04-01 22:51:32 -0500 |
|---|---|---|
| committer | Christian Cleberg <[email protected]> | 2026-04-01 22:51:32 -0500 |
| commit | 6e353462032937548e9661b85e97693d75e4f0bf (patch) | |
| tree | 63552736564026e6158013039ca3ea10fd2d060c /Hutch/Views/Repositories | |
| parent | 7cc3e14f235a3c3e6719271116e49865c82c15da (diff) | |
| download | hutch-6e353462032937548e9661b85e97693d75e4f0bf.tar.gz hutch-6e353462032937548e9661b85e97693d75e4f0bf.tar.bz2 hutch-6e353462032937548e9661b85e97693d75e4f0bf.zip | |
add confirmation to repo rename
Diffstat (limited to 'Hutch/Views/Repositories')
| -rw-r--r-- | Hutch/Views/Repositories/RepositorySettingsView.swift | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/Hutch/Views/Repositories/RepositorySettingsView.swift b/Hutch/Views/Repositories/RepositorySettingsView.swift index ff72335..aca2ff9 100644 --- a/Hutch/Views/Repositories/RepositorySettingsView.swift +++ b/Hutch/Views/Repositories/RepositorySettingsView.swift @@ -10,6 +10,7 @@ struct RepositorySettingsView: View { @Environment(\.dismiss) private var dismiss @State private var viewModel: RepositorySettingsViewModel? @State private var showDeleteConfirmation = false + @State private var showRenameConfirmation = false @State private var pendingACLDeletion: ACLEntry? @State private var saveResultAlert: SaveResultAlert? @@ -55,6 +56,25 @@ struct RepositorySettingsView: View { } .srhtErrorBanner(error: $vm.error) .alert( + "Rename repository to \(viewModel.editedName.trimmingCharacters(in: .whitespacesAndNewlines))?", + isPresented: $showRenameConfirmation + ) { + Button("Cancel", role: .cancel) { + // Alert dismissal is implicit; no additional action required. + } + Button("Rename", role: .destructive) { + Task { + await viewModel.rename() + if let newName = viewModel.updatedName { + onRenamed(newName) + dismiss() + } + } + } + } message: { + Text("This will change the repository URL. Existing clones will be redirected but links may break.") + } + .alert( "Permanently delete \(repository.owner.canonicalName)/\(repository.name)?", isPresented: $showDeleteConfirmation ) { @@ -168,13 +188,7 @@ struct RepositorySettingsView: View { .foregroundStyle(.secondary) Button { - Task { - await viewModel.rename() - if let newName = viewModel.updatedName { - onRenamed(newName) - dismiss() - } - } + showRenameConfirmation = true } label: { if viewModel.isRenaming { ProgressView() |
