adding in backgrounds but playing around
This commit is contained in:
@@ -46,7 +46,7 @@
|
|||||||
89288ECB27675B9F00E962C4 /* OnboardingTemplateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89288ECA27675B9F00E962C4 /* OnboardingTemplateView.swift */; };
|
89288ECB27675B9F00E962C4 /* OnboardingTemplateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89288ECA27675B9F00E962C4 /* OnboardingTemplateView.swift */; };
|
||||||
894E41D92784BB8000A68728 /* woosh.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 894E41D82784BB8000A68728 /* woosh.mp3 */; };
|
894E41D92784BB8000A68728 /* woosh.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 894E41D82784BB8000A68728 /* woosh.mp3 */; };
|
||||||
894E41DD2784D68600A68728 /* pop.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 894E41DC2784D68600A68728 /* pop.mp3 */; };
|
894E41DD2784D68600A68728 /* pop.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 894E41DC2784D68600A68728 /* pop.mp3 */; };
|
||||||
894E80BE276ED7A700624B72 /* avatars.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894E80BD276ED7A700624B72 /* avatars.swift */; };
|
894E80BE276ED7A700624B72 /* systemImages.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894E80BD276ED7A700624B72 /* systemImages.swift */; };
|
||||||
894E80C1276EFD0500624B72 /* AudioPlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894E80C0276EFD0400624B72 /* AudioPlayerView.swift */; };
|
894E80C1276EFD0500624B72 /* AudioPlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894E80C0276EFD0400624B72 /* AudioPlayerView.swift */; };
|
||||||
894E80C327702E5900624B72 /* AddBasicInfoViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894E80C227702E5800624B72 /* AddBasicInfoViewModel.swift */; };
|
894E80C327702E5900624B72 /* AddBasicInfoViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894E80C227702E5800624B72 /* AddBasicInfoViewModel.swift */; };
|
||||||
896CE6FE27707E6B00DB474E /* CircleNavigationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 896CE6FD27707E6B00DB474E /* CircleNavigationView.swift */; };
|
896CE6FE27707E6B00DB474E /* CircleNavigationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 896CE6FD27707E6B00DB474E /* CircleNavigationView.swift */; };
|
||||||
@@ -139,7 +139,7 @@
|
|||||||
89288ECA27675B9F00E962C4 /* OnboardingTemplateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingTemplateView.swift; sourceTree = "<group>"; };
|
89288ECA27675B9F00E962C4 /* OnboardingTemplateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingTemplateView.swift; sourceTree = "<group>"; };
|
||||||
894E41D82784BB8000A68728 /* woosh.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = woosh.mp3; sourceTree = "<group>"; };
|
894E41D82784BB8000A68728 /* woosh.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = woosh.mp3; sourceTree = "<group>"; };
|
||||||
894E41DC2784D68600A68728 /* pop.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = pop.mp3; sourceTree = "<group>"; };
|
894E41DC2784D68600A68728 /* pop.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = pop.mp3; sourceTree = "<group>"; };
|
||||||
894E80BD276ED7A700624B72 /* avatars.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = avatars.swift; sourceTree = "<group>"; };
|
894E80BD276ED7A700624B72 /* systemImages.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = systemImages.swift; sourceTree = "<group>"; };
|
||||||
894E80C0276EFD0400624B72 /* AudioPlayerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AudioPlayerView.swift; sourceTree = "<group>"; };
|
894E80C0276EFD0400624B72 /* AudioPlayerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AudioPlayerView.swift; sourceTree = "<group>"; };
|
||||||
894E80C227702E5800624B72 /* AddBasicInfoViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddBasicInfoViewModel.swift; sourceTree = "<group>"; };
|
894E80C227702E5800624B72 /* AddBasicInfoViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddBasicInfoViewModel.swift; sourceTree = "<group>"; };
|
||||||
896CE6FD27707E6B00DB474E /* CircleNavigationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CircleNavigationView.swift; sourceTree = "<group>"; };
|
896CE6FD27707E6B00DB474E /* CircleNavigationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CircleNavigationView.swift; sourceTree = "<group>"; };
|
||||||
@@ -363,7 +363,7 @@
|
|||||||
89BDCDE427695DB900577829 /* NirvanaImage.swift */,
|
89BDCDE427695DB900577829 /* NirvanaImage.swift */,
|
||||||
89BDCDE62769616600577829 /* UIImage+Extension.swift */,
|
89BDCDE62769616600577829 /* UIImage+Extension.swift */,
|
||||||
89F18AEB276E92BF00115B1E /* CustomExtensions.swift */,
|
89F18AEB276E92BF00115B1E /* CustomExtensions.swift */,
|
||||||
894E80BD276ED7A700624B72 /* avatars.swift */,
|
894E80BD276ED7A700624B72 /* systemImages.swift */,
|
||||||
896CE70827712CED00DB474E /* StringExtension.swift */,
|
896CE70827712CED00DB474E /* StringExtension.swift */,
|
||||||
);
|
);
|
||||||
path = Globals;
|
path = Globals;
|
||||||
@@ -647,7 +647,7 @@
|
|||||||
891A15E327653A7000B26659 /* ContentView.swift in Sources */,
|
891A15E327653A7000B26659 /* ContentView.swift in Sources */,
|
||||||
891060E4277359B900F14509 /* CloudStorageService.swift in Sources */,
|
891060E4277359B900F14509 /* CloudStorageService.swift in Sources */,
|
||||||
896CE7002770847400DB474E /* CircleFooterView.swift in Sources */,
|
896CE7002770847400DB474E /* CircleFooterView.swift in Sources */,
|
||||||
894E80BE276ED7A700624B72 /* avatars.swift in Sources */,
|
894E80BE276ED7A700624B72 /* systemImages.swift in Sources */,
|
||||||
89091997277DDE030025F4BB /* ProfilePicturesOverlappedView.swift in Sources */,
|
89091997277DDE030025F4BB /* ProfilePicturesOverlappedView.swift in Sources */,
|
||||||
890C2462277BF935009B4A30 /* CallView.swift in Sources */,
|
890C2462277BF935009B4A30 /* CallView.swift in Sources */,
|
||||||
896CE7052770AE5D00DB474E /* InboxView.swift in Sources */,
|
896CE7052770AE5D00DB474E /* InboxView.swift in Sources */,
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"filename" : "beach.jpg",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 2.0 MiB |
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"filename" : "beach2.jpg",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 912 KiB |
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"filename" : "clouds.jpg",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 2.4 MiB |
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"filename" : "clouds2.jpg",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 4.9 MiB |
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"filename" : "lotuses.jpg",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 3.4 MiB |
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"filename" : "waves.jpg",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 1.5 MiB |
@@ -7,8 +7,17 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
struct Avatars {
|
struct SystemImages {
|
||||||
static let avatarSystemNames = [
|
static let wallpapers = [
|
||||||
|
"clouds",
|
||||||
|
"lotuses",
|
||||||
|
"clouds2",
|
||||||
|
"waves",
|
||||||
|
"beach",
|
||||||
|
"beach2"
|
||||||
|
]
|
||||||
|
|
||||||
|
static let avatars = [
|
||||||
"Artboards_Diversity_Avatars_by_Netguru-1",
|
"Artboards_Diversity_Avatars_by_Netguru-1",
|
||||||
"Artboards_Diversity_Avatars_by_Netguru-2",
|
"Artboards_Diversity_Avatars_by_Netguru-2",
|
||||||
"Artboards_Diversity_Avatars_by_Netguru-3",
|
"Artboards_Diversity_Avatars_by_Netguru-3",
|
||||||
@@ -63,8 +63,8 @@ struct AddBasicInfoView: View {
|
|||||||
// Horizontal scroll view to allow user to select the avatar he or she wants
|
// Horizontal scroll view to allow user to select the avatar he or she wants
|
||||||
ScrollView([.horizontal, .vertical], showsIndicators: false) {
|
ScrollView([.horizontal, .vertical], showsIndicators: false) {
|
||||||
LazyVGrid(columns: columns) {
|
LazyVGrid(columns: columns) {
|
||||||
ForEach(0..<Avatars.avatarSystemNames.count, id: \.self) { index in
|
ForEach(0..<SystemImages.avatars.count, id: \.self) { index in
|
||||||
Image(Avatars.avatarSystemNames[index])
|
Image(SystemImages.avatars[index])
|
||||||
.resizable()
|
.resizable()
|
||||||
.scaledToFit()
|
.scaledToFit()
|
||||||
.frame(width: 50, height: 50, alignment: .center)
|
.frame(width: 50, height: 50, alignment: .center)
|
||||||
@@ -107,7 +107,7 @@ struct AddBasicInfoView: View {
|
|||||||
// button to save information
|
// button to save information
|
||||||
Button {
|
Button {
|
||||||
var updatedUser = self.authSessionStore.user
|
var updatedUser = self.authSessionStore.user
|
||||||
updatedUser?.avatar = Avatars.avatarSystemNames[self.selectedAvatarIndex]
|
updatedUser?.avatar = SystemImages.avatars[self.selectedAvatarIndex]
|
||||||
updatedUser?.nickname = self.nickname
|
updatedUser?.nickname = self.nickname
|
||||||
|
|
||||||
print("attempting to save information \(updatedUser)")
|
print("attempting to save information \(updatedUser)")
|
||||||
@@ -137,7 +137,7 @@ struct AddBasicInfoView: View {
|
|||||||
self.nickname = self.authSessionStore.user?.nickname ?? ""
|
self.nickname = self.authSessionStore.user?.nickname ?? ""
|
||||||
|
|
||||||
if self.authSessionStore.user?.avatar != nil { // if user has previously selected an avatar
|
if self.authSessionStore.user?.avatar != nil { // if user has previously selected an avatar
|
||||||
self.selectedAvatarIndex = Avatars.avatarSystemNames.firstIndex(of: (self.authSessionStore.user?.avatar)!) ?? 0 // 0 in case the system names doesn't have it anymore
|
self.selectedAvatarIndex = SystemImages.avatars.firstIndex(of: (self.authSessionStore.user?.avatar)!) ?? 0 // 0 in case the system names doesn't have it anymore
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ class AddBasicInfoViewModel : ObservableObject {
|
|||||||
completion()
|
completion()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if !Avatars.avatarSystemNames.contains(currUser.avatar!) {
|
if !SystemImages.avatars.contains(currUser.avatar!) {
|
||||||
self.state = .failed("Invalid avatar selected!")
|
self.state = .failed("Invalid avatar selected!")
|
||||||
completion()
|
completion()
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ struct ListContactRow: View {
|
|||||||
if contact.isExisting { // add to circle
|
if contact.isExisting { // add to circle
|
||||||
// TODO: check if this contact is already in user's circle
|
// TODO: check if this contact is already in user's circle
|
||||||
HStack(alignment: .center, spacing: 0) {
|
HStack(alignment: .center, spacing: 0) {
|
||||||
Image(contact.user?.avatar ?? Avatars.avatarSystemNames[1])
|
Image(contact.user?.avatar ?? SystemImages.avatars[1])
|
||||||
.resizable()
|
.resizable()
|
||||||
.scaledToFit()
|
.scaledToFit()
|
||||||
.clipShape(Circle())
|
.clipShape(Circle())
|
||||||
@@ -167,7 +167,7 @@ struct ListContactRow: View {
|
|||||||
}
|
}
|
||||||
else { // invite button to text the person
|
else { // invite button to text the person
|
||||||
HStack(alignment: .center, spacing: 0) {
|
HStack(alignment: .center, spacing: 0) {
|
||||||
Image(Avatars.avatarSystemNames[1])
|
Image(SystemImages.avatars[1])
|
||||||
.resizable()
|
.resizable()
|
||||||
.scaledToFit()
|
.scaledToFit()
|
||||||
.clipShape(Circle())
|
.clipShape(Circle())
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ struct ProfilePicturesOverlappedView: View {
|
|||||||
var body: some View {
|
var body: some View {
|
||||||
ZStack {
|
ZStack {
|
||||||
ForEach(0..<users.count, id: \.self) {userIndex in
|
ForEach(0..<users.count, id: \.self) {userIndex in
|
||||||
Image(users[userIndex].avatar ?? Avatars.avatarSystemNames[1])
|
Image(users[userIndex].avatar ?? SystemImages.avatars[1])
|
||||||
.resizable()
|
.resizable()
|
||||||
.scaledToFit()
|
.scaledToFit()
|
||||||
.background(NirvanaColor.dimTeal)
|
.background(NirvanaColor.dimTeal)
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ struct CircleGridView: View {
|
|||||||
UserStatusView(status: self.authSessionStore.relevantUsersDict[friendId]?.userStatus, size: 20, padding: 5)
|
UserStatusView(status: self.authSessionStore.relevantUsersDict[friendId]?.userStatus, size: 20, padding: 5)
|
||||||
|
|
||||||
// inside avatar
|
// inside avatar
|
||||||
Image(self.authSessionStore.relevantUsersDict[friendId]?.avatar ?? Avatars.avatarSystemNames[0])
|
Image(self.authSessionStore.relevantUsersDict[friendId]?.avatar ?? SystemImages.avatars[0])
|
||||||
.resizable()
|
.resizable()
|
||||||
.scaledToFit()
|
.scaledToFit()
|
||||||
.shadow(color: Color.black.opacity(0.2), radius: 10, x: 0, y: 20)
|
.shadow(color: Color.black.opacity(0.2), radius: 10, x: 0, y: 20)
|
||||||
@@ -289,7 +289,7 @@ struct CircleGridView: View {
|
|||||||
.blur(radius: 5)
|
.blur(radius: 5)
|
||||||
.cornerRadius(100)
|
.cornerRadius(100)
|
||||||
|
|
||||||
Image(self.authSessionStore.relevantUsersDict[inboxUserId]?.avatar ?? Avatars.avatarSystemNames[0])
|
Image(self.authSessionStore.relevantUsersDict[inboxUserId]?.avatar ?? SystemImages.avatars[0])
|
||||||
.resizable()
|
.resizable()
|
||||||
.scaledToFit()
|
.scaledToFit()
|
||||||
.shadow(color: Color.black.opacity(0.2), radius: 10, x: 0, y: 20)
|
.shadow(color: Color.black.opacity(0.2), radius: 10, x: 0, y: 20)
|
||||||
@@ -481,7 +481,7 @@ struct CircleGridView: View {
|
|||||||
|
|
||||||
private func getBubbleTint(convoId: String?) -> Color {
|
private func getBubbleTint(convoId: String?) -> Color {
|
||||||
if convoId != nil && convoId == self.convoVM.selectedConvoId {
|
if convoId != nil && convoId == self.convoVM.selectedConvoId {
|
||||||
return NirvanaColor.teal.opacity(0.7)
|
return Color.green
|
||||||
}
|
}
|
||||||
|
|
||||||
return NirvanaColor.dimTeal.opacity(0.2)
|
return NirvanaColor.dimTeal.opacity(0.2)
|
||||||
|
|||||||
@@ -15,20 +15,25 @@ struct WavesGlassBackgroundView: View {
|
|||||||
var isRecording: Bool = false
|
var isRecording: Bool = false
|
||||||
|
|
||||||
@State var animateWaves = false
|
@State var animateWaves = false
|
||||||
|
@State var backgroundImage = ""
|
||||||
|
|
||||||
let recordingColors = [NirvanaColor.solidBlue, NirvanaColor.dimTeal, Color.orange.opacity(0.8), NirvanaColor.teal.opacity(0.7), NirvanaColor.teal.opacity(0.7), NirvanaColor.solidTeal.opacity(0.7), NirvanaColor.solidBlue]
|
let recordingColors = [NirvanaColor.solidBlue, NirvanaColor.dimTeal, Color.orange.opacity(0.8), NirvanaColor.teal.opacity(0.7), NirvanaColor.teal.opacity(0.7), NirvanaColor.solidTeal.opacity(0.7), NirvanaColor.solidBlue]
|
||||||
let normalColors = [NirvanaColor.solidBlue, NirvanaColor.dimTeal, Color.orange.opacity(0.4), NirvanaColor.teal.opacity(0.5), NirvanaColor.teal.opacity(0.3), NirvanaColor.solidTeal.opacity(0.3), NirvanaColor.solidBlue]
|
let normalColors = [NirvanaColor.solidBlue, NirvanaColor.dimTeal, Color.orange.opacity(0.4), NirvanaColor.teal.opacity(0.5), NirvanaColor.teal.opacity(0.3), NirvanaColor.solidTeal.opacity(0.3), NirvanaColor.solidBlue]
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
ZStack {
|
ZStack {
|
||||||
AngularGradient(
|
AngularGradient(
|
||||||
gradient: Gradient(
|
gradient: Gradient(
|
||||||
colors: self.isRecording ? recordingColors : normalColors),
|
colors: self.isRecording ? recordingColors : normalColors),
|
||||||
center: .bottom,
|
center: .bottom,
|
||||||
angle: .degrees(120))
|
angle: .degrees(120))
|
||||||
|
|
||||||
|
Image("beach2")
|
||||||
|
.resizable()
|
||||||
|
|
||||||
|
|
||||||
LinearGradient(gradient: Gradient(
|
LinearGradient(gradient: Gradient(
|
||||||
colors: [NirvanaColor.white.opacity(0), NirvanaColor.white.opacity(1.0)]), startPoint: .bottom, endPoint: .top)
|
colors: [NirvanaColor.white.opacity(0.2), NirvanaColor.white.opacity(1.0)]), startPoint: .bottom, endPoint: .top)
|
||||||
|
|
||||||
getWave(peakPercentage: 0.4, troughPercentage: 0.65, peakAltercation: baseLineY, troughAltercation: baseLineY - 50)
|
getWave(peakPercentage: 0.4, troughPercentage: 0.65, peakAltercation: baseLineY, troughAltercation: baseLineY - 50)
|
||||||
.foregroundColor(NirvanaColor.dimTeal.opacity(0.5))
|
.foregroundColor(NirvanaColor.dimTeal.opacity(0.5))
|
||||||
@@ -62,6 +67,10 @@ struct WavesGlassBackgroundView: View {
|
|||||||
.onAppear() {
|
.onAppear() {
|
||||||
// start repeat animation for waves
|
// start repeat animation for waves
|
||||||
self.animateWaves = true
|
self.animateWaves = true
|
||||||
|
|
||||||
|
// randomly choose a wallpaper out of all available
|
||||||
|
let randomInt = Int.random(in: 0..<SystemImages.wallpapers.count)
|
||||||
|
self.backgroundImage = SystemImages.wallpapers[randomInt]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user