Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
92 changes: 90 additions & 2 deletions CoffeeTracker/CoffeeTracker.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,20 @@
371E297127C40FB300C8ACBF /* BeanFixtures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 371E297027C40FB300C8ACBF /* BeanFixtures.swift */; };
371E297327C40FEF00C8ACBF /* BeansCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 371E297227C40FEF00C8ACBF /* BeansCollectionView.swift */; };
371E297527C4100900C8ACBF /* NewBeansView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 371E297427C4100900C8ACBF /* NewBeansView.swift */; };
37431AA227EBC57400242F39 /* RowModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37431AA127EBC57400242F39 /* RowModifier.swift */; };
376A5E5327D844D60038BDA0 /* PhotoPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 376A5E5227D844D60038BDA0 /* PhotoPickerView.swift */; };
3776B9DE27E8B32D0042C494 /* OctoKit in Frameworks */ = {isa = PBXBuildFile; productRef = 3776B9DD27E8B32D0042C494 /* OctoKit */; };
3776B9E127E8B3450042C494 /* UserFeedback.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3776B9E027E8B3450042C494 /* UserFeedback.swift */; };
3782E03527C4AA81000F0404 /* BeansCollectionViewOO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3782E03427C4AA81000F0404 /* BeansCollectionViewOO.swift */; };
3797E1C427D6A52F000FE457 /* View+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3797E1C327D6A52F000FE457 /* View+Extensions.swift */; };
3797E1C627D6A6F3000FE457 /* Color+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3797E1C527D6A6F3000FE457 /* Color+Extension.swift */; };
379E1CBF27E8BF7C004101E0 /* ShareApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 379E1CBE27E8BF7C004101E0 /* ShareApp.swift */; };
37B776A627C67A6F00EFD566 /* CloudKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 37B776A527C67A6F00EFD566 /* CloudKit.framework */; };
37C9838427E4E4D4007C85E3 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37C9838327E4E4D4007C85E3 /* Constants.swift */; };
37C9838727E4E5B8007C85E3 /* RevenueCat in Frameworks */ = {isa = PBXBuildFile; productRef = 37C9838627E4E5B8007C85E3 /* RevenueCat */; };
37DD41CB27EA789300BEF00A /* ActivityView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37DD41CA27EA789300BEF00A /* ActivityView.swift */; };
37F18B2827E4C09500F609DF /* AboutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37F18B2727E4C09500F609DF /* AboutView.swift */; };
37F18B2A27E4C15200F609DF /* BuyDevCoffeeSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37F18B2927E4C15200F609DF /* BuyDevCoffeeSection.swift */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
Expand All @@ -44,20 +53,29 @@
371E297027C40FB300C8ACBF /* BeanFixtures.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BeanFixtures.swift; sourceTree = "<group>"; };
371E297227C40FEF00C8ACBF /* BeansCollectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BeansCollectionView.swift; sourceTree = "<group>"; };
371E297427C4100900C8ACBF /* NewBeansView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewBeansView.swift; sourceTree = "<group>"; };
37431AA127EBC57400242F39 /* RowModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RowModifier.swift; sourceTree = "<group>"; };
376A5E5227D844D60038BDA0 /* PhotoPickerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoPickerView.swift; sourceTree = "<group>"; };
3776B9E027E8B3450042C494 /* UserFeedback.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserFeedback.swift; sourceTree = "<group>"; };
3782E03427C4AA81000F0404 /* BeansCollectionViewOO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BeansCollectionViewOO.swift; sourceTree = "<group>"; };
3797E1C327D6A52F000FE457 /* View+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View+Extensions.swift"; sourceTree = "<group>"; };
3797E1C527D6A6F3000FE457 /* Color+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Color+Extension.swift"; sourceTree = "<group>"; };
379E1CBE27E8BF7C004101E0 /* ShareApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareApp.swift; sourceTree = "<group>"; };
37B776A327C67A6B00EFD566 /* CoffeeTracker.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = CoffeeTracker.entitlements; sourceTree = "<group>"; };
37B776A527C67A6F00EFD566 /* CloudKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CloudKit.framework; path = System/Library/Frameworks/CloudKit.framework; sourceTree = SDKROOT; };
37B776A727C67A7800EFD566 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
37C9838327E4E4D4007C85E3 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = "<group>"; };
37DD41CA27EA789300BEF00A /* ActivityView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActivityView.swift; sourceTree = "<group>"; };
37F18B2727E4C09500F609DF /* AboutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutView.swift; sourceTree = "<group>"; };
37F18B2927E4C15200F609DF /* BuyDevCoffeeSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuyDevCoffeeSection.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
371E294827C40D2100C8ACBF /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
3776B9DE27E8B32D0042C494 /* OctoKit in Frameworks */,
37C9838727E4E5B8007C85E3 /* RevenueCat in Frameworks */,
37B776A627C67A6F00EFD566 /* CloudKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
Expand Down Expand Up @@ -85,6 +103,8 @@
371E294D27C40D2100C8ACBF /* CoffeeTracker */ = {
isa = PBXGroup;
children = (
37DD41C927EA788100BEF00A /* Components */,
37F18B2627E4C08500F609DF /* About */,
376A5E5127D844BF0038BDA0 /* PhotoPicker */,
37B776A727C67A7800EFD566 /* Info.plist */,
37B776A327C67A6B00EFD566 /* CoffeeTracker.entitlements */,
Expand Down Expand Up @@ -129,6 +149,8 @@
371E296B27C40F5E00C8ACBF /* SFSymbolHelper.swift */,
3797E1C327D6A52F000FE457 /* View+Extensions.swift */,
3797E1C527D6A6F3000FE457 /* Color+Extension.swift */,
37C9838327E4E4D4007C85E3 /* Constants.swift */,
37431AA127EBC57400242F39 /* RowModifier.swift */,
);
path = Helpers;
sourceTree = "<group>";
Expand Down Expand Up @@ -157,6 +179,25 @@
name = Frameworks;
sourceTree = "<group>";
};
37DD41C927EA788100BEF00A /* Components */ = {
isa = PBXGroup;
children = (
37DD41CA27EA789300BEF00A /* ActivityView.swift */,
);
path = Components;
sourceTree = "<group>";
};
37F18B2627E4C08500F609DF /* About */ = {
isa = PBXGroup;
children = (
37F18B2727E4C09500F609DF /* AboutView.swift */,
37F18B2927E4C15200F609DF /* BuyDevCoffeeSection.swift */,
3776B9E027E8B3450042C494 /* UserFeedback.swift */,
379E1CBE27E8BF7C004101E0 /* ShareApp.swift */,
);
path = About;
sourceTree = "<group>";
};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
Expand All @@ -173,6 +214,10 @@
dependencies = (
);
name = CoffeeTracker;
packageProductDependencies = (
37C9838627E4E5B8007C85E3 /* RevenueCat */,
3776B9DD27E8B32D0042C494 /* OctoKit */,
);
productName = CoffeeTracker;
productReference = 371E294B27C40D2100C8ACBF /* Coffee_.app */;
productType = "com.apple.product-type.application";
Expand Down Expand Up @@ -201,6 +246,10 @@
Base,
);
mainGroup = 371E294227C40D2100C8ACBF;
packageReferences = (
37C9838527E4E5B8007C85E3 /* XCRemoteSwiftPackageReference "purchases-ios" */,
3776B9DC27E8B32D0042C494 /* XCRemoteSwiftPackageReference "octokit" */,
);
productRefGroup = 371E294C27C40D2100C8ACBF /* Products */;
projectDirPath = "";
projectRoot = "";
Expand Down Expand Up @@ -228,15 +277,22 @@
buildActionMask = 2147483647;
files = (
371E296727C40EF100C8ACBF /* BeanRowView.swift in Sources */,
37C9838427E4E4D4007C85E3 /* Constants.swift in Sources */,
3797E1C627D6A6F3000FE457 /* Color+Extension.swift in Sources */,
37F18B2A27E4C15200F609DF /* BuyDevCoffeeSection.swift in Sources */,
37F18B2827E4C09500F609DF /* AboutView.swift in Sources */,
37431AA227EBC57400242F39 /* RowModifier.swift in Sources */,
371E295827C40D2200C8ACBF /* Persistence.swift in Sources */,
376A5E5327D844D60038BDA0 /* PhotoPickerView.swift in Sources */,
3782E03527C4AA81000F0404 /* BeansCollectionViewOO.swift in Sources */,
371E296227C40E8800C8ACBF /* CoffeeTrackerMain.swift in Sources */,
379E1CBF27E8BF7C004101E0 /* ShareApp.swift in Sources */,
371E295127C40D2100C8ACBF /* ContentView.swift in Sources */,
37DD41CB27EA789300BEF00A /* ActivityView.swift in Sources */,
371E296527C40EC900C8ACBF /* BeanModel.swift in Sources */,
371E295B27C40D2200C8ACBF /* CoffeeTracker.xcdatamodeld in Sources */,
371E296E27C40F9A00C8ACBF /* BeanDetailView.swift in Sources */,
3776B9E127E8B3450042C494 /* UserFeedback.swift in Sources */,
371E297327C40FEF00C8ACBF /* BeansCollectionView.swift in Sources */,
371E296C27C40F5E00C8ACBF /* SFSymbolHelper.swift in Sources */,
3797E1C427D6A52F000FE457 /* View+Extensions.swift in Sources */,
Expand Down Expand Up @@ -378,9 +434,9 @@
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = CoffeeTracker/Info.plist;
INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "To be able to add photos of your beans.";
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
Expand Down Expand Up @@ -410,9 +466,9 @@
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = CoffeeTracker/Info.plist;
INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "To be able to add photos of your beans.";
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
Expand Down Expand Up @@ -452,6 +508,38 @@
};
/* End XCConfigurationList section */

/* Begin XCRemoteSwiftPackageReference section */
3776B9DC27E8B32D0042C494 /* XCRemoteSwiftPackageReference "octokit" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/nerdishbynature/octokit.swift";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 0.9.0;
};
};
37C9838527E4E5B8007C85E3 /* XCRemoteSwiftPackageReference "purchases-ios" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/RevenueCat/purchases-ios.git";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 4.0.0;
};
};
/* End XCRemoteSwiftPackageReference section */

/* Begin XCSwiftPackageProductDependency section */
3776B9DD27E8B32D0042C494 /* OctoKit */ = {
isa = XCSwiftPackageProductDependency;
package = 3776B9DC27E8B32D0042C494 /* XCRemoteSwiftPackageReference "octokit" */;
productName = OctoKit;
};
37C9838627E4E5B8007C85E3 /* RevenueCat */ = {
isa = XCSwiftPackageProductDependency;
package = 37C9838527E4E5B8007C85E3 /* XCRemoteSwiftPackageReference "purchases-ios" */;
productName = RevenueCat;
};
/* End XCSwiftPackageProductDependency section */

/* Begin XCVersionGroup section */
371E295927C40D2200C8ACBF /* CoffeeTracker.xcdatamodeld */ = {
isa = XCVersionGroup;
Expand Down

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

75 changes: 75 additions & 0 deletions CoffeeTracker/CoffeeTracker/About/AboutView.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
//
// AboutView.swift
// CoffeeTracker
//
// Created by Maegan Wilson on 3/18/22.
//

import SwiftUI

struct AboutView: View {

@Environment(\.colorScheme) private var colorScheme
@State private var showingSheet = false
@State private var showFeedback = false

var body: some View {
ZStack {
Image("Background")
.resizable()
.ignoresSafeArea()
VStack {
HStack {
Spacer()
.frame(height: 70)
}
ScrollView {
BuyDevCoffeeSection().padding()
ShareApp().padding()
Button {
showFeedback = true
} label: {
HStack(spacing: 15) {
Image(systemName: SFSymbols.plane)
.foregroundColor(.pink)
.font(.system(size: 36))
Text("Send feedback")
.foregroundColor(.primary)
}.frame(maxWidth: .infinity, alignment: .leading)
.row().padding()

}.sheet(isPresented: $showFeedback) {
UserFeedbackView()
}
}
}
Group {
GeometryReader { geometry in
HStack(alignment: .bottom) {
Text("About")
.font(.largeTitle)
.bold()
.padding(.top, 10)
.padding(.leading)
Spacer()
}
.frame(height: geometry.safeAreaInsets.top+80)
.background(.ultraThinMaterial)
.cornerRadius(10, corners: .bottomLeft)
.cornerRadius(10, corners: .bottomRight)
.edgesIgnoringSafeArea(.top)
}
}.shadow(radius: 2)
}
}
}


struct AboutView_Previews: PreviewProvider {
static var previews: some View {
AboutView()
.preferredColorScheme(.dark)
AboutView()
.preferredColorScheme(.light)
}
}
Loading