add apple tv app

This commit is contained in:
Trey t
2024-06-18 12:03:56 -05:00
parent addeca4ead
commit 7d2b6b3e6e
134 changed files with 869 additions and 37 deletions

View File

@@ -0,0 +1,455 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 56;
objects = {
/* Begin PBXBuildFile section */
1CC0930F2C21DE760004E1E6 /* WekoutThotViewerApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CC0930E2C21DE760004E1E6 /* WekoutThotViewerApp.swift */; };
1CC093112C21DE760004E1E6 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CC093102C21DE760004E1E6 /* ContentView.swift */; };
1CC093132C21DE770004E1E6 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1CC093122C21DE770004E1E6 /* Assets.xcassets */; };
1CC093162C21DE770004E1E6 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1CC093152C21DE770004E1E6 /* Preview Assets.xcassets */; };
1CC7CB842C21E18A001614B8 /* UserStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CC7CB832C21E18A001614B8 /* UserStore.swift */; };
1CC7CB862C21E19C001614B8 /* LoginView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CC7CB852C21E19C001614B8 /* LoginView.swift */; };
1CC7CB962C21E24A001614B8 /* CompletedWorkout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CC7CB952C21E24A001614B8 /* CompletedWorkout.swift */; };
1CC7CB982C21E24C001614B8 /* Equipment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CC7CB972C21E24C001614B8 /* Equipment.swift */; };
1CC7CB9A2C21E24E001614B8 /* Exercise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CC7CB992C21E24E001614B8 /* Exercise.swift */; };
1CC7CB9C2C21E251001614B8 /* Muscle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CC7CB9B2C21E251001614B8 /* Muscle.swift */; };
1CC7CB9E2C21E253001614B8 /* PlannedWorkout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CC7CB9D2C21E253001614B8 /* PlannedWorkout.swift */; };
1CC7CBA02C21E255001614B8 /* RegisteredUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CC7CB9F2C21E255001614B8 /* RegisteredUser.swift */; };
1CC7CBA22C21E258001614B8 /* Workout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CC7CBA12C21E258001614B8 /* Workout.swift */; };
1CC7CBA42C21E25A001614B8 /* Superset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CC7CBA32C21E25A001614B8 /* Superset.swift */; };
1CC7CBA62C21E25E001614B8 /* NSFWVideo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CC7CBA52C21E25E001614B8 /* NSFWVideo.swift */; };
1CC7CBA82C21E261001614B8 /* AudioQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CC7CBA72C21E261001614B8 /* AudioQueue.swift */; };
1CC7CBAA2C21E26C001614B8 /* BaseURLs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CC7CBA92C21E26C001614B8 /* BaseURLs.swift */; };
1CC7CBAC2C21E27B001614B8 /* Network.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CC7CBAB2C21E27B001614B8 /* Network.swift */; };
1CC7CBAE2C21E27D001614B8 /* Fetchables.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CC7CBAD2C21E27D001614B8 /* Fetchables.swift */; };
1CC7CBB02C21E288001614B8 /* Keychain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CC7CBAF2C21E288001614B8 /* Keychain.swift */; };
1CC7CBB22C21E29F001614B8 /* PreviewData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CC7CBB12C21E29F001614B8 /* PreviewData.swift */; };
1CC7CBCF2C21E42C001614B8 /* DataStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CC7CBCE2C21E42C001614B8 /* DataStore.swift */; };
1CC7CBD12C21E5FA001614B8 /* PlayerUIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CC7CBD02C21E5FA001614B8 /* PlayerUIView.swift */; };
1CC7CBD32C21E678001614B8 /* ThotStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CC7CBD22C21E678001614B8 /* ThotStyle.swift */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
1CC0930B2C21DE760004E1E6 /* WekoutThotViewer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = WekoutThotViewer.app; sourceTree = BUILT_PRODUCTS_DIR; };
1CC0930E2C21DE760004E1E6 /* WekoutThotViewerApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WekoutThotViewerApp.swift; sourceTree = "<group>"; };
1CC093102C21DE760004E1E6 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
1CC093122C21DE770004E1E6 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
1CC093152C21DE770004E1E6 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
1CC7CB7B2C21E089001614B8 /* RegisteredUser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RegisteredUser.swift; sourceTree = "<group>"; };
1CC7CB7E2C21E0CA001614B8 /* Werkout_ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; path = Werkout_ios.app; sourceTree = BUILT_PRODUCTS_DIR; };
1CC7CB802C21E0E7001614B8 /* Werkout_ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; path = Werkout_ios.app; sourceTree = BUILT_PRODUCTS_DIR; };
1CC7CB822C21E17C001614B8 /* UserStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = UserStore.swift; path = ../iphone/Werkout_ios/UserStore.swift; sourceTree = "<group>"; };
1CC7CB832C21E18A001614B8 /* UserStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = UserStore.swift; path = ../iphone/Werkout_ios/UserStore.swift; sourceTree = "<group>"; };
1CC7CB852C21E19C001614B8 /* LoginView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LoginView.swift; path = ../iphone/Werkout_ios/Views/Login/LoginView.swift; sourceTree = "<group>"; };
1CC7CB872C21E1C0001614B8 /* PlannedWorkout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = PlannedWorkout.swift; path = ../iphone/Werkout_ios/APIModels/PlannedWorkout.swift; sourceTree = "<group>"; };
1CC7CB892C21E1C4001614B8 /* RegisteredUser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = RegisteredUser.swift; path = ../iphone/Werkout_ios/APIModels/RegisteredUser.swift; sourceTree = "<group>"; };
1CC7CB8B2C21E1E6001614B8 /* Workout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Workout.swift; path = ../iphone/Werkout_ios/APIModels/Workout.swift; sourceTree = "<group>"; };
1CC7CB8D2C21E1F7001614B8 /* CompletedWorkout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = CompletedWorkout.swift; path = ../iphone/Werkout_ios/APIModels/CompletedWorkout.swift; sourceTree = "<group>"; };
1CC7CB8F2C21E1FA001614B8 /* Equipment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Equipment.swift; path = ../iphone/Werkout_ios/APIModels/Equipment.swift; sourceTree = "<group>"; };
1CC7CB912C21E1FE001614B8 /* Exercise.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Exercise.swift; path = ../iphone/Werkout_ios/APIModels/Exercise.swift; sourceTree = "<group>"; };
1CC7CB932C21E224001614B8 /* CompletedWorkout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = CompletedWorkout.swift; path = ../iphone/Werkout_ios/APIModels/CompletedWorkout.swift; sourceTree = "<group>"; };
1CC7CB952C21E24A001614B8 /* CompletedWorkout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = CompletedWorkout.swift; path = ../iphone/Werkout_ios/APIModels/CompletedWorkout.swift; sourceTree = "<group>"; };
1CC7CB972C21E24C001614B8 /* Equipment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Equipment.swift; path = ../iphone/Werkout_ios/APIModels/Equipment.swift; sourceTree = "<group>"; };
1CC7CB992C21E24E001614B8 /* Exercise.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Exercise.swift; path = ../iphone/Werkout_ios/APIModels/Exercise.swift; sourceTree = "<group>"; };
1CC7CB9B2C21E251001614B8 /* Muscle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Muscle.swift; path = ../iphone/Werkout_ios/APIModels/Muscle.swift; sourceTree = "<group>"; };
1CC7CB9D2C21E253001614B8 /* PlannedWorkout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = PlannedWorkout.swift; path = ../iphone/Werkout_ios/APIModels/PlannedWorkout.swift; sourceTree = "<group>"; };
1CC7CB9F2C21E255001614B8 /* RegisteredUser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = RegisteredUser.swift; path = ../iphone/Werkout_ios/APIModels/RegisteredUser.swift; sourceTree = "<group>"; };
1CC7CBA12C21E258001614B8 /* Workout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Workout.swift; path = ../iphone/Werkout_ios/APIModels/Workout.swift; sourceTree = "<group>"; };
1CC7CBA32C21E25A001614B8 /* Superset.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Superset.swift; path = ../iphone/Werkout_ios/APIModels/Superset.swift; sourceTree = "<group>"; };
1CC7CBA52C21E25E001614B8 /* NSFWVideo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = NSFWVideo.swift; path = ../iphone/Werkout_ios/APIModels/NSFWVideo.swift; sourceTree = "<group>"; };
1CC7CBA72C21E261001614B8 /* AudioQueue.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AudioQueue.swift; path = ../iphone/Werkout_ios/APIModels/AudioQueue.swift; sourceTree = "<group>"; };
1CC7CBA92C21E26C001614B8 /* BaseURLs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BaseURLs.swift; path = ../iphone/Werkout_ios/BaseURLs.swift; sourceTree = "<group>"; };
1CC7CBAB2C21E27B001614B8 /* Network.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Network.swift; path = ../iphone/Werkout_ios/Network/Network.swift; sourceTree = "<group>"; };
1CC7CBAD2C21E27D001614B8 /* Fetchables.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Fetchables.swift; path = ../iphone/Werkout_ios/Network/Fetchables.swift; sourceTree = "<group>"; };
1CC7CBAF2C21E288001614B8 /* Keychain.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Keychain.swift; path = ../iphone/Werkout_ios/Keychain.swift; sourceTree = "<group>"; };
1CC7CBB12C21E29F001614B8 /* PreviewData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = PreviewData.swift; path = ../iphone/Werkout_ios/JSON/PreviewData.swift; sourceTree = "<group>"; };
1CC7CBB32C21E2B0001614B8 /* LoginView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LoginView.swift; path = ../iphone/Werkout_ios/Views/Login/LoginView.swift; sourceTree = "<group>"; };
1CC7CBCE2C21E42C001614B8 /* DataStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = DataStore.swift; path = ../iphone/Werkout_ios/DataStore.swift; sourceTree = "<group>"; };
1CC7CBD02C21E5FA001614B8 /* PlayerUIView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = PlayerUIView.swift; path = ../iphone/Werkout_ios/subview/PlayerUIView.swift; sourceTree = "<group>"; };
1CC7CBD22C21E678001614B8 /* ThotStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ThotStyle.swift; path = ../iphone/Werkout_ios/ThotStyle.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
1CC093082C21DE760004E1E6 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
1CC093022C21DE760004E1E6 = {
isa = PBXGroup;
children = (
1CC7CBD22C21E678001614B8 /* ThotStyle.swift */,
1CC7CBD02C21E5FA001614B8 /* PlayerUIView.swift */,
1CC7CBCE2C21E42C001614B8 /* DataStore.swift */,
1CC7CBB32C21E2B0001614B8 /* LoginView.swift */,
1CC7CBB12C21E29F001614B8 /* PreviewData.swift */,
1CC7CBAF2C21E288001614B8 /* Keychain.swift */,
1CC7CBAD2C21E27D001614B8 /* Fetchables.swift */,
1CC7CBAB2C21E27B001614B8 /* Network.swift */,
1CC7CBA92C21E26C001614B8 /* BaseURLs.swift */,
1CC7CBA72C21E261001614B8 /* AudioQueue.swift */,
1CC7CBA52C21E25E001614B8 /* NSFWVideo.swift */,
1CC7CBA32C21E25A001614B8 /* Superset.swift */,
1CC7CBA12C21E258001614B8 /* Workout.swift */,
1CC7CB9F2C21E255001614B8 /* RegisteredUser.swift */,
1CC7CB9D2C21E253001614B8 /* PlannedWorkout.swift */,
1CC7CB9B2C21E251001614B8 /* Muscle.swift */,
1CC7CB992C21E24E001614B8 /* Exercise.swift */,
1CC7CB972C21E24C001614B8 /* Equipment.swift */,
1CC7CB932C21E224001614B8 /* CompletedWorkout.swift */,
1CC7CB952C21E24A001614B8 /* CompletedWorkout.swift */,
1CC7CB912C21E1FE001614B8 /* Exercise.swift */,
1CC7CB8F2C21E1FA001614B8 /* Equipment.swift */,
1CC7CB8D2C21E1F7001614B8 /* CompletedWorkout.swift */,
1CC7CB8B2C21E1E6001614B8 /* Workout.swift */,
1CC7CB892C21E1C4001614B8 /* RegisteredUser.swift */,
1CC7CB872C21E1C0001614B8 /* PlannedWorkout.swift */,
1CC7CB852C21E19C001614B8 /* LoginView.swift */,
1CC7CB832C21E18A001614B8 /* UserStore.swift */,
1CC0930D2C21DE760004E1E6 /* WekoutThotViewer */,
1CC0930C2C21DE760004E1E6 /* Products */,
1CC7CB7D2C21E0CA001614B8 /* Frameworks */,
);
sourceTree = "<group>";
};
1CC0930C2C21DE760004E1E6 /* Products */ = {
isa = PBXGroup;
children = (
1CC0930B2C21DE760004E1E6 /* WekoutThotViewer.app */,
);
name = Products;
sourceTree = "<group>";
};
1CC0930D2C21DE760004E1E6 /* WekoutThotViewer */ = {
isa = PBXGroup;
children = (
1CC0930E2C21DE760004E1E6 /* WekoutThotViewerApp.swift */,
1CC7CB7B2C21E089001614B8 /* RegisteredUser.swift */,
1CC093102C21DE760004E1E6 /* ContentView.swift */,
1CC093122C21DE770004E1E6 /* Assets.xcassets */,
1CC093142C21DE770004E1E6 /* Preview Content */,
);
path = WekoutThotViewer;
sourceTree = "<group>";
};
1CC093142C21DE770004E1E6 /* Preview Content */ = {
isa = PBXGroup;
children = (
1CC093152C21DE770004E1E6 /* Preview Assets.xcassets */,
);
path = "Preview Content";
sourceTree = "<group>";
};
1CC7CB7D2C21E0CA001614B8 /* Frameworks */ = {
isa = PBXGroup;
children = (
1CC7CB822C21E17C001614B8 /* UserStore.swift */,
1CC7CB802C21E0E7001614B8 /* Werkout_ios.app */,
1CC7CB7E2C21E0CA001614B8 /* Werkout_ios.app */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
1CC0930A2C21DE760004E1E6 /* WekoutThotViewer */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1CC093192C21DE770004E1E6 /* Build configuration list for PBXNativeTarget "WekoutThotViewer" */;
buildPhases = (
1CC093072C21DE760004E1E6 /* Sources */,
1CC093082C21DE760004E1E6 /* Frameworks */,
1CC093092C21DE760004E1E6 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = WekoutThotViewer;
productName = WekoutThotViewer;
productReference = 1CC0930B2C21DE760004E1E6 /* WekoutThotViewer.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
1CC093032C21DE760004E1E6 /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = 1;
LastSwiftUpdateCheck = 1530;
LastUpgradeCheck = 1530;
TargetAttributes = {
1CC0930A2C21DE760004E1E6 = {
CreatedOnToolsVersion = 15.3;
};
};
};
buildConfigurationList = 1CC093062C21DE760004E1E6 /* Build configuration list for PBXProject "WekoutThotViewer" */;
compatibilityVersion = "Xcode 14.0";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 1CC093022C21DE760004E1E6;
productRefGroup = 1CC0930C2C21DE760004E1E6 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
1CC0930A2C21DE760004E1E6 /* WekoutThotViewer */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
1CC093092C21DE760004E1E6 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
1CC093162C21DE770004E1E6 /* Preview Assets.xcassets in Resources */,
1CC093132C21DE770004E1E6 /* Assets.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
1CC093072C21DE760004E1E6 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
1CC7CBD32C21E678001614B8 /* ThotStyle.swift in Sources */,
1CC7CBD12C21E5FA001614B8 /* PlayerUIView.swift in Sources */,
1CC7CBCF2C21E42C001614B8 /* DataStore.swift in Sources */,
1CC7CB862C21E19C001614B8 /* LoginView.swift in Sources */,
1CC7CBB22C21E29F001614B8 /* PreviewData.swift in Sources */,
1CC7CBB02C21E288001614B8 /* Keychain.swift in Sources */,
1CC7CBAC2C21E27B001614B8 /* Network.swift in Sources */,
1CC7CBAE2C21E27D001614B8 /* Fetchables.swift in Sources */,
1CC7CBAA2C21E26C001614B8 /* BaseURLs.swift in Sources */,
1CC7CB962C21E24A001614B8 /* CompletedWorkout.swift in Sources */,
1CC7CB982C21E24C001614B8 /* Equipment.swift in Sources */,
1CC7CB9A2C21E24E001614B8 /* Exercise.swift in Sources */,
1CC7CB9C2C21E251001614B8 /* Muscle.swift in Sources */,
1CC7CB9E2C21E253001614B8 /* PlannedWorkout.swift in Sources */,
1CC7CBA02C21E255001614B8 /* RegisteredUser.swift in Sources */,
1CC7CBA22C21E258001614B8 /* Workout.swift in Sources */,
1CC7CBA42C21E25A001614B8 /* Superset.swift in Sources */,
1CC7CBA62C21E25E001614B8 /* NSFWVideo.swift in Sources */,
1CC7CBA82C21E261001614B8 /* AudioQueue.swift in Sources */,
1CC093112C21DE760004E1E6 /* ContentView.swift in Sources */,
1CC7CB842C21E18A001614B8 /* UserStore.swift in Sources */,
1CC0930F2C21DE760004E1E6 /* WekoutThotViewerApp.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
1CC093172C21DE770004E1E6 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = appletvos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
TVOS_DEPLOYMENT_TARGET = 17.4;
};
name = Debug;
};
1CC093182C21DE770004E1E6 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = appletvos;
SWIFT_COMPILATION_MODE = wholemodule;
TVOS_DEPLOYMENT_TARGET = 17.4;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
1CC0931A2C21DE770004E1E6 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_ASSET_PATHS = "\"WekoutThotViewer/Preview Content\"";
DEVELOPMENT_TEAM = V3PF3M6B6U;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
INFOPLIST_KEY_UIUserInterfaceStyle = Automatic;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = "com.t-t.WekoutThotViewer";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = 3;
};
name = Debug;
};
1CC0931B2C21DE770004E1E6 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_ASSET_PATHS = "\"WekoutThotViewer/Preview Content\"";
DEVELOPMENT_TEAM = V3PF3M6B6U;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
INFOPLIST_KEY_UIUserInterfaceStyle = Automatic;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = "com.t-t.WekoutThotViewer";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = 3;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
1CC093062C21DE760004E1E6 /* Build configuration list for PBXProject "WekoutThotViewer" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1CC093172C21DE770004E1E6 /* Debug */,
1CC093182C21DE770004E1E6 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
1CC093192C21DE770004E1E6 /* Build configuration list for PBXNativeTarget "WekoutThotViewer" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1CC0931A2C21DE770004E1E6 /* Debug */,
1CC0931B2C21DE770004E1E6 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 1CC093032C21DE760004E1E6 /* Project object */;
}

View File

@@ -0,0 +1,11 @@
{
"images" : [
{
"idiom" : "tv"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,17 @@
{
"info" : {
"author" : "xcode",
"version" : 1
},
"layers" : [
{
"filename" : "Front.imagestacklayer"
},
{
"filename" : "Middle.imagestacklayer"
},
{
"filename" : "Back.imagestacklayer"
}
]
}

View File

@@ -0,0 +1,11 @@
{
"images" : [
{
"idiom" : "tv"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,11 @@
{
"images" : [
{
"idiom" : "tv"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,16 @@
{
"images" : [
{
"idiom" : "tv",
"scale" : "1x"
},
{
"idiom" : "tv",
"scale" : "2x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,17 @@
{
"info" : {
"author" : "xcode",
"version" : 1
},
"layers" : [
{
"filename" : "Front.imagestacklayer"
},
{
"filename" : "Middle.imagestacklayer"
},
{
"filename" : "Back.imagestacklayer"
}
]
}

View File

@@ -0,0 +1,16 @@
{
"images" : [
{
"idiom" : "tv",
"scale" : "1x"
},
{
"idiom" : "tv",
"scale" : "2x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,16 @@
{
"images" : [
{
"idiom" : "tv",
"scale" : "1x"
},
{
"idiom" : "tv",
"scale" : "2x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,32 @@
{
"assets" : [
{
"filename" : "App Icon - App Store.imagestack",
"idiom" : "tv",
"role" : "primary-app-icon",
"size" : "1280x768"
},
{
"filename" : "App Icon.imagestack",
"idiom" : "tv",
"role" : "primary-app-icon",
"size" : "400x240"
},
{
"filename" : "Top Shelf Image Wide.imageset",
"idiom" : "tv",
"role" : "top-shelf-image-wide",
"size" : "2320x720"
},
{
"filename" : "Top Shelf Image.imageset",
"idiom" : "tv",
"role" : "top-shelf-image",
"size" : "1920x720"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,16 @@
{
"images" : [
{
"idiom" : "tv",
"scale" : "1x"
},
{
"idiom" : "tv",
"scale" : "2x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,16 @@
{
"images" : [
{
"idiom" : "tv",
"scale" : "1x"
},
{
"idiom" : "tv",
"scale" : "2x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,85 @@
//
// ContentView.swift
// WekoutThotViewer
//
// Created by Trey Tartt on 6/18/24.
//
import SwiftUI
import AVKit
import Combine
struct ContentView: View {
@State public var needsUpdating: Bool = true
@State var isUpdating = false
@ObservedObject var dataStore = DataStore.shared
@State var nsfwVideos: [NSFWVideo]?
@State var avPlayer = AVPlayer(url: URL(string: "https://dev.werkout.fitness/media/exercise_videos/2_Dumbbell_Lateral_Lunges.mp4")!)
let videoEnded = NotificationCenter.default.publisher(for: NSNotification.Name.AVPlayerItemDidPlayToEndTime)
var body: some View {
VStack {
if isUpdating {
if isUpdating {
ProgressView()
.progressViewStyle(.circular)
}
} else {
PlayerView(player: $avPlayer)
.onAppear{
avPlayer.play()
}
.onReceive(videoEnded){ _ in
playRandomVideo()
}
}
}
.onAppear(perform: {
maybeUpdateShit()
})
}
func playRandomVideo() {
if let video = nsfwVideos?.randomElement() {
playVideo(url: video.videoFile)
}
}
func playVideo(url: String) {
let url = URL(string: BaseURLs.currentBaseURL + url)
avPlayer = AVPlayer(url: url!)
avPlayer.play()
}
func maybeUpdateShit() {
UserStore.shared.setTreyDevRegisterdUser()
if UserStore.shared.token != nil{
if UserStore.shared.plannedWorkouts.isEmpty {
UserStore.shared.fetchPlannedWorkouts()
}
if needsUpdating {
self.isUpdating = true
dataStore.fetchAllData(completion: {
DispatchQueue.main.async {
guard let allNSFWVideos = dataStore.allNSFWVideos else {
return
}
self.nsfwVideos = allNSFWVideos
self.isUpdating = false
playRandomVideo()
}
self.isUpdating = false
})
}
}
}
}
#Preview {
ContentView()
}

View File

@@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,31 @@
//
// RegisteredUser.swift
// WekoutThotViewer
//
// Created by Trey Tartt on 6/18/24.
//
import Foundation
struct RegisteredUser: Codable, Hashable {
let id: Int
let firstName, lastName, image: String?
let nickName: String?
let token: String?
let email: String?
let hasNSFWToggle: Bool?
enum CodingKeys: String, CodingKey {
case id
case firstName = "first_name"
case lastName = "last_name"
case image, token
case email = "email_address"
case nickName = "nick_name"
case hasNSFWToggle = "has_nsfw_toggle"
}
var NSFWValue: Bool {
return hasNSFWToggle ?? false
}
}

View File

@@ -0,0 +1,17 @@
//
// WekoutThotViewerApp.swift
// WekoutThotViewer
//
// Created by Trey Tartt on 6/18/24.
//
import SwiftUI
@main
struct WekoutThotViewerApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:WekoutThotViewer/WekoutThotViewer.xcodeproj">
</FileRef>
<FileRef
location = "group:iphone/Werkout_ios.xcodeproj">
</FileRef>
</Workspace>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@@ -1,32 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SchemeUserState</key>
<dict>
<key>Werkout_ios.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>1</integer>
</dict>
<key>Werkout_watch Watch App.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>0</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
<dict>
<key>1CF65A212A3972840042FFBD</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>1CF65A922A452D270042FFBD</key>
<dict>
<key>primary</key>
<true/>
</dict>
</dict>
</dict>
</plist>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

Before

Width:  |  Height:  |  Size: 418 KiB

After

Width:  |  Height:  |  Size: 418 KiB

View File

Before

Width:  |  Height:  |  Size: 418 KiB

After

Width:  |  Height:  |  Size: 418 KiB

View File

@@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -12,6 +12,6 @@ enum BaseURLs: String {
case dev = "https://dev.werkout.fitness"
static var currentBaseURL: String {
return BaseURLs.local.rawValue
return BaseURLs.dev.rawValue
}
}

View File

@@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -109,4 +109,8 @@ class UserStore: ObservableObject {
}
return nil
}
func setTreyDevRegisterdUser() {
self.registeredUser = RegisteredUser(id: 1, firstName: "t", lastName: "t", image: nil, nickName: "t", token: "15d7565cde9e8c904ae934f8235f68f6a24b4a03", email: nil, hasNSFWToggle: nil)
}
}

View File

@@ -1,8 +1,8 @@
//
// LoginView.swift
// Werkout_ios
// WekoutThotViewer
//
// Created by Trey Tartt on 6/25/23.
// Created by Trey Tartt on 6/18/24.
//
import SwiftUI
@@ -25,7 +25,7 @@ struct LoginView: View {
.overlay(RoundedRectangle(cornerRadius: 16).stroke(Color(uiColor: .clear))).background(Color(uiColor: .init(red: 255/255, green: 255/255, blue: 255/255, alpha: 1)))
.cornerRadius(8)
.padding(.top, 25)
SecureField("Password", text: $password)
.textContentType(.password)
@@ -35,7 +35,7 @@ struct LoginView: View {
.padding([.horizontal], 4)
.overlay(RoundedRectangle(cornerRadius: 16).stroke(Color(uiColor: .clear))).background(Color(uiColor: .init(red: 255/255, green: 255/255, blue: 255/255, alpha: 1)))
.cornerRadius(8)
if doingNetworkShit {
ProgressView("Logging In")
.padding()
@@ -90,3 +90,4 @@ struct LoginView_Previews: PreviewProvider {
})
}
}

Some files were not shown because too many files have changed in this diff Show More