Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
b85d6be
Changed name
Feb 22, 2022
22d8a46
Adjusted Edit button
Feb 22, 2022
1cc0e2e
Adjusting name back to coffee_
Feb 22, 2022
77a543d
updated coffee name
Feb 22, 2022
5b8c96b
COF-1 can edit a bean
Feb 23, 2022
ab77b6e
Added cloudkit and entitlement
Feb 23, 2022
e2424fd
Merge pull request #1 from maeganwilson/COF-1-Edit-view
Feb 23, 2022
9307201
Adjusting row view and list
Feb 24, 2022
c6e9ba4
COF-15 bug fixes (#2)
Mar 2, 2022
554c615
cof-17 Adjusting details
Mar 7, 2022
631dd69
Working on colors
Mar 7, 2022
c5ca789
Adjusting for dark views
Mar 7, 2022
09e7fa2
Can details in each view
Mar 7, 2022
024e01a
Animations work better
Mar 8, 2022
3f359af
Adjusted view
Mar 8, 2022
1301ce0
Added title
Mar 8, 2022
158902d
Adjusted colors
Mar 8, 2022
bd0728c
Maegan/cof 2 add photo to bean tracker (#4)
Mar 9, 2022
8ac4f75
Made a separate function to resetbeans
Mar 11, 2022
37d3f9f
cof-8 Added launch screen
Mar 11, 2022
0336349
Merge pull request #8 from CCTPlus/cof-8-make-launch-screen
Mar 11, 2022
34a4cc7
Focus field
Mar 16, 2022
801cf42
Fixed issue with empty state
Mar 16, 2022
7f2d9b5
Needed to update photo in the did change function
Mar 16, 2022
5ed793c
Merge pull request #10 from CCTPlus/cof-18-when-adding-a-bean-all-pho…
Mar 16, 2022
1be61c8
Adding background files
Mar 16, 2022
1850f4f
Backgrounds are working
Mar 16, 2022
9ab6270
style: change background and color for light mode
Mar 16, 2022
7ec0464
style: background thickness
Mar 16, 2022
280aa41
style: changes padding and shadow color
Mar 16, 2022
03f85b9
test: changes test data
Mar 16, 2022
cb9c9e7
style: change the text, shadow, and background colors of rows
Mar 17, 2022
688b648
style: changes FAB button size and the background of new beans
Mar 17, 2022
28f5132
Merge pull request #11 from CCTPlus/cof-20-change-background-and-appl…
Mar 17, 2022
5fb35d3
fix: Changed icon
Mar 17, 2022
a5c107a
Merge pull request #12 from CCTPlus/cof-23-change-app-icon
Mar 17, 2022
1b065a4
COF-19 about screen (#19)
Mar 24, 2022
398fcea
COF-22 navigation between beans about and new (#20)
Mar 24, 2022
dc1058b
This should fix the issue (#21)
Mar 24, 2022
b3160d9
COF-32 can't see last coffee (#22)
Mar 24, 2022
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
174 changes: 159 additions & 15 deletions CoffeeTracker/CoffeeTracker.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

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

80 changes: 80 additions & 0 deletions CoffeeTracker/CoffeeTracker/About/AboutView.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
//
// 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()
}

HStack {
Spacer()
.frame(height: 120)
}
}
}
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)
}
}
107 changes: 107 additions & 0 deletions CoffeeTracker/CoffeeTracker/About/BuyDevCoffeeSection.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
//
// BuyDevCoffeeSection.swift
// CoffeeTracker
//
// Created by Maegan Wilson on 3/18/22.
//

import SwiftUI
import RevenueCat

struct BuyDevCoffeeSection: View {
@Environment(\.colorScheme) private var colorScheme

@State private var package: Package? = nil
@State private var cupsPurchased = 0

var amount: Double {
guard let package = package else {
return 0.0
}
return Double(cupsPurchased) * Double(truncating: package.storeProduct.priceDecimalNumber)
}

let formatter = FloatingPointFormatStyle<Double>.Currency.currency(code: Locale.current.currencyCode ?? "USD")

var body: some View {
VStack(alignment: .center, spacing: 20) {
HStack {
Image(systemName: SFSymbols.coffee)
.font(.title2)
.foregroundColor(colorScheme == .light ? .blue : Color(red: 97.0/255.0, green: 176.0/255.0, blue: 1.0))
Text("Coffee fund")
.font(.title2).bold()
}
HStack {
Text("Cups purchased")
.font(.headline)
Spacer()
Text("\(cupsPurchased)")
}
HStack {
Text("Amount spent")
.font(.headline)
Spacer()
Text(amount, format: formatter)
}
Button {
Purchases.shared.purchase(package: package!) { transaction, customerInfo, error, cancelled in
if transaction != nil {
cupsPurchased += 1
}
}
} label: {
Text("Buy the dev a cup of coffee")
.foregroundColor(.black)
.padding(15)
.background(Color.green)
.cornerRadius(10)
}
Text("This just shows support to Maegan and helps the app continue to be developed in the wee hours of the morning and the evening.")
.font(.caption2)
.foregroundColor(.secondary)
}.row()
.onAppear {
Purchases.shared.getOfferings { (offerings, error) in
if let packages = offerings?.current?.availablePackages {
for package in packages {
self.package = package
}
getAllPurchases()
}
}
}
}

func getAllPurchases() {
Purchases.shared.getCustomerInfo { customerInfo, error in
guard let customerInfo = customerInfo else {
return
}

for transaction in customerInfo.nonSubscriptionTransactions {
print(transaction.productIdentifier)
if package?.storeProduct.productIdentifier == transaction.productIdentifier {
cupsPurchased += 1
}
}
}
}
}

struct BuyDevCoffeeSection_Previews: PreviewProvider {
static var previews: some View {
ZStack {
Image("Background")
.resizable()
.ignoresSafeArea()
BuyDevCoffeeSection().preferredColorScheme(.dark).padding()
}.preferredColorScheme(.dark)
ZStack {
Image("Background")
.resizable()
.ignoresSafeArea()
BuyDevCoffeeSection().preferredColorScheme(.dark).padding()
}.preferredColorScheme(.light)
}
}
45 changes: 45 additions & 0 deletions CoffeeTracker/CoffeeTracker/About/ShareApp.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
//
// ShareApp.swift
// CoffeeTracker
//
// Created by Maegan Wilson on 3/21/22.
//

import SwiftUI

struct ShareApp: View {

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

var body: some View {
Button {
showingSheet = true
} label: {
HStack(spacing: 15) {
Image(systemName: SFSymbols.share)
.foregroundColor(.pink)
.font(.system(size: 36))
Text("Share coffee_ with someone")
.foregroundColor(.primary)
}.frame(maxWidth: .infinity, alignment: .leading)
.row()
}
.sheet(isPresented: $showingSheet) {
ActivityView(activityItems: [NSURL(string: "https://cctplus.dev")!] as [Any], applicationActivities: nil)
}

}
}

struct ShareApp_Previews: PreviewProvider {
static var previews: some View {
ZStack {
Image("Background")
.resizable()
.ignoresSafeArea()
ShareApp()
.padding()
}
}
}
Loading