summaryrefslogtreecommitdiffhomepage
path: root/ios/MullvadVPN/Containers/Root/UIHostingRootController.swift
blob: 15e98c66bc409bcf0db913c2316b2c138d86a66f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//
//  UIHostingRootController.swift
//  MullvadVPN
//
//  Created by Marco Nikic on 2025-06-09.
//  Copyright © 2025 Mullvad VPN AB. All rights reserved.
//

import Foundation
import SwiftUI

@MainActor
public final class UIHostingRootController<Content: View>: UIHostingController<Content>, RootContainment {
    let preferredHeaderBarPresentation: HeaderBarPresentation
    let prefersHeaderBarHidden: Bool
    let prefersDeviceInfoBarHidden: Bool

    init(
        preferredHeaderBarPresentation: HeaderBarPresentation =
            HeaderBarPresentation(style: .default, showsDivider: false),
        prefersHeaderBarHidden: Bool = false,
        prefersDeviceInfoBarHidden: Bool = true,
        rootView: Content
    ) {
        self.preferredHeaderBarPresentation = preferredHeaderBarPresentation
        self.prefersHeaderBarHidden = prefersHeaderBarHidden
        self.prefersDeviceInfoBarHidden = prefersDeviceInfoBarHidden
        super.init(rootView: rootView)
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}