Library design: cards + redesigned list on the bookmarks screen, tag picker sheet #9
@@ -122,6 +122,7 @@ struct BookmarksView: View {
|
|||||||
} label: {
|
} label: {
|
||||||
Image(systemName: "sparkles")
|
Image(systemName: "sparkles")
|
||||||
}
|
}
|
||||||
|
.accessibilityLabel("AI actions")
|
||||||
}
|
}
|
||||||
ToolbarItem(placement: .topBarTrailing) {
|
ToolbarItem(placement: .topBarTrailing) {
|
||||||
HStack(spacing: 16) {
|
HStack(spacing: 16) {
|
||||||
@@ -138,6 +139,7 @@ struct BookmarksView: View {
|
|||||||
Button { showAddBookmark = true } label: {
|
Button { showAddBookmark = true } label: {
|
||||||
Image(systemName: "plus")
|
Image(systemName: "plus")
|
||||||
}
|
}
|
||||||
|
.accessibilityLabel("Add bookmark")
|
||||||
Button {
|
Button {
|
||||||
Task { await viewModel.toggleUnreadFilter() }
|
Task { await viewModel.toggleUnreadFilter() }
|
||||||
} label: {
|
} label: {
|
||||||
@@ -146,9 +148,11 @@ struct BookmarksView: View {
|
|||||||
: "line.3.horizontal.decrease.circle")
|
: "line.3.horizontal.decrease.circle")
|
||||||
.contentTransition(.symbolEffect(.replace))
|
.contentTransition(.symbolEffect(.replace))
|
||||||
}
|
}
|
||||||
|
.accessibilityLabel("Unread filter")
|
||||||
Button { showSettings = true } label: {
|
Button { showSettings = true } label: {
|
||||||
Image(systemName: "gearshape")
|
Image(systemName: "gearshape")
|
||||||
}
|
}
|
||||||
|
.accessibilityLabel("Settings")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -131,13 +131,18 @@ enum PaperType {
|
|||||||
|
|
||||||
extension View {
|
extension View {
|
||||||
/// Puts a screen on the paper ground: clears the system list/scroll
|
/// Puts a screen on the paper ground: clears the system list/scroll
|
||||||
/// background so the sheet shows through, and tints the bar to match so a
|
/// background so the sheet shows through, and lets the paper reach past the
|
||||||
/// large title doesn't sit on a white strip above the content.
|
/// safe area so the bar sits on it.
|
||||||
|
///
|
||||||
|
/// Deliberately no `.toolbarBackground` — setting it makes SwiftUI build a
|
||||||
|
/// fresh UINavigationBarAppearance and throw away the one PaperAppearance
|
||||||
|
/// installed, which silently reverted these screens' titles to the system
|
||||||
|
/// bold sans. The bar is transparent by appearance, so the background
|
||||||
|
/// below is all it needs.
|
||||||
func paperSurface() -> some View {
|
func paperSurface() -> some View {
|
||||||
self
|
self
|
||||||
.scrollContentBackground(.hidden)
|
.scrollContentBackground(.hidden)
|
||||||
.background(Paper.sheet.ignoresSafeArea())
|
.background(Paper.sheet.ignoresSafeArea())
|
||||||
.toolbarBackground(Paper.sheet, for: .navigationBar)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Editable text. Monospaced, because in this design anything you type is
|
/// Editable text. Monospaced, because in this design anything you type is
|
||||||
|
|||||||
Reference in New Issue
Block a user