Skip to content

Commit 4a3434c

Browse files
committed
fix: pagination bar — use safeAreaInset instead of broken bottomBar toolbar
1 parent 1c9488f commit 4a3434c

1 file changed

Lines changed: 24 additions & 22 deletions

File tree

TableProMobile/TableProMobile/Views/DataBrowserView.swift

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,6 @@ struct DataBrowserView: View {
7676
.navigationTitle(table.name)
7777
.navigationBarTitleDisplayMode(.inline)
7878
.toolbar {
79-
ToolbarItem(placement: .status) {
80-
Text(verbatim: paginationLabel)
81-
.font(.caption)
82-
.foregroundStyle(.secondary)
83-
}
8479
ToolbarItem(placement: .topBarTrailing) {
8580
NavigationLink {
8681
StructureView(
@@ -101,28 +96,35 @@ struct DataBrowserView: View {
10196
}
10297
}
10398
}
104-
ToolbarItemGroup(placement: .bottomBar) {
105-
Button {
106-
Task { await goToPreviousPage() }
107-
} label: {
108-
Image(systemName: "chevron.left")
109-
}
110-
.disabled(pagination.currentPage == 0 || isLoading)
99+
}
100+
.safeAreaInset(edge: .bottom) {
101+
if !rows.isEmpty {
102+
HStack {
103+
Button {
104+
Task { await goToPreviousPage() }
105+
} label: {
106+
Image(systemName: "chevron.left")
107+
}
108+
.disabled(pagination.currentPage == 0 || isLoading)
111109

112-
Spacer()
110+
Spacer()
113111

114-
Text(paginationLabel)
115-
.font(.caption)
116-
.foregroundStyle(.secondary)
112+
Text(paginationLabel)
113+
.font(.footnote)
114+
.foregroundStyle(.secondary)
117115

118-
Spacer()
116+
Spacer()
119117

120-
Button {
121-
Task { await goToNextPage() }
122-
} label: {
123-
Image(systemName: "chevron.right")
118+
Button {
119+
Task { await goToNextPage() }
120+
} label: {
121+
Image(systemName: "chevron.right")
122+
}
123+
.disabled(!pagination.hasNextPage || isLoading)
124124
}
125-
.disabled(!pagination.hasNextPage || isLoading)
125+
.padding(.horizontal)
126+
.padding(.vertical, 10)
127+
.background(.bar)
126128
}
127129
}
128130
.task { await loadData(isInitial: true) }

0 commit comments

Comments
 (0)