Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions iBurn/Appearance.swift
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,11 @@ extension Appearance {
}

@objc public static func applyNavigationBarAppearance(_ navBar: UINavigationBar, colors: BRCImageColors, animated: Bool) {
if #available(iOS 26, *) {
// iOS 26: let system Liquid Glass handle nav bar appearance
navBar.tintColor = colors.primaryColor
return
}
let appearance = makeNavigationBarAppearance(colors: colors)
let applyTheme = {
navBar.standardAppearance = appearance
Expand Down
14 changes: 9 additions & 5 deletions iBurn/Detail/Controllers/DetailHostingController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -73,11 +73,13 @@ class DetailHostingController: UIHostingController<DetailView>, DynamicViewContr

override func viewDidLoad() {
super.viewDidLoad()

// Configure navigation bar appearance
}

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
setupNavigationBarAppearance()
}

override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()

Expand Down Expand Up @@ -107,7 +109,9 @@ class DetailHostingController: UIHostingController<DetailView>, DynamicViewContr
}

private func setupNavigationBarAppearance() {
// This can be customized based on existing app theming
// For now, use default appearance
if #available(iOS 26, *) {
// Transparent nav bar for Liquid Glass effect
navigationController?.navigationBar.isTranslucent = true
}
}
}
12 changes: 12 additions & 0 deletions iBurn/Detail/Views/DetailView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ struct DetailView: View {
.background(backgroundColor)
.navigationBarTitleDisplayMode(.inline)
.navigationTitle(viewModel.title)
.modifier(TransparentNavBarModifier())
.sheet(isPresented: imageViewerBinding) {
if let selected = viewModel.selectedImage {
ImageViewerSheet(image: selected)
Expand Down Expand Up @@ -786,6 +787,17 @@ struct DetailVisitStatusCell: View {
}
}

/// Hides the navigation bar background on iOS 26+ for Liquid Glass transparency.
private struct TransparentNavBarModifier: ViewModifier {
func body(content: Content) -> some View {
if #available(iOS 26, *) {
content.toolbarBackgroundVisibility(.hidden, for: .navigationBar)
} else {
content
}
}
}

struct DetailViewHistoryCell: View {
let firstViewed: Date?
let lastViewed: Date?
Expand Down
6 changes: 5 additions & 1 deletion iBurn/PageViewManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,11 @@ import EventKitUI

pageVC.delegate = self
pageVC.dataSource = self
navBar?.isTranslucent = false
if #available(iOS 26, *) {
// Let iOS 26 Liquid Glass handle nav bar transparency
} else {
navBar?.isTranslucent = false
}
navBar?.setColorTheme(colors, animated: false)
pageVC.setViewControllers([detailVC], direction: .forward, animated: false, completion: nil)
// Navigation item forwarding is now handled automatically by DetailPageViewController
Expand Down
Loading