From d496032e1278433a37bb317341fd2d6c2e7dca89 Mon Sep 17 00:00:00 2001 From: gibbyb Date: Fri, 19 Jul 2024 08:11:18 -0500 Subject: [PATCH] Fix bugs. Move api key to .env file --- Tech Tracker.xcodeproj/project.pbxproj | 10 +- .../UserInterfaceState.xcuserstate | Bin 33820 -> 35221 bytes .../xcschemes/Tech Tracker.xcscheme | 109 ++++++++++++++++++ .../xcschemes/xcschememanagement.plist | 18 +++ Tech Tracker/ContentView.swift | 37 +++--- 5 files changed, 150 insertions(+), 24 deletions(-) create mode 100644 Tech Tracker.xcodeproj/xcshareddata/xcschemes/Tech Tracker.xcscheme diff --git a/Tech Tracker.xcodeproj/project.pbxproj b/Tech Tracker.xcodeproj/project.pbxproj index 9a6f785..690b0bb 100644 --- a/Tech Tracker.xcodeproj/project.pbxproj +++ b/Tech Tracker.xcodeproj/project.pbxproj @@ -201,7 +201,7 @@ attributes = { BuildIndependentTargetsInParallel = 1; LastSwiftUpdateCheck = 1530; - LastUpgradeCheck = 1530; + LastUpgradeCheck = 1600; TargetAttributes = { 03308F3F2BC2035300D59E96 = { CreatedOnToolsVersion = 15.3; @@ -452,7 +452,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 0.2.3; + MARKETING_VERSION = 0.3; PRODUCT_BUNDLE_IDENTIFIER = "GibbyB.Tech-Tracker"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; @@ -487,7 +487,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 0.2.3; + MARKETING_VERSION = 0.3; PRODUCT_BUNDLE_IDENTIFIER = "GibbyB.Tech-Tracker"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; @@ -499,7 +499,6 @@ 03308F682BC2035500D59E96 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; @@ -519,7 +518,6 @@ 03308F692BC2035500D59E96 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; @@ -539,7 +537,6 @@ 03308F6B2BC2035500D59E96 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; GENERATE_INFOPLIST_FILE = YES; @@ -558,7 +555,6 @@ 03308F6C2BC2035500D59E96 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; GENERATE_INFOPLIST_FILE = YES; diff --git a/Tech Tracker.xcodeproj/project.xcworkspace/xcuserdata/gib.xcuserdatad/UserInterfaceState.xcuserstate b/Tech Tracker.xcodeproj/project.xcworkspace/xcuserdata/gib.xcuserdatad/UserInterfaceState.xcuserstate index 6ef5f588b4b0c3526ab96caefd677dcf686c4f2b..292e2d42c50f0788e5985b90feee102c378c4bb6 100644 GIT binary patch literal 35221 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 diff --git a/Tech Tracker.xcodeproj/xcshareddata/xcschemes/Tech Tracker.xcscheme b/Tech Tracker.xcodeproj/xcshareddata/xcschemes/Tech Tracker.xcscheme new file mode 100644 index 0000000..36308c6 --- /dev/null +++ b/Tech Tracker.xcodeproj/xcshareddata/xcschemes/Tech Tracker.xcscheme @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tech Tracker.xcodeproj/xcuserdata/gib.xcuserdatad/xcschemes/xcschememanagement.plist b/Tech Tracker.xcodeproj/xcuserdata/gib.xcuserdatad/xcschemes/xcschememanagement.plist index ffa15c7..ac9df23 100644 --- a/Tech Tracker.xcodeproj/xcuserdata/gib.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Tech Tracker.xcodeproj/xcuserdata/gib.xcuserdatad/xcschemes/xcschememanagement.plist @@ -10,5 +10,23 @@ 0 + SuppressBuildableAutocreation + + 03308F3F2BC2035300D59E96 + + primary + + + 03308F4F2BC2035500D59E96 + + primary + + + 03308F592BC2035500D59E96 + + primary + + + diff --git a/Tech Tracker/ContentView.swift b/Tech Tracker/ContentView.swift index ddcbdc1..936929d 100644 --- a/Tech Tracker/ContentView.swift +++ b/Tech Tracker/ContentView.swift @@ -86,7 +86,7 @@ struct StatusUpdateView: View { .font(.headline) // Make the button text larger .padding() // Add padding around the button text to make the button larger .frame(minWidth: 0, maxWidth: .infinity) // Makes the button expand to full width - .background(Color.accent) // Sets the button background color to blue + .background(Color.accentColor) // Sets the button background color to blue .foregroundColor(.white) // Sets the button text color to white .cornerRadius(10) // Rounds the corners of the button } @@ -102,7 +102,7 @@ struct StatusUpdateView: View { .font(.headline) .padding() .frame(maxWidth: .infinity) - .background(Color.accent) + .background(Color.accentColor) .foregroundColor(.white) .cornerRadius(10) } @@ -115,7 +115,7 @@ struct StatusUpdateView: View { .font(.headline) .padding() .frame(maxWidth: .infinity) - .background(Color.accent) + .background(Color.accentColor) .foregroundColor(.white) .cornerRadius(10) } @@ -129,7 +129,7 @@ struct StatusUpdateView: View { .font(.headline) .padding() .frame(maxWidth: .infinity) - .background(Color.accent) + .background(Color.accentColor) .foregroundColor(.white) .cornerRadius(10) } @@ -142,7 +142,7 @@ struct StatusUpdateView: View { .font(.headline) .padding() .frame(maxWidth: /*@START_MENU_TOKEN@*/.infinity/*@END_MENU_TOKEN@*/) - .background(Color.accent) + .background(Color.accentColor) .foregroundColor(.white) .cornerRadius(10) } @@ -156,7 +156,7 @@ struct StatusUpdateView: View { .font(.headline) .padding() .frame(maxWidth: .infinity) - .background(Color.accent) + .background(Color.accentColor) .foregroundColor(.white) .cornerRadius(10) } @@ -169,7 +169,7 @@ struct StatusUpdateView: View { .font(.headline) .padding() .frame(maxWidth: .infinity) - .background(Color.accent) + .background(Color.accentColor) .foregroundColor(.white) .cornerRadius(10) } @@ -183,7 +183,7 @@ struct StatusUpdateView: View { .font(.headline) .padding() .frame(maxWidth: .infinity) - .background(Color.accent) + .background(Color.accentColor) .foregroundColor(.white) .cornerRadius(10) } @@ -196,7 +196,7 @@ struct StatusUpdateView: View { .font(.headline) .padding() .frame(maxWidth: .infinity) - .background(Color.accent) + .background(Color.accentColor) .foregroundColor(.white) .cornerRadius(10) } @@ -210,7 +210,7 @@ struct StatusUpdateView: View { .font(.headline) .padding() .frame(maxWidth: .infinity) - .background(Color.accent) + .background(Color.accentColor) .foregroundColor(.white) .cornerRadius(10) } @@ -223,7 +223,7 @@ struct StatusUpdateView: View { .font(.headline) .padding() .frame(maxWidth: .infinity) - .background(Color.accent) + .background(Color.accentColor) .foregroundColor(.white) .cornerRadius(10) } @@ -243,9 +243,12 @@ class TechnicianViewModel: ObservableObject { @Published var currentPage = 1 var totalPageCount = 1 + let apiKey = ProcessInfo.processInfo.environment["API_KEY"] ?? "" + // Fetch technicians function for Technicians API func fetchTechnicians() { - let urlString = "https://techtracker.gibbyb.com/api/technicians?apikey=APIKEYHERE" + + let urlString = "https://techtracker.gibbyb.com/api/technicians?apikey=" + apiKey guard let url = URL(string: urlString) else { return } URLSession.shared.dataTask(with: url) { [weak self] data, response, error in @@ -281,7 +284,7 @@ class TechnicianViewModel: ObservableObject { // Update Technician Status function for the Update API func updateTechnicianStatus(name: String, newStatus: String) { - let urlString = "https://techtracker.gibbyb.com/api/update_technicians?apikey=APIKEYHERE" + let urlString = "https://techtracker.gibbyb.com/api/update_technicians?apikey=" + apiKey guard let url = URL(string: urlString) else { return } let updateData = [TechnicianUpdate(name: name, status: newStatus)] @@ -325,7 +328,7 @@ class TechnicianViewModel: ObservableObject { // Fetch Technician History Function for the History API. Very similar to Technician API // but with some added metadata func fetchTechnicianHistory(page: Int = 1) { - let urlString = "https://techtracker.gibbyb.com/api/history?apikey=APIKEYHERE&page=\(page)" + let urlString = "https://techtracker.gibbyb.com/api/history?apikey=" + apiKey + "&page=\(page)" guard let url = URL(string: urlString) else { return } URLSession.shared.dataTask(with: url) { [weak self] data, response, error in @@ -395,10 +398,11 @@ struct ContentView: View { List { ForEach(viewModel.technicians) { technician in Button(action: { - self.showingUpdateView = true + viewModel.fetchTechnicians() self.selectedTechnicianName = technician.name self.selectedTechnicianCurrStatus = technician.status - }) { + self.showingUpdateView = true + }) { HStack { VStack(alignment: .leading, spacing: 5) { Text(technician.name).bold() @@ -428,7 +432,6 @@ struct ContentView: View { viewModel.fetchTechnicians() } .sheet(isPresented: $showingUpdateView) { - // Pass the selected technician name directly to an explicitly initialized StatusUpdateView StatusUpdateView(isPresented: $showingUpdateView, technicianName: selectedTechnicianName, technicianStatus: selectedTechnicianCurrStatus,