cleaning up home page background

This commit is contained in:
talksik
2021-12-16 12:18:59 -08:00
parent a4a76dcacd
commit 6a020d6c32
3 changed files with 66 additions and 120 deletions
-17
View File
@@ -39,7 +39,6 @@
89BDCDEC2769918D00577829 /* OnboardingTrioView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89BDCDEB2769918D00577829 /* OnboardingTrioView.swift */; }; 89BDCDEC2769918D00577829 /* OnboardingTrioView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89BDCDEB2769918D00577829 /* OnboardingTrioView.swift */; };
89BDCDEF2769B50C00577829 /* ContactsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89BDCDEE2769B50C00577829 /* ContactsView.swift */; }; 89BDCDEF2769B50C00577829 /* ContactsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89BDCDEE2769B50C00577829 /* ContactsView.swift */; };
89BDCDF12769E64200577829 /* Firestore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89BDCDF02769E64200577829 /* Firestore.swift */; }; 89BDCDF12769E64200577829 /* Firestore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89BDCDF02769E64200577829 /* Firestore.swift */; };
89D99D2E2766FD6B00237814 /* Liquid in Frameworks */ = {isa = PBXBuildFile; productRef = 89D99D2D2766FD6B00237814 /* Liquid */; };
89F05B9B276A87920002E9C7 /* ContactsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89F05B9A276A87920002E9C7 /* ContactsViewModel.swift */; }; 89F05B9B276A87920002E9C7 /* ContactsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89F05B9A276A87920002E9C7 /* ContactsViewModel.swift */; };
89F05B9F276A8D360002E9C7 /* Contact.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89F05B9E276A8D360002E9C7 /* Contact.swift */; }; 89F05B9F276A8D360002E9C7 /* Contact.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89F05B9E276A8D360002E9C7 /* Contact.swift */; };
89F05BA4276ACC060002E9C7 /* ContactService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89F05BA3276ACC060002E9C7 /* ContactService.swift */; }; 89F05BA4276ACC060002E9C7 /* ContactService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89F05BA3276ACC060002E9C7 /* ContactService.swift */; };
@@ -95,7 +94,6 @@
89288EC5276756DF00E962C4 /* FirebaseAuth in Frameworks */, 89288EC5276756DF00E962C4 /* FirebaseAuth in Frameworks */,
89288EC7276756DF00E962C4 /* FirebaseDatabase in Frameworks */, 89288EC7276756DF00E962C4 /* FirebaseDatabase in Frameworks */,
89288EC9276756DF00E962C4 /* FirebaseStorage in Frameworks */, 89288EC9276756DF00E962C4 /* FirebaseStorage in Frameworks */,
89D99D2E2766FD6B00237814 /* Liquid in Frameworks */,
89F138702767F55F006680ED /* GoogleSignIn in Frameworks */, 89F138702767F55F006680ED /* GoogleSignIn in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
@@ -304,7 +302,6 @@
); );
name = "nirvana-ios"; name = "nirvana-ios";
packageProductDependencies = ( packageProductDependencies = (
89D99D2D2766FD6B00237814 /* Liquid */,
89288EC2276756DF00E962C4 /* FirebaseAnalytics */, 89288EC2276756DF00E962C4 /* FirebaseAnalytics */,
89288EC4276756DF00E962C4 /* FirebaseAuth */, 89288EC4276756DF00E962C4 /* FirebaseAuth */,
89288EC6276756DF00E962C4 /* FirebaseDatabase */, 89288EC6276756DF00E962C4 /* FirebaseDatabase */,
@@ -341,7 +338,6 @@
); );
mainGroup = 891A15D427653A7000B26659; mainGroup = 891A15D427653A7000B26659;
packageReferences = ( packageReferences = (
89D99D2C2766FD6B00237814 /* XCRemoteSwiftPackageReference "liquid" */,
89288EC1276756DF00E962C4 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */, 89288EC1276756DF00E962C4 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */,
89F1386E2767F55F006680ED /* XCRemoteSwiftPackageReference "GoogleSignIn-iOS" */, 89F1386E2767F55F006680ED /* XCRemoteSwiftPackageReference "GoogleSignIn-iOS" */,
89BCABE0276B3CB0009E9B10 /* XCRemoteSwiftPackageReference "swiftui-navigation-stack" */, 89BCABE0276B3CB0009E9B10 /* XCRemoteSwiftPackageReference "swiftui-navigation-stack" */,
@@ -630,14 +626,6 @@
minimumVersion = 1.0.0; minimumVersion = 1.0.0;
}; };
}; };
89D99D2C2766FD6B00237814 /* XCRemoteSwiftPackageReference "liquid" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/maustinstar/liquid";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 0.0.2;
};
};
89F1386E2767F55F006680ED /* XCRemoteSwiftPackageReference "GoogleSignIn-iOS" */ = { 89F1386E2767F55F006680ED /* XCRemoteSwiftPackageReference "GoogleSignIn-iOS" */ = {
isa = XCRemoteSwiftPackageReference; isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/google/GoogleSignIn-iOS.git"; repositoryURL = "https://github.com/google/GoogleSignIn-iOS.git";
@@ -674,11 +662,6 @@
package = 89BCABE0276B3CB0009E9B10 /* XCRemoteSwiftPackageReference "swiftui-navigation-stack" */; package = 89BCABE0276B3CB0009E9B10 /* XCRemoteSwiftPackageReference "swiftui-navigation-stack" */;
productName = NavigationStack; productName = NavigationStack;
}; };
89D99D2D2766FD6B00237814 /* Liquid */ = {
isa = XCSwiftPackageProductDependency;
package = 89D99D2C2766FD6B00237814 /* XCRemoteSwiftPackageReference "liquid" */;
productName = Liquid;
};
89F1386F2767F55F006680ED /* GoogleSignIn */ = { 89F1386F2767F55F006680ED /* GoogleSignIn */ = {
isa = XCSwiftPackageProductDependency; isa = XCSwiftPackageProductDependency;
package = 89F1386E2767F55F006680ED /* XCRemoteSwiftPackageReference "GoogleSignIn-iOS" */; package = 89F1386E2767F55F006680ED /* XCRemoteSwiftPackageReference "GoogleSignIn-iOS" */;
@@ -109,15 +109,6 @@
"version": "1.22.2" "version": "1.22.2"
} }
}, },
{
"package": "Liquid",
"repositoryURL": "https://github.com/maustinstar/liquid",
"state": {
"branch": null,
"revision": "9123b9d1fb24c8273c989924b4e889f07629a26b",
"version": "0.0.2"
}
},
{ {
"package": "nanopb", "package": "nanopb",
"repositoryURL": "https://github.com/firebase/nanopb.git", "repositoryURL": "https://github.com/firebase/nanopb.git",
@@ -15,111 +15,83 @@ struct InnerCircleView: View {
var body: some View { var body: some View {
ZStack { ZStack {
AngularGradient( VStack {
gradient: Gradient( HStack {
colors: [NirvanaColor.solidBlue, NirvanaColor.dimTeal, Color.orange, NirvanaColor.solidBlue]), Image("undraw_handcrafts_leaf")
center: .center, .resizable()
angle: .degrees(120)) .frame(width: 20.0, height: 32.132)
LinearGradient(gradient: Gradient( Text("nirvana")
colors: [NirvanaColor.white.opacity(0), NirvanaColor.white.opacity(1.0)]), startPoint: .bottom, endPoint: .top) .font(Font.custom("Satisfy-Regular", size: 35))
.foregroundColor(NirvanaColor.teal)
// wave #1 .multilineTextAlignment(.center)
Path {path in }
path.move(
to: CGPoint(
x: 0,
y: baseLineY
)
)
path.addCurve(
to: CGPoint(x: universalSize.width, y: baseLineY),
control1: CGPoint(x: universalSize.width * 0.4, y: baseLineY + 150),
control2: CGPoint(x: universalSize.width * 0.65, y: baseLineY - 100))
path.addCurve(
to: CGPoint(x: 2*universalSize.width, y: baseLineY),
control1: CGPoint(x: universalSize.width * 1.4, y: baseLineY + 150),
control2: CGPoint(x: universalSize.width * 1.65, y: baseLineY - 100))
path.addLine(to: CGPoint(x: 2*universalSize.width, y: universalSize.height))
path.addLine(to: CGPoint(x: 0, y: universalSize.height))
} }
.foregroundColor(NirvanaColor.dimTeal.opacity(0.5)) // background
.blur(radius:2) ZStack {
.offset(x: self.animateWaves ? -1*universalSize.width : 0) AngularGradient(
.animation( gradient: Gradient(
Animation.linear(duration: 20).repeatForever(autoreverses: false) colors: [NirvanaColor.solidBlue, NirvanaColor.dimTeal, Color.orange, NirvanaColor.solidBlue]),
) center: .center,
angle: .degrees(120))
// wave #2
Path {path in LinearGradient(gradient: Gradient(
path.move( colors: [NirvanaColor.white.opacity(0), NirvanaColor.white.opacity(1.0)]), startPoint: .bottom, endPoint: .top)
to: CGPoint(
x: 0, getWave(peakPercentage: 0.4, troughPercentage: 0.65, peakAltercation: baseLineY + 150, troughAltercation: baseLineY - 90)
y: baseLineY + 20 .foregroundColor(NirvanaColor.dimTeal.opacity(0.5))
.blur(radius:2)
.offset(x: self.animateWaves ? -1*universalSize.width : 0)
.animation(
Animation.linear(duration: 20).repeatForever(autoreverses: false)
) )
)
path.addCurve(
to: CGPoint(x: universalSize.width, y: baseLineY + 30),
control1: CGPoint(x: universalSize.width * 0.2, y: baseLineY - 50),
control2: CGPoint(x: universalSize.width * 0.75, y: baseLineY + 100))
path.addCurve( getWave(peakPercentage: 0.2, troughPercentage: 0.75, peakAltercation: baseLineY - 50, troughAltercation: baseLineY + 100)
to: CGPoint(x: 2*universalSize.width, y: baseLineY), .foregroundColor(Color.orange.opacity(0.3))
control1: CGPoint(x: universalSize.width * 1.2, y: baseLineY - 50), .blur(radius:2)
control2: CGPoint(x: universalSize.width * 1.75, y: baseLineY + 100)) .offset(x: self.animateWaves ? -1*universalSize.width : 0)
.animation(
path.addLine(to: CGPoint(x: 2*universalSize.width, y: universalSize.height)) Animation.linear(duration: 10).repeatForever(autoreverses: false)
path.addLine(to: CGPoint(x: 0, y: universalSize.height))
}
.foregroundColor(Color.orange.opacity(0.3))
.blur(radius:2)
.offset(x: self.animateWaves ? -1*universalSize.width : 0)
.animation(
Animation.linear(duration: 10).repeatForever(autoreverses: false)
)
// wave #3
Path {path in
path.move(
to: CGPoint(
x: 0,
y: baseLineY - 20
) )
)
path.addCurve(
to: CGPoint(x: universalSize.width, y: baseLineY),
control1: CGPoint(x: universalSize.width * 0.25, y: baseLineY + 70),
control2: CGPoint(x: universalSize.width * 0.75, y: baseLineY - 100))
path.addCurve( getWave(peakPercentage: 0.25, troughPercentage: 0.75, peakAltercation: baseLineY + 70, troughAltercation: baseLineY - 100)
to: CGPoint(x: 2*universalSize.width, y: baseLineY), .foregroundColor(NirvanaColor.teal.opacity(0.3))
control1: CGPoint(x: universalSize.width * 1.25, y: baseLineY + 70), .blur(radius:2)
control2: CGPoint(x: universalSize.width * 1.75, y: baseLineY - 100)) .offset(x: self.animateWaves ? -1*universalSize.width : 0)
.animation(
Animation.linear(duration: 12).repeatForever(autoreverses: false)
path.addLine(to: CGPoint(x: 2*universalSize.width, y: universalSize.height)) )
path.addLine(to: CGPoint(x: 0, y: universalSize.height))
} }
.foregroundColor(NirvanaColor.teal.opacity(0.3))
.blur(radius:2)
.offset(x: self.animateWaves ? -1*universalSize.width : 0)
.animation(
Animation.linear(duration: 12).repeatForever(autoreverses: false)
)
} }
.onAppear() { .onAppear() {
self.animateWaves = true self.animateWaves = true
} }
.ignoresSafeArea(.all) .ignoresSafeArea(.all)
}
private func getWave(peakPercentage: Double, troughPercentage: Double, peakAltercation: CGFloat, troughAltercation: CGFloat) -> Path {
Path {path in
path.move(
to: CGPoint(
x: 0,
y: baseLineY
)
)
path.addCurve(
to: CGPoint(x: universalSize.width, y: baseLineY),
control1: CGPoint(x: universalSize.width * peakPercentage, y: peakAltercation),
control2: CGPoint(x: universalSize.width * troughPercentage, y: troughAltercation))
path.addCurve(
to: CGPoint(x: 2*universalSize.width, y: baseLineY),
control1: CGPoint(x: universalSize.width * (1 + peakPercentage), y: peakAltercation),
control2: CGPoint(x: universalSize.width * (1 + troughPercentage), y: troughAltercation))
path.addLine(to: CGPoint(x: 2*universalSize.width, y: universalSize.height))
path.addLine(to: CGPoint(x: 0, y: universalSize.height))
}
} }
} }