Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
b1c36a1
Addressed Matt's comments
caitlynjin Oct 28, 2024
ff4d1c5
Merge Release to Main (#69)
rs929 Nov 4, 2024
99b59eb
Fixed spacing of tabbar and transition
caitlynjin Nov 7, 2024
a6db494
Fix spacing of tab bar
caitlynjin Nov 11, 2024
8afeb46
Update class detail page navigation
caitlynjin Nov 11, 2024
efae66a
Fix spelling error
caitlynjin Nov 12, 2024
86a09cc
Implement onboarding flow (#75)
belle-hu Dec 3, 2024
d9fb12f
Merge branch 'release'
JaysonHahn Feb 5, 2025
a3f8a75
Implemented Capacity Reminders UI (#65)
caitlynjin Mar 7, 2025
847fc47
ten intervals (#81)
JiwonJeong414 Mar 21, 2025
8c989b0
Implemented Popular Times (#79)
rs929 Mar 25, 2025
2bd0fc7
Caitlyn/gym details layout (#82)
rs929 Mar 25, 2025
a285525
Jiwon/profile (#80)
JiwonJeong414 Mar 26, 2025
c84c7ef
Changed Debug to Release (#87)
JiwonJeong414 Mar 26, 2025
c6b690b
Merge Release 3.1.1 to Main (#89)
rs929 Mar 27, 2025
25dd3da
Set up Firebase Cloud Messaging (#90)
caitlynjin Apr 23, 2025
088f0a3
Fixed Teagle capacities bug on gym detail view (#93)
caitlynjin Sep 16, 2025
16f0813
Jiwon/capacity reminders (#96)
JiwonJeong414 Oct 3, 2025
42e7659
Update ci_post_clone script to use GRAPHQL_SCHEMA
MrPeterss Oct 5, 2025
88a7ae3
Fix Merge Conflicts and Merge Release 3.1.2 to Main (#97)
MrPeterss Oct 5, 2025
0d0337e
Jiwon/capacity reminder tutorial (#99)
JiwonJeong414 Oct 8, 2025
4fd271d
Merge remote-tracking branch 'origin/release' into main-copy
JiwonJeong414 Oct 8, 2025
125d4c6
Update Tags
JiwonJeong414 Oct 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 28 additions & 4 deletions Uplift.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,18 @@
objects = {

/* Begin PBXBuildFile section */
29055F802E7E3E6E00E9A730 /* UnsavedChangesModal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29055F7F2E7E3E6500E9A730 /* UnsavedChangesModal.swift */; };
29055FC62E849E2A00E9A730 /* LoadingModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29055FC52E849E2600E9A730 /* LoadingModifier.swift */; };
291433852D87387B00F913D5 /* UserProfile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 291433842D87387500F913D5 /* UserProfile.swift */; };
291433872D87388C00F913D5 /* WeeklyWorkoutData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 291433862D87388800F913D5 /* WeeklyWorkoutData.swift */; };
291433892D8738A400F913D5 /* WorkoutHistory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 291433882D8738A200F913D5 /* WorkoutHistory.swift */; };
293032572D7A8F64002E5484 /* WorkoutProgressArc.swift in Sources */ = {isa = PBXBuildFile; fileRef = 293032562D7A8F64002E5484 /* WorkoutProgressArc.swift */; };
294CC21D2D7E34D300EF6487 /* WeeklyWorkoutTrackerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 294CC21C2D7E34D000EF6487 /* WeeklyWorkoutTrackerView.swift */; };
296A2DAE2D7A805300EF042F /* ProfileViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 296A2DAD2D7A805300EF042F /* ProfileViewModel.swift */; };
298EBA4A2E8DD244000441BA /* ModalModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 298EBA492E8DD241000441BA /* ModalModifier.swift */; };
298EBA4E2E8E504A000441BA /* GymIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 298EBA4D2E8E5048000441BA /* GymIdentifier.swift */; };
298EBA502E8E5335000441BA /* CustomLoadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 298EBA4F2E8E532C000441BA /* CustomLoadingView.swift */; };
29DC9ABA2DB96C3C0088DC24 /* CapacityReminderMutations.graphql in Resources */ = {isa = PBXBuildFile; fileRef = 29DC9AB92DB96C340088DC24 /* CapacityReminderMutations.graphql */; };
2CA97C8F2D8B852700EF48B3 /* UpliftAPI in Frameworks */ = {isa = PBXBuildFile; productRef = 2CA97C8E2D8B852700EF48B3 /* UpliftAPI */; };
2E090EC52B12EF2600BAE982 /* Publishers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E090EC42B12EF2600BAE982 /* Publishers.swift */; };
2E090ECB2B12FF5900BAE982 /* UpliftAPI in Frameworks */ = {isa = PBXBuildFile; productRef = 2E090ECA2B12FF5900BAE982 /* UpliftAPI */; };
Expand Down Expand Up @@ -130,12 +136,18 @@
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
29055F7F2E7E3E6500E9A730 /* UnsavedChangesModal.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnsavedChangesModal.swift; sourceTree = "<group>"; };
29055FC52E849E2600E9A730 /* LoadingModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingModifier.swift; sourceTree = "<group>"; };
291433842D87387500F913D5 /* UserProfile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserProfile.swift; sourceTree = "<group>"; };
291433862D87388800F913D5 /* WeeklyWorkoutData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WeeklyWorkoutData.swift; sourceTree = "<group>"; };
291433882D8738A200F913D5 /* WorkoutHistory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WorkoutHistory.swift; sourceTree = "<group>"; };
293032562D7A8F64002E5484 /* WorkoutProgressArc.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WorkoutProgressArc.swift; sourceTree = "<group>"; };
294CC21C2D7E34D000EF6487 /* WeeklyWorkoutTrackerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WeeklyWorkoutTrackerView.swift; sourceTree = "<group>"; };
296A2DAD2D7A805300EF042F /* ProfileViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileViewModel.swift; sourceTree = "<group>"; };
298EBA492E8DD241000441BA /* ModalModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModalModifier.swift; sourceTree = "<group>"; };
298EBA4D2E8E5048000441BA /* GymIdentifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GymIdentifier.swift; sourceTree = "<group>"; };
298EBA4F2E8E532C000441BA /* CustomLoadingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomLoadingView.swift; sourceTree = "<group>"; };
29DC9AB92DB96C340088DC24 /* CapacityReminderMutations.graphql */ = {isa = PBXFileReference; lastKnownFileType = text; path = CapacityReminderMutations.graphql; sourceTree = "<group>"; };
2E090EC42B12EF2600BAE982 /* Publishers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Publishers.swift; sourceTree = "<group>"; };
2E090ED52B13121600BAE982 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = "<group>"; };
2E1105BE2B13B0E100119F5B /* HomeViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewModel.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -276,6 +288,7 @@
2E090EC62B12FB9F00BAE982 /* Models */ = {
isa = PBXGroup;
children = (
298EBA4D2E8E5048000441BA /* GymIdentifier.swift */,
291433882D8738A200F913D5 /* WorkoutHistory.swift */,
291433862D87388800F913D5 /* WeeklyWorkoutData.swift */,
291433842D87387500F913D5 /* UserProfile.swift */,
Expand Down Expand Up @@ -369,6 +382,7 @@
2E090ED22B13093400BAE982 /* Networking */ = {
isa = PBXGroup;
children = (
29DC9AB92DB96C340088DC24 /* CapacityReminderMutations.graphql */,
2EE5F3C72B12E094008E0299 /* ApolloClientProtocol.swift */,
2EF1A2572B129EEB007A299F /* Network.swift */,
2E090EC42B12EF2600BAE982 /* Publishers.swift */,
Expand Down Expand Up @@ -422,6 +436,7 @@
2E15F50A2B3A0AF700414BEC /* Supporting */ = {
isa = PBXGroup;
children = (
29055F7F2E7E3E6500E9A730 /* UnsavedChangesModal.swift */,
2E15F50B2B3A0B2100414BEC /* CapacityCircleView.swift */,
89E4FAA92CEFEC3000A952B1 /* CapacitySemiCircleView.swift */,
893AD9122D59466F00C0817B /* DropDownArrow.swift */,
Expand All @@ -438,6 +453,9 @@
2E39D8192B3B5EFB00AD238B /* Custom */ = {
isa = PBXGroup;
children = (
298EBA4F2E8E532C000441BA /* CustomLoadingView.swift */,
298EBA492E8DD241000441BA /* ModalModifier.swift */,
29055FC52E849E2600E9A730 /* LoadingModifier.swift */,
2E6785BF2B3A5CA300DD3ADA /* Haptics.swift */,
2E39D8152B3B3AD600AD238B /* ScaleButtonStyle.swift */,
2E6785BD2B3A513000DD3ADA /* SemiCircleShape.swift */,
Expand Down Expand Up @@ -698,6 +716,7 @@
2EB090B92B131CA80039EB3B /* Montserrat-SemiBold.ttf in Resources */,
2EB090B42B131CA40039EB3B /* BebasNeue-Regular.ttf in Resources */,
2E45B2422B4E5CE100FB83B7 /* GoogleService-Info.plist in Resources */,
29DC9ABA2DB96C3C0088DC24 /* CapacityReminderMutations.graphql in Resources */,
2E39D8312B3BEE5900AD238B /* LaunchScreen.storyboard in Resources */,
2E8FE3962B1278B900B3DC6A /* Assets.xcassets in Resources */,
);
Expand Down Expand Up @@ -773,10 +792,12 @@
2E6785C42B3A780600DD3ADA /* DayOfWeek.swift in Sources */,
2E6785BE2B3A513000DD3ADA /* SemiCircleShape.swift in Sources */,
2E15F4FB2B39573C00414BEC /* Double+Extension.swift in Sources */,
29055F802E7E3E6E00E9A730 /* UnsavedChangesModal.swift in Sources */,
2E39D8162B3B3AD600AD238B /* ScaleButtonStyle.swift in Sources */,
2E6785B92B3A425E00DD3ADA /* GymDetailView.swift in Sources */,
893AD9152D59569600C0817B /* MuscleCategoryView.swift in Sources */,
89C8658D2BB4779C00758337 /* ClassCell.swift in Sources */,
298EBA502E8E5335000441BA /* CustomLoadingView.swift in Sources */,
291433852D87387B00F913D5 /* UserProfile.swift in Sources */,
294CC21D2D7E34D300EF6487 /* WeeklyWorkoutTrackerView.swift in Sources */,
2E1105BF2B13B0E100119F5B /* HomeViewModel.swift in Sources */,
Expand All @@ -793,6 +814,7 @@
2E39D8222B3B631200AD238B /* DividerLine.swift in Sources */,
2E15F5062B39F81B00414BEC /* MainView.swift in Sources */,
893AD9132D59468000C0817B /* DropDownArrow.swift in Sources */,
298EBA4E2E8E504A000441BA /* GymIdentifier.swift in Sources */,
89E4FAAC2CF28E7500A952B1 /* HourlyAverageCapacity.swift in Sources */,
8996FEE02BDF351800F13C67 /* NextSessionCell.swift in Sources */,
6329A4482CA0F89D00D30A2F /* CreateProfileView.swift in Sources */,
Expand All @@ -810,6 +832,7 @@
2E15F4E62B391E5300414BEC /* Array+Extension.swift in Sources */,
2E45B2472B4F643500FB83B7 /* AnalyticsManager.swift in Sources */,
63A7ABCF2B8C119A008D58FB /* Equipment.swift in Sources */,
29055FC62E849E2A00E9A730 /* LoadingModifier.swift in Sources */,
2E39D8202B3B623B00AD238B /* FitnessCenterView.swift in Sources */,
897703662BA2028D00F9992F /* ClassesViewModel.swift in Sources */,
2E1105C22B13D15100119F5B /* HomeGymCell.swift in Sources */,
Expand All @@ -826,6 +849,7 @@
2E15F5042B39E54700414BEC /* LocationManager.swift in Sources */,
89A652F92D02B00000277A16 /* CapacityRemindersView.swift in Sources */,
89A652FA2D02B00000277A16 /* RemindersView.swift in Sources */,
298EBA4A2E8DD244000441BA /* ModalModifier.swift in Sources */,
2E39D81E2B3B610200AD238B /* UINavigationController+Extension.swift in Sources */,
291433892D8738A400F913D5 /* WorkoutHistory.swift in Sources */,
63001AD62CC9ACFF0082AFFA /* LoginViewModel.swift in Sources */,
Expand Down Expand Up @@ -1021,7 +1045,7 @@
CODE_SIGN_ENTITLEMENTS = Uplift/Uplift.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 39;
CURRENT_PROJECT_VERSION = 40;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = ZGMCXU7X3U;
ENABLE_PREVIEWS = YES;
Expand All @@ -1042,7 +1066,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 3.1.2;
MARKETING_VERSION = 3.1.3;
OTHER_LDFLAGS = "-ObjC";
PRODUCT_BUNDLE_IDENTIFIER = com.cornellappdev.uplift.ios;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand All @@ -1066,7 +1090,7 @@
CODE_SIGN_ENTITLEMENTS = Uplift/Uplift.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 39;
CURRENT_PROJECT_VERSION = 40;
DEVELOPMENT_TEAM = ZGMCXU7X3U;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
Expand All @@ -1086,7 +1110,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 3.1.2;
MARKETING_VERSION = 3.1.3;
OTHER_LDFLAGS = "-ObjC";
PRODUCT_BUNDLE_IDENTIFIER = com.cornellappdev.uplift.ios;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Uplift/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
<string>$(ANNOUNCEMENTS_SCHEME)</string>
<key>CFBundleIconName</key>
<string>AppIcon</string>
<key>FirebaseAppDelegateProxyEnabled</key>
<false/>
<key>CFBundleURLTypes</key>
<array>
<dict>
Expand All @@ -27,6 +25,8 @@
</array>
</dict>
</array>
<key>FirebaseAppDelegateProxyEnabled</key>
<false/>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>UIAppFonts</key>
Expand Down
2 changes: 1 addition & 1 deletion Uplift/Models/Equipment.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

import Foundation
import UpliftAPI
import SwiftUI
import SwiftUICore

/// Model representing a facility's equipment.
struct Equipment: Hashable {
Expand Down
36 changes: 36 additions & 0 deletions Uplift/Models/GymIdentifier.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
//
// GymIdentifier.swift
// Uplift
//
// Created by jiwon jeong on 10/2/25.
// Copyright © 2025 Cornell AppDev. All rights reserved.
//

import Foundation

/// An enumeration representing the gyms.
enum GymIdentifier: String, CaseIterable, Identifiable {
case teagleUp = "TEAGLEUP"
case teagleDown = "TEAGLEDOWN"
case helenNewman = "HELENNEWMAN"
case toniMorrison = "TONIMORRISON"
case noyes = "NOYES"

var id: String { rawValue }

}

extension GymIdentifier {

/// Returns the display name (capitalized) for UI.
func displayName() -> String {
switch self {
case .teagleUp: return "Teagle Up"
case .teagleDown: return "Teagle Down"
case .helenNewman: return "Helen Newman"
case .toniMorrison: return "Toni Morrison"
case .noyes: return "Noyes"
}
}

}
23 changes: 23 additions & 0 deletions Uplift/Resources/Assets.xcassets/cross_thin.imageset/Contents.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"images" : [
{
"filename" : "cross_thin1x.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "cross_thin2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "cross_thin3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading