Skip to content
This repository has been archived by the owner on Aug 23, 2022. It is now read-only.

Commit

Permalink
Fixed Toggle Switch Bug
Browse files Browse the repository at this point in the history
  • Loading branch information
josiahdowdy committed Jan 11, 2022
1 parent 1dab90b commit 86a7486
Show file tree
Hide file tree
Showing 7 changed files with 155 additions and 310 deletions.
22 changes: 20 additions & 2 deletions Art_Athlete/Views/Buttons/ToggleSwitch.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,29 @@
import SwiftUI

struct toggleSwitch: View {
@EnvironmentObject var prefs: GlobalVariables

@AppStorage("isRandom") var isRandom = true

var body: some View {
Toggle("Random Order", isOn: $isRandom)
if !(UIDevice.current.userInterfaceIdiom == .mac) {
Toggle("Random Order", isOn: $isRandom)
} else {
Button {
isRandom.toggle()
} label: {
HStack {
Image(systemName: isRandom ? "checkmark.square" : "square")
Text("Random Order")
}




}
}



}
}

Expand Down
10 changes: 6 additions & 4 deletions Art_Athlete/Views/MainViews/Bottom/NavBar.swift
Original file line number Diff line number Diff line change
Expand Up @@ -171,13 +171,11 @@ struct NavBar: View {

//MARK: - FUNCTIONS
func endSession(){
//TimerView(timeObject: _timeObject, prefs: _prefs)
TimerView(prefs: _prefs).updateAtEndOfSession(timeChosen: prefs.timeChosen, context: context) // timeObject: _timeObject,
pause = false
self.prefs.endSessionBool.toggle()
prefs.disableSkip.toggle()
TimerView(prefs: _prefs).stopTimer()
//TimerView(timeObject: _timeObject, prefs: _prefs).stopTimer()
prefs.randomImages.photoArray.removeAll()
prefs.currentIndex = 0
prefs.poseCount = 0
Expand All @@ -186,9 +184,13 @@ struct NavBar: View {
prefs.localPhotos = false
prefs.arrayOfURLStrings.removeAll()
prefs.arrayOfFolderNames.removeAll()

prefs.startSession = false
// persistenceController.save()

///Time management.
prefs.currentTime = 0
prefs.timeDouble = 0.0
prefs.progressValue = 0.0
prefs.startTime = Date()

prefs.isTimerRunning = false
persistenceController.save()
Expand Down
8 changes: 8 additions & 0 deletions Art_Athlete/Views/MainViews/Bottom/SettingsSlideCard.swift
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ struct ArtAthleteSettings : View {
Form() {
Section(header: Text("Options")) {
toggleSwitch()


startTutorial()
}

Expand Down Expand Up @@ -89,6 +91,12 @@ struct ArtAthleteSettings : View {
// Did finish action
}
}

Button {
openURL(URL(string: "https://www.apple.com")!)
} label: {
Text("Visit Website")
}
} //.foregroundColor(currentDarkLightMode == .dark ? Color.white : Color.black)
} //End form
.frame(maxWidth: .infinity)
Expand Down
51 changes: 23 additions & 28 deletions Art_Athlete/Views/MainViews/Bottom/TimerView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,11 @@ import SwiftUI
import CoreData

struct TimerView: View{
//@EnvironmentObject var timeObject: TimerObject
@EnvironmentObject var prefs: GlobalVariables
let persistenceController = PersistenceController.shared
@Environment(\.managedObjectContext) var context
// NSManagedObjectContext

@FetchRequest(
entity: UserData.entity(), sortDescriptors: []
//sortDescriptors: [NSSortDescriptor(keyPath: \UserData.countPoses, ascending: true)]
)
var userDataFetched : FetchedResults<UserData>
@FetchRequest( entity: UserData.entity(), sortDescriptors: [] ) var userDataFetched : FetchedResults<UserData>

//@State var userData = UserData()

Expand All @@ -25,8 +19,6 @@ struct TimerView: View{
@State private var isActive = true

//@State var userDataObject = UserData() //(context: context)

//@State var userDataObject = UserData()//UserData(context: context)
//-------------END VARIABLES------------------------------------------------------------


Expand Down Expand Up @@ -61,7 +53,9 @@ struct TimerView: View{
} else {
prefs.poseCount += 1
prefs.timeDrawn += Int16(prefs.timeChosen)
updateAtEndOfSession(timeChosen: prefs.timeChosen, context: context) //Only done at end of session. And called when quit.
updateAtEndOfSession(timeChosen: prefs.timeChosen, context: context)

//Only done at end of session. And called when quit.
endSession()
} //End else
} //End else if
Expand All @@ -85,7 +79,7 @@ struct TimerView: View{
prefs.currentIndex += 1
prefs.sURL = prefs.arrayOfURLStrings[self.prefs.currentIndex]
prefs.poseCount += 1
prefs.timeDrawn += Int16(prefs.timeChosen)
prefs.timeDrawn += Int16(prefs.timeChosen) //MARK: *
//self.countPoses += 1
//self.timeDrawn += Int16(timeObject.timeChosen)
}
Expand Down Expand Up @@ -114,24 +108,25 @@ struct TimerView: View{
func updateAtEndOfSession(timeChosen: Double, context: NSManagedObjectContext){ //NSManagedObjectContext
//self.countPoses += 1
//self.timeDrawn += Int16(timeChosen)

let userData = UserData(context: context)
userData.date = Date()
userData.id = UUID()
userData.countPoses = prefs.poseCount
userData.timeDrawn = prefs.timeDrawn

// userDataFetched[userDataFetched.count - 1].countPoses += 1

do{
try context.save()
}
catch{
alertMsg = error.localizedDescription
showAlert.toggle()
print("JD500 error")
if (prefs.poseCount > 0) {
let userData = UserData(context: context)
userData.date = Date()
userData.id = UUID()
userData.countPoses = prefs.poseCount
userData.timeDrawn = prefs.timeDrawn

// userDataFetched[userDataFetched.count - 1].countPoses += 1

do{
try context.save()
}
catch{
alertMsg = error.localizedDescription
showAlert.toggle()
print("JD500 error")
}
print("JD500: Saved user data.")
}
print("JD500: Saved user data.")
}

// private func createUserData() {
Expand Down
99 changes: 4 additions & 95 deletions Art_Athlete/Views/MainViews/ContentView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -6,69 +6,15 @@ import SlideOverCard
//import Files

struct ContentView: View {
@ObservedObject var prefs = GlobalVariables()
//@StateObject var timeObject = TimerObject() //@ObservedObject
//@StateObject var userObject = UserObject()
// @StateObject var homeData = HomeViewModel()



@Environment(\.colorScheme) var currentDarkLightMode
@EnvironmentObject var prefs: GlobalVariables
@Environment(\.managedObjectContext) var context
//@Environment(\.scenePhase) var scenePhase
let persistenceController = PersistenceController.shared

// @EnvironmentObject var prefs: GlobalVariables
// @EnvironmentObject var timeObject: TimerObject
// @EnvironmentObject var homeData: HomeViewModel

@State var isImporting: Bool = false
@State var isSettingsPresented = false

@State var pause = false

@State var url : URL = URL(fileURLWithPath: "nil")
// @State var testUrlResourceKey = Set<URLResourceKey>() //FIXME: Not sure how to use this yet...

//Settings vars.
@State var notifyMeAbout : Bool = true
@State var playNotificationSounds : Bool = false
@State var profileImageSize : Bool = true
@State var sendReadReceipts : Bool = true

@FetchRequest(entity: UserData.entity(), sortDescriptors: []) var userData: FetchedResults<UserData>

@State var startSession = false

@AppStorage("isFirstLaunch") public var isFirstLaunch = true

// var assetImages: [UIImage] = [
// UIImage(named: "dance.jpeg")!,
// UIImage(named: "jump.jpeg")!,
// UIImage(named: "standing.jpeg")!,
// UIImage(named: "dance2.jpeg")!,
// UIImage(named: "couple.jpeg")!
// ]
//
// var imageNames: [String] = [
// "dance.jpeg",
// "jump.jpeg",
// "standing.jpeg",
// "dance2.jpeg",
// "couple.jpeg"
// ]


init() {
// isFirstLaunch = true //For debugging.
print("JD00: First time launching. [Content View] → \(isFirstLaunch)")
if (isFirstLaunch) {
createFolder()
isFirstLaunch = false
@State var startSession = false

// prefs.objectWillChange
}
}
//init() { print("JD00: [Content View]") }
/*.~"~._.~"~._.~"~._.~"~._.~"~._.~"~._.~"~._.~"~._.~"~._.~"~.*/

//MARK: - UI
Expand All @@ -80,12 +26,9 @@ struct ContentView: View {
ZStack(alignment: Alignment.top) {
if (prefs.introIsFinished) {
if (!prefs.startSession) {
HomeScreenButtonsView() //homeData: homeData
// .environmentObject(homeData)
HomeScreenButtonsView()
.environmentObject(prefs)
//.environmentObject(timeObject)
.environment(\.managedObjectContext, persistenceController.container!.viewContext)
//.environmentObject(sharedData)
.frame(maxWidth: .infinity, maxHeight: .infinity)
// .transition(AnyTransition.move(edge: .leading)).animation(.default)
}
Expand All @@ -107,41 +50,7 @@ struct ContentView: View {
} //End View
/*.~"~._.~"~._.~"~._.~"~._.~"~._.~"~._.~"~._.~"~._.~"~._.~"~.*/
//MARK: FUNCTIONS
func createFolder() {
let documentsPath = NSURL(fileURLWithPath: NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0])
let logsPath = documentsPath.appendingPathComponent("Poses")
let docURL = URL(fileURLWithPath: documentsPath.path!)

let poseImages: [UIImage] = [
UIImage(named: "dance.jpeg")!,
UIImage(named: "jump.jpeg")!,
UIImage(named: "standing.jpeg")!,
UIImage(named: "dance2.jpeg")!,
UIImage(named: "couple.jpeg")!
]

let poseNames: [String] = [
"dance.jpeg",
"jump.jpeg",
"standing.jpeg",
"dance2.jpeg",
"couple.jpeg"
]

do {
try FileManager.default.createDirectory(atPath: logsPath!.path, withIntermediateDirectories: true, attributes: nil)

for i in 0...(poseImages.count-1) {
prefs.countingTest += 1
print("JD00: \(prefs.countingTest)")
let dataPath = docURL.appendingPathComponent("Poses/\(poseNames[i])")
let data = poseImages[i].jpegData(compressionQuality: 1.0)
try data!.write(to: dataPath)
}
} catch let error as NSError {
print(error)
}
}
} //End Struct.

//struct ContentView_Previews: PreviewProvider {
Expand Down
8 changes: 3 additions & 5 deletions Art_Athlete/Views/MainViews/HomeScreenButtonsView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,7 @@ struct HomeScreenButtonsView: View {
\`@_@'/ ))
{_:Y:.}_//
----------{_}^-'{_}----------*/
init() {
print("JD00 → ***************** 2. HomeScreenButtonsView ")
}
//init() { print("JD00 → ***************** 2. HomeScreenButtonsView ") }

//MARK: - VIEW
var body: some View {
Expand Down Expand Up @@ -128,8 +126,8 @@ struct HomeScreenButtonsView: View {
} // End if.
} //NavigationView
.onAppear(perform:
createFolder
//scanAllFolders
// createFolder
scanAllFolders
)
} //End UI.

Expand Down
Loading

0 comments on commit 86a7486

Please sign in to comment.