Added the current update

This commit is contained in:
SerenityUX 2023-04-29 20:28:48 -04:00
parent 42590eaf00
commit 55c0957511
5 changed files with 99 additions and 29 deletions

View file

@ -30,8 +30,5 @@ struct PermissionView: View {
VStack {
Text(verbatim: "Status is \(configuration.status)")
}
.onAppear {
configuration.update()
}
}
}

View file

@ -1,13 +1,14 @@
import SwiftUI
struct ContentView: View {
@State private var connectedHackClubNetwork = false
@ObservedObject var viewModel = NetworkConfiguration()
var body: some View {
VStack(alignment: .leading) {
HStack {
Text("Networks")
Text(verbatim: "Networks \(viewModel.model.status)")
.font(.title3)
Spacer()
Image(systemName: "badge.plus.radiowaves.forward")
@ -21,10 +22,30 @@ struct ContentView: View {
.padding(.top, 2)
.font(.subheadline.weight(.bold))
HStack {
Image("hackClubLogo")
.resizable()
.frame(width: 32, height: 32)
.cornerRadius(100)
if (viewModel.status == .unknown) {
Image("hackClubLogo")
.resizable()
.frame(width: 32, height: 32)
.cornerRadius(100).onTapGesture {
viewModel.connectToBurrow()
print(viewModel.status)
}
} else if (viewModel.status == .loading) {
ZStack {
Image("hackClubLogo")
.resizable()
.frame(width: 32, height: 32)
.cornerRadius(100)
.overlay(Color.white.opacity(0.6).cornerRadius(100))
ProgressView()
.progressViewStyle(CircularProgressViewStyle())
.scaleEffect(0.6)
}
}
VStack(alignment: .leading) {
Text("Hack Club Network")
@ -35,7 +56,7 @@ struct ContentView: View {
.font(.caption2)
.foregroundColor(.blue)
}.onTapGesture {
connectedHackClubNetwork = true
print(true)
}
}
}

42
Apple/App/Model.swift Normal file
View file

@ -0,0 +1,42 @@
//
// MemoryGame.swift
// Memorize
//
// Created by Thomas Stubblefield on 3/12/23.
//
import Foundation
struct Model {
var status: Status = .unknown
mutating func connectToBurrow() {
print("let's get this working")
status = .valid
print(status)
}
}
enum Status: CustomStringConvertible {
case unknown
case blank
case valid
case error
case loading
var description: String {
switch self {
case .unknown:
return "Unknown"
case .blank:
return "Blank"
case .valid:
return "Valid"
case .loading:
return "Loading"
default:
return "Default"
}
}
}

View file

@ -3,26 +3,13 @@ import NetworkExtension
@MainActor
class NetworkConfiguration: ObservableObject {
enum Status: CustomStringConvertible {
case unknown
case blank
case valid
case error
var description: String {
switch self {
case .unknown:
return "Unknown"
case .blank:
return "Blank"
case .valid:
return "Valid"
default:
return "Default"
}
}
func connectToBurrow() {
objectWillChange.send()
model.connectToBurrow()
}
@Published var model = Model()
@Published
var status: Status = .unknown
@ -32,6 +19,25 @@ class NetworkConfiguration: ObservableObject {
}
func connectToNetwork() {
print(self.status)
self.status = .loading
print(self.status)
DispatchQueue.main.asyncAfter(deadline: .now() + 3) {
let random = Int.random(in: 0...1)
if random == 0 {
self.status = .valid
print(self.status)
} else {
self.status = .error
print(self.status)
}
}
}
func update() {
Task {
do {