decent spot with a lot of the add basic info page
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
892179E62765FECD001E6C60 /* FooterControlsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 892179E52765FECD001E6C60 /* FooterControlsViewModel.swift */; };
|
||||
89288EC0276755DF00E962C4 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 89288EBF276755DF00E962C4 /* GoogleService-Info.plist */; };
|
||||
89288ECB27675B9F00E962C4 /* OnboardingTemplateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89288ECA27675B9F00E962C4 /* OnboardingTemplateView.swift */; };
|
||||
894E80BE276ED7A700624B72 /* avatars.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894E80BD276ED7A700624B72 /* avatars.swift */; };
|
||||
89AD5573276DD790001658E0 /* SplashView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89AD5572276DD790001658E0 /* SplashView.swift */; };
|
||||
89AD5575276DE724001658E0 /* PhoneCodeVerificationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89AD5574276DE724001658E0 /* PhoneCodeVerificationView.swift */; };
|
||||
89AD5578276DEAB3001658E0 /* LogoHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89AD5577276DEAB3001658E0 /* LogoHeaderView.swift */; };
|
||||
@@ -90,6 +91,7 @@
|
||||
892179E52765FECD001E6C60 /* FooterControlsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FooterControlsViewModel.swift; sourceTree = "<group>"; };
|
||||
89288EBF276755DF00E962C4 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
|
||||
89288ECA27675B9F00E962C4 /* OnboardingTemplateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingTemplateView.swift; sourceTree = "<group>"; };
|
||||
894E80BD276ED7A700624B72 /* avatars.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = avatars.swift; sourceTree = "<group>"; };
|
||||
89AD5572276DD790001658E0 /* SplashView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SplashView.swift; sourceTree = "<group>"; };
|
||||
89AD5574276DE724001658E0 /* PhoneCodeVerificationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhoneCodeVerificationView.swift; sourceTree = "<group>"; };
|
||||
89AD5577276DEAB3001658E0 /* LogoHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogoHeaderView.swift; sourceTree = "<group>"; };
|
||||
@@ -253,6 +255,7 @@
|
||||
89BDCDE427695DB900577829 /* NirvanaImage.swift */,
|
||||
89BDCDE62769616600577829 /* UIImage+Extension.swift */,
|
||||
89F18AEB276E92BF00115B1E /* CustomExtensions.swift */,
|
||||
894E80BD276ED7A700624B72 /* avatars.swift */,
|
||||
);
|
||||
path = Globals;
|
||||
sourceTree = "<group>";
|
||||
@@ -486,6 +489,7 @@
|
||||
files = (
|
||||
89BDCDEC2769918D00577829 /* OnboardingTrioView.swift in Sources */,
|
||||
891A15E327653A7000B26659 /* ContentView.swift in Sources */,
|
||||
894E80BE276ED7A700624B72 /* avatars.swift in Sources */,
|
||||
89F05B9F276A8D360002E9C7 /* Contact.swift in Sources */,
|
||||
891A160327656FC700B26659 /* HomeView.swift in Sources */,
|
||||
891A160B2765732700B26659 /* HomeViewModel.swift in Sources */,
|
||||
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "undraw_explore_re_8l4v.svg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
nirvana-ios/Assets.xcassets/illustrations/undraw_explore_re_8l4v.imageset/undraw_explore_re_8l4v.svg
Vendored
+1
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 40 KiB |
Vendored
+21
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "undraw_fall_is_coming_yl-0-x.svg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
+1
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 199 KiB |
+21
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "undraw_outdoors_amdn.svg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
Vendored
+1
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 11 KiB |
+21
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "undraw_profile_pic_ic-5-t.svg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-name="Layer 1" width="698" height="698" viewBox="0 0 698 698"><defs><linearGradient id="b247946c-c62f-4d08-994a-4c3d64e1e98f-615" x1="349" y1="698" x2="349" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="gray" stop-opacity="0.25"/><stop offset="0.54" stop-color="gray" stop-opacity="0.12"/><stop offset="1" stop-color="gray" stop-opacity="0.1"/></linearGradient></defs><title>profile pic</title><g opacity="0.5"><circle cx="349" cy="349" r="349" fill="url(#b247946c-c62f-4d08-994a-4c3d64e1e98f-615)"/></g><circle cx="349.68" cy="346.77" r="341.64" fill="#f5f5f5"/><path d="M601,790.76a340,340,0,0,0,187.79-56.2c-12.59-68.8-60.5-72.72-60.5-72.72H464.09s-45.21,3.71-59.33,67A340.07,340.07,0,0,0,601,790.76Z" transform="translate(-251 -101)" fill="#008080"/><circle cx="346.37" cy="339.57" r="164.9" fill="#333"/><path d="M293.15,476.92H398.81a0,0,0,0,1,0,0v84.53A52.83,52.83,0,0,1,346,614.28h0a52.83,52.83,0,0,1-52.83-52.83V476.92a0,0,0,0,1,0,0Z" opacity="0.1"/><path d="M296.5,473h99a3.35,3.35,0,0,1,3.35,3.35v81.18A52.83,52.83,0,0,1,346,610.37h0a52.83,52.83,0,0,1-52.83-52.83V476.35A3.35,3.35,0,0,1,296.5,473Z" fill="#fdb797"/><path d="M544.34,617.82a152.07,152.07,0,0,0,105.66.29v-13H544.34Z" transform="translate(-251 -101)" opacity="0.1"/><circle cx="346.37" cy="372.44" r="151.45" fill="#fdb797"/><path d="M489.49,335.68S553.32,465.24,733.37,390l-41.92-65.73-74.31-26.67Z" transform="translate(-251 -101)" opacity="0.1"/><path d="M489.49,333.78s63.83,129.56,243.88,54.3l-41.92-65.73-74.31-26.67Z" transform="translate(-251 -101)" fill="#333"/><path d="M488.93,325a87.49,87.49,0,0,1,21.69-35.27c29.79-29.45,78.63-35.66,103.68-69.24,6,9.32,1.36,23.65-9,27.65,24-.16,51.81-2.26,65.38-22a44.89,44.89,0,0,1-7.57,47.4c21.27,1,44,15.4,45.34,36.65.92,14.16-8,27.56-19.59,35.68s-25.71,11.85-39.56,14.9C608.86,369.7,462.54,407.07,488.93,325Z" transform="translate(-251 -101)" fill="#333"/><ellipse cx="194.86" cy="372.3" rx="14.09" ry="26.42" fill="#fdb797"/><ellipse cx="497.8" cy="372.3" rx="14.09" ry="26.42" fill="#fdb797"/></svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
+21
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "undraw_regain_focus_ecvj.svg",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
+1
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 13 KiB |
@@ -0,0 +1,75 @@
|
||||
//
|
||||
// avatars.swift
|
||||
// nirvana-ios
|
||||
//
|
||||
// Created by Arjun Patel on 12/18/21.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
struct Avatars {
|
||||
static let avatarSystemNames = [
|
||||
"Artboards_Diversity_Avatars_by_Netguru-1",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-2",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-3",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-4",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-5",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-6",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-7",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-8",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-9",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-10",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-11",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-12",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-13",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-14",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-15",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-16",
|
||||
|
||||
"Artboards_Diversity_Avatars_by_Netguru-17",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-18",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-19",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-20",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-21",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-22",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-23",
|
||||
|
||||
"Artboards_Diversity_Avatars_by_Netguru-24",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-25",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-26",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-27",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-28",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-29",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-30",
|
||||
|
||||
"Artboards_Diversity_Avatars_by_Netguru-31",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-32",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-33",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-34",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-35",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-36",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-37",
|
||||
|
||||
"Artboards_Diversity_Avatars_by_Netguru-38",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-39",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-40",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-41",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-42",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-43",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-44",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-45",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-46",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-47",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-48",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-49",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-50",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-52",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-53",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-54",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-55",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-56",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-57",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-58",
|
||||
"Artboards_Diversity_Avatars_by_Netguru-59"
|
||||
]
|
||||
}
|
||||
@@ -6,8 +6,16 @@
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
import NavigationStack
|
||||
|
||||
struct AddBasicInfoView: View {
|
||||
@EnvironmentObject var navigationStack : NavigationStack
|
||||
|
||||
@State var firstName = ""
|
||||
@State var lastName = ""
|
||||
|
||||
@State var selectedAvatarIndex: Int = 0
|
||||
|
||||
var body: some View {
|
||||
ZStack {
|
||||
// bg
|
||||
@@ -18,7 +26,7 @@ struct AddBasicInfoView: View {
|
||||
Color.clear
|
||||
|
||||
Button {
|
||||
|
||||
self.navigationStack.pop()
|
||||
} label: {
|
||||
Label("back", systemImage:"chevron.left")
|
||||
.labelStyle(.iconOnly)
|
||||
@@ -27,12 +35,76 @@ struct AddBasicInfoView: View {
|
||||
.padding()
|
||||
}
|
||||
|
||||
// all content top down
|
||||
// main content
|
||||
VStack {
|
||||
// header logo area
|
||||
LogoHeaderView()
|
||||
|
||||
Text("Let's Build Your Profile")
|
||||
.font(.title)
|
||||
.fontWeight(.medium)
|
||||
.foregroundColor(NirvanaColor.teal)
|
||||
.multilineTextAlignment(.center)
|
||||
|
||||
// Horizontal scroll view to allow user to select the avatar he or she wants
|
||||
ScrollView(.horizontal, showsIndicators: false) {
|
||||
LazyHStack {
|
||||
ForEach(0..<Avatars.avatarSystemNames.count) { index in
|
||||
Image(Avatars.avatarSystemNames[index])
|
||||
.resizable()
|
||||
.scaledToFit()
|
||||
.frame(width: 100, height: 100, alignment: .center)
|
||||
.blur(radius: self.selectedAvatarIndex == index ? 0 : 4)
|
||||
.onTapGesture {
|
||||
print("selected another avatar: \(index)")
|
||||
|
||||
self.selectedAvatarIndex = index
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.padding()
|
||||
|
||||
// input first and last name
|
||||
VStack {
|
||||
TextField("First Name", text: self.$firstName)
|
||||
.padding()
|
||||
.background(.ultraThinMaterial)
|
||||
.clipShape(Capsule())
|
||||
.keyboardType(.phonePad)
|
||||
.shadow(color: Color.black.opacity(0.3), radius: 20, x: 0, y: 20)
|
||||
.font(.subheadline)
|
||||
.multilineTextAlignment(.center)
|
||||
TextField("Last Name", text: self.$lastName)
|
||||
.padding()
|
||||
.background(.ultraThinMaterial)
|
||||
.clipShape(Capsule())
|
||||
.keyboardType(.phonePad)
|
||||
.shadow(color: Color.black.opacity(0.3), radius: 20, x: 0, y: 20)
|
||||
.font(.subheadline)
|
||||
.multilineTextAlignment(.center)
|
||||
}
|
||||
.padding()
|
||||
|
||||
|
||||
Spacer()
|
||||
|
||||
// button to save information
|
||||
Button {
|
||||
|
||||
} label: {
|
||||
Text("Save")
|
||||
.fontWeight(.heavy)
|
||||
.foregroundColor(Color.white)
|
||||
.frame(maxWidth: .infinity)
|
||||
.padding(.vertical, 20)
|
||||
.background(NirvanaColor.teal)
|
||||
.clipShape(Capsule())
|
||||
.shadow(radius:10)
|
||||
}
|
||||
.padding()
|
||||
}
|
||||
.frame(maxHeight: .infinity)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user