Files
QuickDrop/QuickDropiOS/View/LocalNetworkPermissionView.swift
T

53 lines
1.6 KiB
Swift

//
// LocalNetworkPermissionView.swift
// QuickDrop
//
// Created by Leon Böttger on 15.11.25.
//
import SwiftUI
import LUI
public struct LocalNetworkPermissionView: View {
@State var requestedLocalNetworkAccess = false
@Environment(\.scenePhase) var scenePhase
public var body: some View {
PermissionView(title: "introduction_local_network_access", symbol: "", subtitle: "introduction_local_network_access_description", permissionAction: {
if requestedLocalNetworkAccess {
// Something went wrong, user pressed again on continue. In this case, just continue with setup
IntroductionViewController.sharedInstance.canProceed = true
}
else {
// init manager to force local network access prompt
requestedLocalNetworkAccess = true
let manager = NearbyConnectionManager.shared
manager.startDeviceDiscovery()
}
}, canSkip: false, nextView: {
IntroductionDoneView()
}, nextViewSkip: {}, frontMockup: {
AppMockupFrontView()
}, backMockup: {
SymbolMockupView(symbol: "globe")
})
.onChange(of: scenePhase) { newValue in
// alert was removed from screen, app is foreground again -> continue with intro
if newValue == .active && requestedLocalNetworkAccess {
IntroductionViewController.sharedInstance.canProceed = true
}
}
}
}
#Preview {
NavigationView {
LocalNetworkPermissionView()
}
}