Skip to content

Commit a3d4ecf

Browse files
authored
Apple Clients v6.1.2 (#60)
Server Notes Fixes calculation of decaying averages Opens the data dump endpoint to non-manager users iOS Notes Adds graphs with team performance (iOS 18+ only) Adds team names to most views Adds ability to view pit scouting data without waiting for match data Adds autonomous leaving indicators Prevents 5-digit team numbers from overflowing match list Fixes pit data expansion crash Fixes some data loading/screen flashing bugs Optimizes data loading Adds a checkbox for auto leave in Scout app * commits * * fix decaying avg, add coral lvls * fix crash (for real this time) * Data app fixes & updates Prevents 5-digit teams from overflowing match list. Fixes pit scouting data expansion crash (actually). Adds team names to most views. Ability to view pit scouting data without waiting for match data. Fixes some loading issues. * Charts for iOS 18.0+ * auto leave indicator * view the leave % * font size, caps * wrong thing titled * version * chill on network usage * 6.1.2 release
1 parent c2fc7f9 commit a3d4ecf

21 files changed

+611
-212
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "bear_tracks"
3-
version = "6.1.0"
3+
version = "6.1.1"
44
edition = "2021"
55
authors = ["Jayen Agrawal"]
66
description = "a scouting app for frc"

ios/TeamViewStats.swift

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,33 @@ struct TeamViewStats: View {
5959
.frame(maxWidth: .infinity)
6060
}
6161
.padding([.top, .bottom])
62+
HStack {
63+
VStack {
64+
Text("\(String(getRelevantData(item: teamDetail.teamData[0].level_0)))")
65+
.font(.title)
66+
Text("L1")
67+
}
68+
.frame(maxWidth: .infinity)
69+
VStack {
70+
Text("\(String(getRelevantData(item: teamDetail.teamData[0].level_1)))")
71+
.font(.title)
72+
Text("L2")
73+
}
74+
.frame(maxWidth: .infinity)
75+
VStack {
76+
Text("\(String(getRelevantData(item: teamDetail.teamData[0].level_2)))")
77+
.font(.title)
78+
Text("L3")
79+
}
80+
.frame(maxWidth: .infinity)
81+
VStack {
82+
Text("\(String(getRelevantData(item: teamDetail.teamData[0].level_3)))")
83+
.font(.title)
84+
Text("L4")
85+
}
86+
.frame(maxWidth: .infinity)
87+
}
88+
.padding([.top, .bottom])
6289
HStack {
6390
VStack {
6491
Text("\(String(getRelevantData(item: teamDetail.teamData[0].algae)))")
@@ -67,15 +94,15 @@ struct TeamViewStats: View {
6794
}
6895
.frame(maxWidth: .infinity)
6996
VStack {
70-
Text("\(String(getRelevantData(item: teamDetail.teamData[0].level_0) + getRelevantData(item: teamDetail.teamData[0].level_1) + getRelevantData(item: teamDetail.teamData[0].level_2) + getRelevantData(item: teamDetail.teamData[0].level_3)))")
97+
Text("\(Int(((teamDetail.teamData[0].leave ?? 0) * 100).rounded()))%")
7198
.font(.title)
72-
Text("Coral")
99+
Text("Auto Leave")
73100
}
74101
.frame(maxWidth: .infinity)
75102
VStack {
76103
Text("\(String(getRelevantData(item: teamDetail.teamData[0].auto_scores)))")
77104
.font(.title)
78-
Text("Auto scores")
105+
Text("Auto Scores")
79106
}
80107
.frame(maxWidth: .infinity)
81108
}
@@ -84,7 +111,7 @@ struct TeamViewStats: View {
84111
VStack {
85112
Text("\(Int(((teamDetail.teamData[0].shallow_cage ?? 0) * 100).rounded()))%")
86113
.font(.title)
87-
Text("Cage")
114+
Text("Shallow Cage")
88115
}
89116
.frame(maxWidth: .infinity)
90117
VStack {
@@ -103,9 +130,9 @@ struct TeamViewStats: View {
103130
.padding([.top, .bottom])
104131
HStack {
105132
VStack {
106-
Text("\(String(getRelevantData(item: teamDetail.teamData[0].score))) pts")
133+
Text("\(String(getRelevantData(item: teamDetail.teamData[0].score)))")
107134
.font(.title)
108-
Text("Performance rating")
135+
Text("Performance Rating")
109136
}
110137
.frame(maxWidth: .infinity)
111138
}

ios/beartracks/bearTracks.xcodeproj/project.pbxproj

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@
3333
F54E76C22B527D96003C65A2 /* bearTracksApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = F54E76C12B527D96003C65A2 /* bearTracksApp.swift */; };
3434
F54E76C62B527D97003C65A2 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F54E76C52B527D97003C65A2 /* Assets.xcassets */; };
3535
F54E76C92B527D97003C65A2 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F54E76C82B527D97003C65A2 /* Preview Assets.xcassets */; };
36+
F56BFF4C2D9CCC2C00E0CFF7 /* TeamHistoryGraphData.swift in Sources */ = {isa = PBXBuildFile; fileRef = F56BFF4B2D9CCC2C00E0CFF7 /* TeamHistoryGraphData.swift */; };
37+
F56BFF4E2D9CD1A500E0CFF7 /* TeamHistoryGraph.swift in Sources */ = {isa = PBXBuildFile; fileRef = F56BFF4D2D9CD1A500E0CFF7 /* TeamHistoryGraph.swift */; };
3638
F597AFFE2D6E74E0006CF1A5 /* CarouselView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F597AFFD2D6E74CF006CF1A5 /* CarouselView.swift */; };
3739
F597B0002D6E778D006CF1A5 /* CarouselView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F597AFFD2D6E74CF006CF1A5 /* CarouselView.swift */; };
3840
F59F8F7B2B7D292700D35A56 /* TeamViewStats.swift in Sources */ = {isa = PBXBuildFile; fileRef = F59F8F7A2B7D292700D35A56 /* TeamViewStats.swift */; };
@@ -139,6 +141,8 @@
139141
F54E76C12B527D96003C65A2 /* bearTracksApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = bearTracksApp.swift; sourceTree = "<group>"; };
140142
F54E76C52B527D97003C65A2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
141143
F54E76C82B527D97003C65A2 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
144+
F56BFF4B2D9CCC2C00E0CFF7 /* TeamHistoryGraphData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TeamHistoryGraphData.swift; sourceTree = "<group>"; };
145+
F56BFF4D2D9CD1A500E0CFF7 /* TeamHistoryGraph.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TeamHistoryGraph.swift; sourceTree = "<group>"; };
142146
F597AFFD2D6E74CF006CF1A5 /* CarouselView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CarouselView.swift; sourceTree = "<group>"; };
143147
F59F8F7A2B7D292700D35A56 /* TeamViewStats.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TeamViewStats.swift; path = ../../TeamViewStats.swift; sourceTree = "<group>"; };
144148
F59F8F7C2B7D2AD600D35A56 /* TeamStatController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TeamStatController.swift; sourceTree = "<group>"; };
@@ -252,13 +256,15 @@
252256
F5AE2E4E2B527E170033DB0D /* SettingsManager.swift */,
253257
F5AE2E522B527E170033DB0D /* SettingsView.swift */,
254258
F5AE2E4D2B527E170033DB0D /* Teams.swift */,
259+
F59F8F7A2B7D292700D35A56 /* TeamViewStats.swift */,
255260
F59F8F7C2B7D2AD600D35A56 /* TeamStatController.swift */,
256261
F540A13C2B549D2500611384 /* TeamView.swift */,
257262
F540A13E2B549D2E00611384 /* TeamViewModel.swift */,
263+
F56BFF4D2D9CD1A500E0CFF7 /* TeamHistoryGraph.swift */,
264+
F56BFF4B2D9CCC2C00E0CFF7 /* TeamHistoryGraphData.swift */,
258265
F5475D8C2D53CC0D00E81F49 /* PitDataView.swift */,
259266
F5475D902D53CCCE00E81F49 /* PitDataController.swift */,
260267
F597AFFD2D6E74CF006CF1A5 /* CarouselView.swift */,
261-
F59F8F7A2B7D292700D35A56 /* TeamViewStats.swift */,
262268
F532B0322D4BE6D900B7C127 /* RegionalPoints.swift */,
263269
F5C9B83F2D7FA1090069A64A /* AllianceSimulator.swift */,
264270
F5C9B8412D7FA2710069A64A /* AllianceSelection.swift */,
@@ -487,13 +493,15 @@
487493
F5AE2E532B527E170033DB0D /* Teams.swift in Sources */,
488494
F59F8F7B2B7D292700D35A56 /* TeamViewStats.swift in Sources */,
489495
F5475D8E2D53CC0D00E81F49 /* PitDataView.swift in Sources */,
496+
F56BFF4E2D9CD1A500E0CFF7 /* TeamHistoryGraph.swift in Sources */,
490497
F5AE2E5A2B5288FB0033DB0D /* URLSessionConfiguration.swift in Sources */,
491498
F54E76C22B527D96003C65A2 /* bearTracksApp.swift in Sources */,
492499
F5AE2E5E2B52FF3F0033DB0D /* LoginView.swift in Sources */,
493500
F532B0342D4BE6D900B7C127 /* RegionalPoints.swift in Sources */,
494501
F5AE2E472B527E050033DB0D /* DetailedView.swift in Sources */,
495502
F540A13F2B549D2E00611384 /* TeamViewModel.swift in Sources */,
496503
F5AE2E582B527E170033DB0D /* SettingsView.swift in Sources */,
504+
F56BFF4C2D9CCC2C00E0CFF7 /* TeamHistoryGraphData.swift in Sources */,
497505
F5AE2E542B527E170033DB0D /* SettingsManager.swift in Sources */,
498506
F5475D912D53CCCE00E81F49 /* PitDataController.swift in Sources */,
499507
F59F8F7D2B7D2AD600D35A56 /* TeamStatController.swift in Sources */,
@@ -561,14 +569,14 @@
561569
ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon";
562570
CLANG_ENABLE_MODULES = YES;
563571
CODE_SIGN_STYLE = Automatic;
564-
CURRENT_PROJECT_VERSION = 105;
572+
CURRENT_PROJECT_VERSION = 107;
565573
DEVELOPMENT_TEAM = D6MFYYVHA8;
566574
GENERATE_INFOPLIST_FILE = YES;
567575
INFOPLIST_FILE = "sitckers StickerPackExtension/Info.plist";
568576
INFOPLIST_KEY_CFBundleDisplayName = bearTracks;
569577
INFOPLIST_KEY_NSStickerSharingLevel = OS;
570578
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
571-
MARKETING_VERSION = 6.1.0;
579+
MARKETING_VERSION = 6.1.2;
572580
PRODUCT_BUNDLE_IDENTIFIER = com.jayagra.beartracks.stickers;
573581
PRODUCT_NAME = "$(TARGET_NAME)";
574582
SKIP_INSTALL = YES;
@@ -585,14 +593,14 @@
585593
ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon";
586594
CLANG_ENABLE_MODULES = YES;
587595
CODE_SIGN_STYLE = Automatic;
588-
CURRENT_PROJECT_VERSION = 105;
596+
CURRENT_PROJECT_VERSION = 107;
589597
DEVELOPMENT_TEAM = D6MFYYVHA8;
590598
GENERATE_INFOPLIST_FILE = YES;
591599
INFOPLIST_FILE = "sitckers StickerPackExtension/Info.plist";
592600
INFOPLIST_KEY_CFBundleDisplayName = bearTracks;
593601
INFOPLIST_KEY_NSStickerSharingLevel = OS;
594602
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
595-
MARKETING_VERSION = 6.1.0;
603+
MARKETING_VERSION = 6.1.2;
596604
PRODUCT_BUNDLE_IDENTIFIER = com.jayagra.beartracks.stickers;
597605
PRODUCT_NAME = "$(TARGET_NAME)";
598606
SKIP_INSTALL = YES;
@@ -608,7 +616,7 @@
608616
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
609617
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
610618
CODE_SIGN_STYLE = Automatic;
611-
CURRENT_PROJECT_VERSION = 105;
619+
CURRENT_PROJECT_VERSION = 107;
612620
DEVELOPMENT_ASSET_PATHS = "\"beartracks-matches/Preview Content\"";
613621
DEVELOPMENT_TEAM = D6MFYYVHA8;
614622
ENABLE_PREVIEWS = YES;
@@ -621,7 +629,7 @@
621629
"$(inherited)",
622630
"@executable_path/Frameworks",
623631
);
624-
MARKETING_VERSION = 6.1.0;
632+
MARKETING_VERSION = 6.1.2;
625633
PRODUCT_BUNDLE_IDENTIFIER = com.jayagra.beartracks;
626634
PRODUCT_NAME = "$(TARGET_NAME)";
627635
SDKROOT = appletvos;
@@ -638,7 +646,7 @@
638646
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
639647
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
640648
CODE_SIGN_STYLE = Automatic;
641-
CURRENT_PROJECT_VERSION = 105;
649+
CURRENT_PROJECT_VERSION = 107;
642650
DEVELOPMENT_ASSET_PATHS = "\"beartracks-matches/Preview Content\"";
643651
DEVELOPMENT_TEAM = D6MFYYVHA8;
644652
ENABLE_PREVIEWS = YES;
@@ -651,7 +659,7 @@
651659
"$(inherited)",
652660
"@executable_path/Frameworks",
653661
);
654-
MARKETING_VERSION = 6.1.0;
662+
MARKETING_VERSION = 6.1.2;
655663
PRODUCT_BUNDLE_IDENTIFIER = com.jayagra.beartracks;
656664
PRODUCT_NAME = "$(TARGET_NAME)";
657665
SDKROOT = appletvos;
@@ -789,7 +797,7 @@
789797
CODE_SIGN_ENTITLEMENTS = bearTracks/bearTracks.entitlements;
790798
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
791799
CODE_SIGN_STYLE = Automatic;
792-
CURRENT_PROJECT_VERSION = 105;
800+
CURRENT_PROJECT_VERSION = 107;
793801
DEVELOPMENT_ASSET_PATHS = "\"bearTracks/Preview Content\"";
794802
DEVELOPMENT_TEAM = D6MFYYVHA8;
795803
ENABLE_PREVIEWS = YES;
@@ -810,7 +818,7 @@
810818
"$(inherited)",
811819
"@executable_path/Frameworks",
812820
);
813-
MARKETING_VERSION = 6.1.0;
821+
MARKETING_VERSION = 6.1.2;
814822
PRODUCT_BUNDLE_IDENTIFIER = com.jayagra.beartracks;
815823
PRODUCT_NAME = "$(TARGET_NAME)";
816824
SDKROOT = xros;
@@ -834,7 +842,7 @@
834842
CODE_SIGN_ENTITLEMENTS = bearTracks/bearTracks.entitlements;
835843
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
836844
CODE_SIGN_STYLE = Automatic;
837-
CURRENT_PROJECT_VERSION = 105;
845+
CURRENT_PROJECT_VERSION = 107;
838846
DEVELOPMENT_ASSET_PATHS = "\"bearTracks/Preview Content\"";
839847
DEVELOPMENT_TEAM = D6MFYYVHA8;
840848
ENABLE_PREVIEWS = YES;
@@ -855,7 +863,7 @@
855863
"$(inherited)",
856864
"@executable_path/Frameworks",
857865
);
858-
MARKETING_VERSION = 6.1.0;
866+
MARKETING_VERSION = 6.1.2;
859867
PRODUCT_BUNDLE_IDENTIFIER = com.jayagra.beartracks;
860868
PRODUCT_NAME = "$(TARGET_NAME)";
861869
SDKROOT = xros;
@@ -878,7 +886,7 @@
878886
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
879887
CODE_SIGN_ENTITLEMENTS = "beartracks-watch Watch App/beartracks-watch Watch App.entitlements";
880888
CODE_SIGN_STYLE = Automatic;
881-
CURRENT_PROJECT_VERSION = 105;
889+
CURRENT_PROJECT_VERSION = 107;
882890
DEVELOPMENT_ASSET_PATHS = "\"beartracks-watch Watch App/Preview Content\"";
883891
DEVELOPMENT_TEAM = D6MFYYVHA8;
884892
ENABLE_PREVIEWS = YES;
@@ -891,7 +899,7 @@
891899
"$(inherited)",
892900
"@executable_path/Frameworks",
893901
);
894-
MARKETING_VERSION = 6.1.0;
902+
MARKETING_VERSION = 6.1.2;
895903
PRODUCT_BUNDLE_IDENTIFIER = com.jayagra.beartracks.watchkitapp;
896904
PRODUCT_NAME = "$(TARGET_NAME)";
897905
SDKROOT = watchos;
@@ -910,7 +918,7 @@
910918
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
911919
CODE_SIGN_ENTITLEMENTS = "beartracks-watch Watch App/beartracks-watch Watch App.entitlements";
912920
CODE_SIGN_STYLE = Automatic;
913-
CURRENT_PROJECT_VERSION = 105;
921+
CURRENT_PROJECT_VERSION = 107;
914922
DEVELOPMENT_ASSET_PATHS = "\"beartracks-watch Watch App/Preview Content\"";
915923
DEVELOPMENT_TEAM = D6MFYYVHA8;
916924
ENABLE_PREVIEWS = YES;
@@ -923,7 +931,7 @@
923931
"$(inherited)",
924932
"@executable_path/Frameworks",
925933
);
926-
MARKETING_VERSION = 6.1.0;
934+
MARKETING_VERSION = 6.1.2;
927935
PRODUCT_BUNDLE_IDENTIFIER = com.jayagra.beartracks.watchkitapp;
928936
PRODUCT_NAME = "$(TARGET_NAME)";
929937
SDKROOT = watchos;

ios/beartracks/bearTracks/AllianceSimulator.swift

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -579,31 +579,6 @@ struct BarThingyViewAlliance: View {
579579
}
580580
}
581581

582-
public struct AllTeamsList: Codable {
583-
let status: Int
584-
let teams: [BasicTeam]
585-
}
586-
587-
public struct BasicTeam: Codable {
588-
let number: Int
589-
let nameShort: String
590-
}
591-
592-
struct TeamList: Codable {
593-
let teamCountTotal, teamCountPage: Int
594-
let pageCurrent, pageTotal: Int
595-
let teams: [TeamListTeamEntry]
596-
}
597-
598-
struct TeamListTeamEntry: Codable {
599-
let teamNumber: Int
600-
let nameFull, nameShort: String
601-
let city, stateProv, country: String
602-
let rookieYear: Int
603-
let robotName, schoolName, website: String
604-
let homeCMP: String?
605-
}
606-
607582
#Preview {
608583
AllianceSimulator()
609584
}

0 commit comments

Comments
 (0)