Merge spinner + swipeable PR sections; bump to 3.1
Build iOS App / Build .ipa and publish source (push) Successful in 25s
Build iOS App / Build .ipa and publish source (push) Successful in 25s
- MergeSheet: show a spinner in the toolbar while the merge is confirming/ rejecting, lock Cancel and interactive dismissal during the request, and prevent double-taps. - PR detail: replace the ScrollView-switch with a page-style TabView so you can swipe left/right to change sections (iOS 26 style); bottom bar taps still select. Make DetailTab Hashable. Bump to 3.1.
This commit is contained in:
1 parent
2301b8a861
commit
ed36ed72de
3 files changed
+36
-16
No files matched your search
@@ -11,7 +11,7 @@ struct PRDetailView: View {
|
||||
@State private var requestChangesMode = false
|
||||
@State private var showMergeSuccess = false
|
||||
|
||||
enum DetailTab: String, CaseIterable, Identifiable {
|
||||
enum DetailTab: String, CaseIterable, Identifiable, Hashable {
|
||||
case overview = "Overview"
|
||||
case conversation = "Conversation"
|
||||
case files = "Files"
|
||||
@@ -103,14 +103,20 @@ struct PRDetailView: View {
|
||||
VStack(spacing: 0) {
|
||||
header(pr)
|
||||
|
||||
ScrollView {
|
||||
switch selectedTab {
|
||||
case .overview: OverviewTab(pr: pr)
|
||||
case .conversation: ConversationTab(vm: vm)
|
||||
case .files: FilesTab(vm: vm)
|
||||
case .checks: ChecksTab(vm: vm, onRerun: { showRerunConfirm = $0 })
|
||||
}
|
||||
// Page-style TabView gives iOS-native swipe-to-change between
|
||||
// sections (matching iOS 26), while the bottom bar taps select.
|
||||
TabView(selection: $selectedTab) {
|
||||
OverviewTab(pr: pr)
|
||||
.tag(DetailTab.overview)
|
||||
ConversationTab(vm: vm)
|
||||
.tag(DetailTab.conversation)
|
||||
FilesTab(vm: vm)
|
||||
.tag(DetailTab.files)
|
||||
ChecksTab(vm: vm, onRerun: { showRerunConfirm = $0 })
|
||||
.tag(DetailTab.checks)
|
||||
}
|
||||
.tabViewStyle(.page(indexDisplayMode: .never))
|
||||
.ignoresSafeArea(edges: .bottom)
|
||||
|
||||
bottomTabBar
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user