| 123456789101112131415161718192021222324252627282930313233343536373839 |
- // LoopFollow
- // NightscoutContentView.swift
- import SwiftUI
- struct NightscoutContentView: View {
- @ObservedObject private var url = Storage.shared.url
- @ObservedObject private var token = Storage.shared.token
- var body: some View {
- if url.value.isEmpty {
- VStack(spacing: 16) {
- Image(systemName: "network")
- .font(.system(size: 60))
- .foregroundStyle(.secondary)
- Text("Please enter your Nightscout URL in Settings.")
- .foregroundStyle(.secondary)
- .multilineTextAlignment(.center)
- }
- .padding()
- } else {
- NightscoutWebView()
- // NightscoutViewController loads the page once in viewDidLoad,
- // so recreate it when the URL or token changes.
- .id(url.value + "|" + token.value)
- }
- }
- }
- private struct NightscoutWebView: UIViewControllerRepresentable {
- func makeUIViewController(context _: Context) -> NightscoutViewController {
- NightscoutViewController()
- }
- func updateUIViewController(_ uiViewController: NightscoutViewController, context _: Context) {
- uiViewController.overrideUserInterfaceStyle = Storage.shared.appearanceMode.value.userInterfaceStyle
- }
- }
|