initial welcome page and some of the carousel done

This commit is contained in:
talksik
2021-12-11 19:26:32 -08:00
parent 315fe6210b
commit 1bfcbe4b4f
52 changed files with 954 additions and 2 deletions
+90
View File
@@ -0,0 +1,90 @@
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
## User settings
xcuserdata/
## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
*.xcscmblueprint
*.xccheckout
## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
build/
DerivedData/
*.moved-aside
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
## Obj-C/Swift specific
*.hmap
## App packaging
*.ipa
*.dSYM.zip
*.dSYM
## Playgrounds
timeline.xctimeline
playground.xcworkspace
# Swift Package Manager
#
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/
# Package.pins
# Package.resolved
# *.xcodeproj
#
# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata
# hence it is not needed unless you have added a package configuration file to your project
# .swiftpm
.build/
# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
# Pods/
#
# Add this line if you want to avoid checking in source code from the Xcode workspace
# *.xcworkspace
# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts
Carthage/Build/
# Accio dependency management
Dependencies/
.accio/
# fastlane
#
# It is recommended to not store the screenshots in the git repo.
# Instead, use fastlane to re-generate the screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://docs.fastlane.tools/best-practices/source-control/#source-control
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots/**/*.png
fastlane/test_output
# Code Injection
#
# After new code Injection tools there's a generated folder /iOSInjectionProject
# https://github.com/johnno1962/injectionforxcode
iOSInjectionProject/
+112
View File
@@ -11,6 +11,17 @@
891A15E327653A7000B26659 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 891A15E227653A7000B26659 /* ContentView.swift */; };
891A15E527653A7100B26659 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 891A15E427653A7100B26659 /* Assets.xcassets */; };
891A15E827653A7100B26659 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 891A15E727653A7100B26659 /* Preview Assets.xcassets */; };
891A15F12765528700B26659 /* Satisfy-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 891A15F02765528700B26659 /* Satisfy-Regular.ttf */; };
891A15F5276557AB00B26659 /* colors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 891A15F4276557AB00B26659 /* colors.swift */; };
891A15F9276563CA00B26659 /* WelcomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 891A15F8276563CA00B26659 /* WelcomeView.swift */; };
891A15FD276566B800B26659 /* constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 891A15FC276566B800B26659 /* constants.swift */; };
891A15FF27656F9200B26659 /* HeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 891A15FE27656F9200B26659 /* HeaderView.swift */; };
891A160127656FB200B26659 /* Footer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 891A160027656FB200B26659 /* Footer.swift */; };
891A160327656FC700B26659 /* HomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 891A160227656FC700B26659 /* HomeView.swift */; };
891A1607276572A800B26659 /* Onboarding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 891A1606276572A800B26659 /* Onboarding.swift */; };
891A160B2765732700B26659 /* HomeViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 891A160A2765732700B26659 /* HomeViewModel.swift */; };
891A160E27657CEA00B26659 /* User.swift in Sources */ = {isa = PBXBuildFile; fileRef = 891A160D27657CEA00B26659 /* User.swift */; };
891A1611276590B000B26659 /* ChatsCarouselView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 891A1610276590B000B26659 /* ChatsCarouselView.swift */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
@@ -19,6 +30,18 @@
891A15E227653A7000B26659 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
891A15E427653A7100B26659 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
891A15E727653A7100B26659 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
891A15F02765528700B26659 /* Satisfy-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Satisfy-Regular.ttf"; sourceTree = "<group>"; };
891A15F32765554600B26659 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
891A15F4276557AB00B26659 /* colors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = colors.swift; sourceTree = "<group>"; };
891A15F8276563CA00B26659 /* WelcomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WelcomeView.swift; sourceTree = "<group>"; };
891A15FC276566B800B26659 /* constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = constants.swift; sourceTree = "<group>"; };
891A15FE27656F9200B26659 /* HeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeaderView.swift; sourceTree = "<group>"; };
891A160027656FB200B26659 /* Footer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Footer.swift; sourceTree = "<group>"; };
891A160227656FC700B26659 /* HomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeView.swift; sourceTree = "<group>"; };
891A1606276572A800B26659 /* Onboarding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Onboarding.swift; sourceTree = "<group>"; };
891A160A2765732700B26659 /* HomeViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewModel.swift; sourceTree = "<group>"; };
891A160D27657CEA00B26659 /* User.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = User.swift; sourceTree = "<group>"; };
891A1610276590B000B26659 /* ChatsCarouselView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatsCarouselView.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -51,6 +74,11 @@
891A15DF27653A7000B26659 /* nirvana-ios */ = {
isa = PBXGroup;
children = (
891A160C27657CD600B26659 /* Models */,
891A1609276572C600B26659 /* Globals */,
891A15F62765639B00B26659 /* Views */,
891A15F32765554600B26659 /* Info.plist */,
891A15F2276552ED00B26659 /* fonts */,
891A15E027653A7000B26659 /* nirvana_iosApp.swift */,
891A15E227653A7000B26659 /* ContentView.swift */,
891A15E427653A7100B26659 /* Assets.xcassets */,
@@ -67,6 +95,77 @@
path = "Preview Content";
sourceTree = "<group>";
};
891A15F2276552ED00B26659 /* fonts */ = {
isa = PBXGroup;
children = (
891A15F02765528700B26659 /* Satisfy-Regular.ttf */,
);
path = fonts;
sourceTree = "<group>";
};
891A15F62765639B00B26659 /* Views */ = {
isa = PBXGroup;
children = (
891A16052765726800B26659 /* Templates */,
891A16042765725D00B26659 /* WelcomeView */,
891A1608276572BB00B26659 /* HomeView */,
);
path = Views;
sourceTree = "<group>";
};
891A16042765725D00B26659 /* WelcomeView */ = {
isa = PBXGroup;
children = (
891A15F8276563CA00B26659 /* WelcomeView.swift */,
);
path = WelcomeView;
sourceTree = "<group>";
};
891A16052765726800B26659 /* Templates */ = {
isa = PBXGroup;
children = (
891A160027656FB200B26659 /* Footer.swift */,
891A15FE27656F9200B26659 /* HeaderView.swift */,
891A1606276572A800B26659 /* Onboarding.swift */,
);
path = Templates;
sourceTree = "<group>";
};
891A1608276572BB00B26659 /* HomeView */ = {
isa = PBXGroup;
children = (
891A160F2765909400B26659 /* ChatsCarouselView */,
891A160227656FC700B26659 /* HomeView.swift */,
891A160A2765732700B26659 /* HomeViewModel.swift */,
);
path = HomeView;
sourceTree = "<group>";
};
891A1609276572C600B26659 /* Globals */ = {
isa = PBXGroup;
children = (
891A15F4276557AB00B26659 /* colors.swift */,
891A15FC276566B800B26659 /* constants.swift */,
);
path = Globals;
sourceTree = "<group>";
};
891A160C27657CD600B26659 /* Models */ = {
isa = PBXGroup;
children = (
891A160D27657CEA00B26659 /* User.swift */,
);
path = Models;
sourceTree = "<group>";
};
891A160F2765909400B26659 /* ChatsCarouselView */ = {
isa = PBXGroup;
children = (
891A1610276590B000B26659 /* ChatsCarouselView.swift */,
);
path = ChatsCarouselView;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -125,6 +224,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
891A15F12765528700B26659 /* Satisfy-Regular.ttf in Resources */,
891A15E827653A7100B26659 /* Preview Assets.xcassets in Resources */,
891A15E527653A7100B26659 /* Assets.xcassets in Resources */,
);
@@ -137,8 +237,18 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
891A1607276572A800B26659 /* Onboarding.swift in Sources */,
891A15E327653A7000B26659 /* ContentView.swift in Sources */,
891A160327656FC700B26659 /* HomeView.swift in Sources */,
891A160B2765732700B26659 /* HomeViewModel.swift in Sources */,
891A15F5276557AB00B26659 /* colors.swift in Sources */,
891A15F9276563CA00B26659 /* WelcomeView.swift in Sources */,
891A1611276590B000B26659 /* ChatsCarouselView.swift in Sources */,
891A15E127653A7000B26659 /* nirvana_iosApp.swift in Sources */,
891A160127656FB200B26659 /* Footer.swift in Sources */,
891A15FF27656F9200B26659 /* HeaderView.swift in Sources */,
891A15FD276566B800B26659 /* constants.swift in Sources */,
891A160E27657CEA00B26659 /* User.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -271,6 +381,7 @@
DEVELOPMENT_ASSET_PATHS = "\"nirvana-ios/Preview Content\"";
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "nirvana-ios/Info.plist";
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
@@ -299,6 +410,7 @@
DEVELOPMENT_ASSET_PATHS = "\"nirvana-ios/Preview Content\"";
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "nirvana-ios/Info.plist";
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
@@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "dummy_profile_picture.jpeg",
"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: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

@@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}
@@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "undraw_handcrafts_leaf.svg",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" data-name="Layer 1" width="250.57245" height="402.57036" viewBox="0 0 250.57245 402.57036" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M517.883,473.53046a101.57092,101.57092,0,0,1,14.8558-148.44374,183.149,183.149,0,0,0,61.89328-84.41463C594.63117,329.08156,563.27172,417.17537,517.883,473.53046Z" transform="translate(-462.42755 -212.99041)" fill="#008080"/><path d="M645.01649,295.2618c-4.12169-15.79943-9.20291-31.58717-17.0642-45.95439-6.5218-10.73238-14.81156-20.70665-24.90338-28.24681-.68793-.47982-1.40261-.92155-2.12024-1.35376a44.19752,44.19752,0,0,1,4.96288,5.33649c10.0076,13.11117,16.55185,25.667,20.39719,40.983,6.90664,26.278,9.9057,45.41177,8.70644,73.07108q-.09573,3.61835-.29007,7.16813c-33.799,8.45911-62.38858,28.99323-85.1546,54.9577,27.32809-18.99934,55.06209-37.6813,84.64248-53.0272q.19824-.10151.39661-.20324c-2.18,35.62918-11.797,66.50914-30.7699,98.413-17.48088,29.4056-46.2499,57.65161-73.443,50.10465a210.19055,210.19055,0,0,1,1.33675-34.81339c1.79221-19.3157,8.50071-50.91228,18.39994-74.38233,6.9437-17.87954,12.83675-29.82715,23.51993-52.14147,10.4618-21.94343,20.54477-44.08057,31.87088-65.59961,3.84557-6.51387-4.559,5.29954-5.94881,6.97839-15.87571,21.49013-29.86116,44.30183-43.2386,67.40848A278.6233,278.6233,0,0,0,536.002,385.99671a147.84748,147.84748,0,0,0-15.05436-11.60858c-10.31625-6.1151-21.53354-10.68205-32.84537-14.60345-.54069-.174-1.084-.34346-1.62433-.51439,5.52068,4.00925,11.01133,8.06736,16.727,11.79776,10.28973,6.47908,20.713,12.81374,31.453,18.53687a292.18727,292.18727,0,0,0-18.026,100.56908c-10.73679-6.92511-20.69826-17.76766-27.09017-28.23445-12.57467-22.11685-16.27923-60.00275-10.83008-85.52277,4.23086-20.22773,9.532-31.48719,17.99063-48.16588,13.783-26.4342,27.10909-43.5366,46.19016-64.34855,10.74348-11.423,21.88879-22.56346,34.14575-32.36975,6.38839-4.91538,18.69091-12.93468,27.47045-18.54219-10.40138,4.49462-20.94763,8.76288-30.82227,14.35589-11.349,6.56737-21.76829,14.606-31.92019,22.87143-22.73871,18.72628-42.24224,41.46464-55.518,67.8594-14.82494,27.135-25.29819,57.5395-23.65006,88.81076,1.675,42.1766,13.28642,74.43311,50.62993,97.37766,1.51381.82192,3.02128,1.559,4.52319,2.22827,5.06081,41.28691,21.72148,81.5032,53.78257,109.067-20.44718-26.04937-31.37214-52.94944-37.08971-85.2548-1.21887-6.6075-2.22011-13.1148-2.95123-19.6756,43.89128,6.997,80.777-45.976,96.93208-82.60056,9.50908-20.93041,16.463-43.05384,18.87227-65.97776C650.08932,339.88294,650.03446,317.11262,645.01649,295.2618Z" transform="translate(-462.42755 -212.99041)"/><circle cx="29.57245" cy="33.00959" r="9"/><circle cx="242.57245" cy="153.00959" r="8"/><circle cx="137.57245" cy="327.00959" r="8"/></svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "undraw_handcrafts_menu.svg",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" data-name="Layer 1" width="237.169" height="240.82281" viewBox="0 0 237.169 240.82281" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M546.89261,493.61977c-8.47373-13.35225-6.2304-46.91423-3.77126-62.13238,3.36606-19.88253,7.21988-30.39563,15.72-45.89863a66.68114,66.68114,0,0,1,25.5848-28.01359c-14.17024,2.76054-26.58491,10.74241-35.93643,21.62277-9.14634,9.89013-16.83395,21.19254-21.40712,33.92529a107.64017,107.64017,0,0,0-3.61253,65.213c3.6875,13.63255,12.37552,25.38022,23.66048,33.75107a65.81724,65.81724,0,0,0,17.70627,10.50217q6.23965,2.54844,12.66416,4.611c-1.02681-.75517-2.50041-1.96622-3.26408-2.52758C561.79738,515.5195,553.85724,506.97384,546.89261,493.61977Z" transform="translate(-481.4155 -329.5886)" fill="#008080"/><path d="M715.31074,404.71779c-8.82491-30.74635-36.49369-59.91772-73.80417-57.86606-1.44051-.01047-2.88315.03612-4.32306.04188q5.84174.87643,11.60213,2.20145c16.6221,3.75624,28.30649,11.99945,38.36643,24.56846,13.37441,16.48247,20.22157,42.0046,18.13424,59.87644-.31384,4.29211-2.94963,15.75433-5.91929,24.71886-.72572,2.84825-6.43953,17.12336-4.945,13.53193-3.91089,10.261-17.91753,31.11376-20.45649,34.37268-24.21835,30.42841-59.86886,46.463-93.337,49.38262-24.63569.74044-36.67642-2.37992-51.94541-17.838-12.57675-13.59157-21.55312-27.54464-26.02491-46.31582-1.47087-6.138-2.57114-23.08773-1.28906-36.56624.10714-.84182.17938-1.41138.224-1.76635.24555-1.82508.57973-4.45176.7843-6.09943,4.307-23.721,11.87865-48.04818,20.2249-63.34039,8.65585-14.63038,19.58872-24.06613,36.61875-34.13108,18.832-9.10992,41.849-14.23489,63.15691-19.90013-22.76477,1.74677-45.96055,3.08363-67.87971,9.903-18.008,6.88328-35.46142,17.30061-46.67869,33.34738-9.36427,13.13174-14.72539,28.676-19.50738,43.94562-7.36224,25.45293-9.133,52.5954-3.839,78.62654,7.36952,27.63676,27.57682,57.35781,54.39908,68.92353,23.44224,12.23483,69.0671,4.614,97.98731-10.59794,12.99864-6.74244,24.5422-15.86769,35.37127-25.65613C703.28914,497.55053,727.65712,444.54765,715.31074,404.71779Z" transform="translate(-481.4155 -329.5886)"/><path d="M551.60146,416.09335a353.89753,353.89753,0,0,0,45.17716-.06647c14.7357-1.59182,29.45107-3.3565,44.23989-4.40669C611.40384,405.215,580.88225,410.18074,551.60146,416.09335Z" transform="translate(-481.4155 -329.5886)"/><path d="M554.223,460.65634c34.35295-.20412,63.07709-5.37993,96.67639-13.77551C618.07951,444.71687,585.37256,450.54465,554.223,460.65634Z" transform="translate(-481.4155 -329.5886)"/><path d="M554.223,502.5978c35.54215,1.47057,71.345-2.2837,105.00383-14.19285C630.35274,486.81753,586.87287,494.19874,554.223,502.5978Z" transform="translate(-481.4155 -329.5886)"/></svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "undraw_handcrafts_options.svg",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" data-name="Layer 1" width="232.02585" height="217.55348" viewBox="0 0 232.02585 217.55348" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M602.05585,539.47366c27.444,27.91563,79.43126,25.11985,103.72313-5.578C669.19712,538.62725,632.61526,543.35887,602.05585,539.47366Z" transform="translate(-483.98707 -341.22326)" fill="#008080"/><path d="M584.211,449.50346c38.20288,17.25686,87.186,6.35109,114.45895-25.48355C665.07737,449.588,619.32021,458.36746,584.211,449.50346Z" transform="translate(-483.98707 -341.22326)" fill="#008080"/><path d="M577.55645,349.85808c37.60931,25.67476,91.68558,24.13017,127.76807-3.64946l-70.79638,15.71463C613.76028,359.63654,592.99241,357.34982,577.55645,349.85808Z" transform="translate(-483.98707 -341.22326)" fill="#008080"/><path d="M506.027,341.22326c-29.425.72929-29.34836,43.83809.00068,44.64709C535.45337,385.14106,535.37673,342.0326,506.027,341.22326Z" transform="translate(-483.98707 -341.22326)"/><path d="M509.62679,424.01991c-29.425.72929-29.34836,43.83809.00068,44.64709C539.05315,467.93771,538.97651,424.82891,509.62679,424.01991Z" transform="translate(-483.98707 -341.22326)"/><path d="M516.82669,514.01612c-29.425.72929-29.34836,43.83809.00068,44.64709C546.25306,557.93392,546.17641,514.82546,516.82669,514.01612Z" transform="translate(-483.98707 -341.22326)"/><path d="M687.27159,346.61953c-37.953-1.712-76.37543,2.03765-113.64174,9.16159,18.145,2.14222,27.47455,3.66313,44.35585,4.93709,25.32688,1.463,50.34446-4.44522,74.6096-11.08853C704.62227,346.88215,692.88449,347.4459,687.27159,346.61953Z" transform="translate(-483.98707 -341.22326)"/><path d="M687.27159,437.92862c-37.953-1.712-76.37543,2.03765-113.64174,9.16159,18.145,2.14222,27.47455,3.66313,44.35585,4.93709,25.32688,1.463,50.34446-4.44522,74.6096-11.08853C704.62227,438.19124,692.88449,438.755,687.27159,437.92862Z" transform="translate(-483.98707 -341.22326)"/><path d="M705.46365,529.23771c-37.953-1.712-76.37543,2.03765-113.64174,9.16159,18.145,2.14222,27.47455,3.66313,44.35585,4.93709,25.32688,1.463,50.34446-4.44522,74.6096-11.08854C722.81433,529.50033,711.07655,530.06407,705.46365,529.23771Z" transform="translate(-483.98707 -341.22326)"/></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "undraw_handcrafts_signal.svg",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" data-name="Layer 1" width="348.36586" height="253.9449" viewBox="0 0 348.36586 253.9449" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M592.79213,547.86022c-19.18663.47554-19.13688,28.58472,0,29.11223C611.97965,576.49691,611.9299,548.388,592.79213,547.86022Z" transform="translate(-425.81707 -323.02755)"/><path d="M684.3462,502.59315a139.78114,139.78114,0,0,0-20.0644-36.793c-14.63163-20.12437-34.24649-38.40458-58.79572-44.96878-21.07455-5.00277-45.104-1.76354-62.34323,11.9319-22.5689,19.148-31.43281,48.83681-43.41868,74.90725,18.26532-24.12611,32.49893-51.36307,54.13231-64.23026,13.41537-6.4627,21.92835-7.42909,38.375-6.15064,10.06507.81025,22.77946,5.07052,36.92956,14.27692,18.56828,12.41566,40.50284,33.90844,54.254,56.42115q2.89186,4.611,5.64512,9.3068C687.66273,512.34083,686.11063,507.42912,684.3462,502.59315Z" transform="translate(-425.81707 -323.02755)"/><path d="M770.36355,487.84091c-5.1698-25.58447-15.61957-49.99754-28.58183-72.56955-46.2448-78.17781-146.09418-127.1019-236.90019-61.97187-37.985,29.00228-59.39541,73.66766-79.06446,116.04888,12.60333-17.67763,23.78073-35.59513,36.26856-50.12392,17.51016-19.87362,31.34931-34.90926,50.01354-46.05556,59.45849-36.17417,132.53223-17.73,180.04749,25.4954,27.0786,25.57381,35.28773,35.59891,52.47894,61.28222,11.16585,16.99109,19.48071,33.30986,25.252,49.14776,1.49523,3.91222,2.94871,7.84288,4.30535,11.8033A269.29234,269.29234,0,0,0,770.36355,487.84091Z" transform="translate(-425.81707 -323.02755)"/><path d="M457.22959,452.65743c25.782-53.69179,88.72584-86.83006,147.58273-77.69841s108.80054,59.78441,117.10155,118.76419C697.22765,448.72867,650.126,416.781,599.192,410.4845S494.79447,423.70379,457.22959,452.65743Z" transform="translate(-425.81707 -323.02755)" fill="#008080"/></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "undraw_handcrafts_user.svg",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" data-name="Layer 1" width="263.81102" height="226.18305" viewBox="0 0 263.81102 226.18305" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M669.46266,431.24145c.53462-15.95351-14.074-28.64265-29.57049-28.39567-14.22526,1.07472-20.22241,4.91916-25.81783,9.92247-11.388,1.37372-22.33557,11.687-27.46893,21.65668-7.3088,13.462,2.31336,29.78513,15.985,34.23589,14.25237,4.19788,29.97572-.77833,41.49551-10.19481C657.83839,456.95415,668.78727,446.61049,669.46266,431.24145Z" transform="translate(-468.09449 -336.90848)" fill="#008080"/><path d="M704.21527,398.6892c-16.53351-25.74652-48.32147-40.71192-78.69089-36.09485a86.38877,86.38877,0,0,0-19.29426,6.50769c-8.81425.1274-17.61488.567-25.98158,3.55862-44.89829,13.28191-83.14358,50.936-82.31618,99.99021-1.35874,22.68926,8.15058,44.22,21.30389,62.23208,12.7392,18.24983,34.61233,27.59392,56.46069,28.1075,24.7111.95736,49.25239-4.96006,71.88842-14.61282,26.33492-11.11917,50.63509-30.18408,64.03-55.79152C723.86074,467.61752,718.12138,422.25027,704.21527,398.6892Zm-14.91106,78.346c-7.7669,18.27906-27.05953,35.73038-52.08905,47.15078,2.698-16.51164,1.74359-36.93718-7.85571-48.10137a57.03762,57.03762,0,0,0,4.90534-4.44563c9.97325-9.851,16.32429-23.84883,15.28141-38.00616-.52928-12.90012-9.03739-27.171-21.51205-29.14175-5.43808-.41606-10.88637,1.05595-15.97686,2.8504,5.06375-.22659,10.37592-.243,15.19689,1.49364,16.17611,9.827,12.3995,32.76912,1.10667,45.77042-5.96845,5.99661-11.86593,11.53427-20.16239,13.5114a35.414,35.414,0,0,0-5.48164.88086l-.03151.00085c-2.104-.17819-1.275-.05877-4.56819-1.20626-7.01313-1.69065-18.4986-20.87665-11.224-39.534,2.44434-6.79718,7.08426-13.12156,13.46652-16.66166,4.72773-2.37479,10.12543-2.47613,15.24542-3.3722-29.046-6.58582-47.49485,25.33591-41.19177,50.86044a36.15219,36.15219,0,0,0,10.86379,18.924c-16.03722,12.92444-23.94683,34.57225-30.26765,53.71427,13.06481-19.32786,24.89132-39.07587,42.07755-47.22633a32.33717,32.33717,0,0,0,21.05326-1.69093,12.49336,12.49336,0,0,1,4.91946,5.31874c4.68488,8.95641,8.5074,23.15609,9.77256,37.97244A148.26128,148.26128,0,0,1,596.40846,536.099c-20.82453,3.302-40.678-.94761-49.82836-8.67563-16.89593-15.05615-28.12305-40.4831-28.57087-56.51956-3.51826-28.55722,14.57411-66.46865,51.47885-86.36679,7.24351-4.14131,14.58227-8.37062,22.62891-10.74855,2.45026-.61862,4.92328-1.13412,7.40549-1.60693q-1.30731.61122-2.61272,1.2187-1.35936.66573-2.72005,1.3292a177.061,177.061,0,0,1,21.48591-5.13468c11.31287-1.96882,21.35272-.23781,31.9364,3.39106,21.69237,7.66768,39.14553,26.559,43.29778,43.85844,3.77327,15.45871,3.24533,17.041,2.817,32.90438C692.4276,465.61675,693.36588,464.70577,689.30421,477.03516Z" transform="translate(-468.09449 -336.90848)"/><circle cx="132.66142" cy="7.55906" r="7.55906"/><circle cx="7.55906" cy="157.98425" r="7.55906"/><circle cx="256.25197" cy="192.76121" r="7.55906"/></svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

@@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}
@@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "undraw_art_re_vj2w.svg",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "undraw_calling_re_mgft.svg",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.3 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "undraw_connection_b-38-q.svg",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 13 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "undraw_enter_uhqk.svg",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.9 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "undraw_friendship_mni7.svg",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 30 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "undraw_grades_re_j7d6.svg",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 24 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "undraw_mobile_application_mr-4-r.svg",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.6 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "undraw_social_dashboard_re_ocbd.svg",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 18 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "undraw_taking_selfie_re_wlgd.svg",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" data-name="Layer 1" width="747.02774" height="748.82373" viewBox="0 0 747.02774 748.82373" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M461.01656,750.096,232.62032,318.59351l.96337-.44043L763.69624,75.58813l.43335.85987L973.51387,491.63892l-.89307.45068ZM235.3791,319.53052,461.8669,747.427,970.82735,490.75415,762.7773,78.20825Z" transform="translate(-226.48613 -75.58813)" fill="#f0f0f0"/><path d="M726.20567,394.902a22,22,0,1,1,22-22h0A22.02486,22.02486,0,0,1,726.20567,394.902Zm0-42a20,20,0,1,0,20,20A20,20,0,0,0,726.20567,352.902Z" transform="translate(-226.48613 -75.58813)" fill="#3f3d56"/><path d="M349.20567,331.902a22,22,0,1,1,22-22h0A22.02484,22.02484,0,0,1,349.20567,331.902Zm0-42a20,20,0,1,0,20,20A20,20,0,0,0,349.20567,289.902Z" transform="translate(-226.48613 -75.58813)" fill="#3f3d56"/><path d="M231.567,420.46051a5.66252,5.66252,0,0,1,.12124-1.1679l.934-55.33473,1.37579-.12146.05927.00225,114.016,4.59119a8.87632,8.87632,0,0,1,8.47653,9.26275l-1.97657,44.32194a8.87551,8.87551,0,0,1-9.26231,8.47181l-108.29641-4.36062a5.67783,5.67783,0,0,1-5.44747-5.66523Z" transform="translate(-226.48613 -75.58813)" fill="#008080"/><path d="M226.48613,416.42955c0-.14145.00359-.28266.00988-.42477l1.937-43.44838a9.32465,9.32465,0,0,1,9.71941-8.8894l104.1044,4.64126A8.88583,8.88583,0,0,1,350.728,377.571l-1.97567,44.32171a8.88688,8.88688,0,0,1-9.26321,8.472l-104.1044-4.64125a9.31488,9.31488,0,0,1-8.8986-9.294Z" transform="translate(-226.48613 -75.58813)" fill="#2f2e41"/><circle cx="97.05055" cy="321.38761" r="6.34514" fill="#008080"/><path d="M704.07613,727.607l-10.622-147.37261,2.02028-49.18769-41.40132,9.21207,15.25,193.1057a21.57865,21.57865,0,1,0,34.753-5.75747Z" transform="translate(-226.48613 -75.58813)" fill="#9e616a"/><path d="M335.18042,441.74994,295.582,416.012a21.57745,21.57745,0,1,0-17.68895,27.66071c.28784-.03962.56328-.1097.84636-.16038L321.188,474.38692Z" transform="translate(-226.48613 -75.58813)" fill="#9e616a"/><path d="M388.68819,530.41187l-94.12555-69.547,34.12555-26.453,41.4513,31.38632L523.015,403.7864a16.97494,16.97494,0,0,1,12.92388,3.074,16.71469,16.71469,0,0,1,6.69668,11.23629l.07413.5257-28.02149,43.78945Z" transform="translate(-226.48613 -75.58813)" fill="#008080"/><path d="M664.97618,682.13442,638.45741,497.79948l.04379-.17029L665.73584,390.567l2.5518-.29678A29.732,29.732,0,0,1,700.664,413.80809l2.01844,273.98227Z" transform="translate(-226.48613 -75.58813)" fill="#008080"/><path d="M673.34358,361.65952H535.50891v-62.2747a68.91733,68.91733,0,1,1,137.83467,0Z" transform="translate(-226.48613 -75.58813)" fill="#2f2e41"/><circle cx="602.83804" cy="307.19899" r="56.33087" transform="translate(-267.14144 440.65923) rotate(-45)" fill="#9e616a"/><circle cx="403.54719" cy="146.32169" r="37.49795" fill="#2f2e41"/><path d="M665.75461,310.1791H519.15154v-.83033c0-38.00135,32.88272-68.91734,73.30154-68.91734s73.30153,30.916,73.30153,68.91734Z" transform="translate(-226.48613 -75.58813)" fill="#2f2e41"/><path d="M689.29805,397.35187l-.02-.18a12.24093,12.24093,0,0,0-13.46-11.26l-147.08008,15.04a12.262,12.262,0,0,0-10.37988,8.32l-10.83008,32.46c-2.52978,2.8-36.10986,41.32-16.11963,93.98l7.48975,43.04-13.67969,25.58c-28.08008,30.11-44.43018,100.56-48.58008,205.2a351.49381,351.49381,0,0,0,101.54981,14.88c.28027,0,.56006,0,.83984-.01l9.27-66.74,19.98,65.47a349.11924,349.11924,0,0,0,95.52-21.81l-23.46973-162.15-4.70019-61.1,53.62012-180.56Z" transform="translate(-226.48613 -75.58813)" fill="#2f2e41"/></svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "undraw_through_the_park_lxnl.svg",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 13 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "undraw_voice_assistant_nrv7.svg",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.4 KiB

+3 -2
View File
@@ -9,8 +9,9 @@ import SwiftUI
struct ContentView: View {
var body: some View {
Text("Hello, world!")
.padding()
WelcomeView()
HomeView()
}
}
+43
View File
@@ -0,0 +1,43 @@
//
// colors.swift
// nirvana-ios
//
// Created by Arjun Patel on 12/11/21.
//
import Foundation
import SwiftUI
extension UIColor {
public convenience init?(hex: String) {
let r, g, b, a: CGFloat
if hex.hasPrefix("#") {
let start = hex.index(hex.startIndex, offsetBy: 1)
let hexColor = String(hex[start...])
if hexColor.count == 8 {
let scanner = Scanner(string: hexColor)
var hexNumber: UInt64 = 0
if scanner.scanHexInt64(&hexNumber) {
r = CGFloat((hexNumber & 0xff000000) >> 24) / 255
g = CGFloat((hexNumber & 0x00ff0000) >> 16) / 255
b = CGFloat((hexNumber & 0x0000ff00) >> 8) / 255
a = CGFloat(hexNumber & 0x000000ff) / 255
self.init(red: r, green: g, blue: b, alpha: a)
return
}
}
}
return nil
}
}
final class NirvanaColors {
static let teal:Color = Color(red: 0.0, green: 0.314, blue: 0.314)
static let bgLightGrey:Color = Color(red: 0.898, green: 0.898, blue: 0.898)
static let white: Color = Color.white
}
+12
View File
@@ -0,0 +1,12 @@
//
// constants.swift
// nirvana-ios
//
// Created by Arjun Patel on 12/11/21.
//
import Foundation
final class NirvanaConstants {
static let landingPageUrl: String = "https://usenirvana.com"
}
+10
View File
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>UIAppFonts</key>
<array>
<string>Satisfy-Regular.ttf</string>
</array>
</dict>
</plist>
+18
View File
@@ -0,0 +1,18 @@
//
// User.swift
// nirvana-ios
//
// Created by Arjun Patel on 12/11/21.
//
import Foundation
import SwiftUI
class User: Identifiable {
var id = UUID()
var profilePictureUrl:String = ""
var firstName:String = ""
var lastName:String = ""
var name:String = ""
}
@@ -0,0 +1,51 @@
//
// ChatsCarouselView.swift
// nirvana-ios
//
// Created by Arjun Patel on 12/11/21.
//
import SwiftUI
struct ChatsCarouselView: View {
var body: some View {
mainCarouselView
}
var mainCarouselView: some View {
TabView {
ForEach(/*@START_MENU_TOKEN@*/0 ..< 5/*@END_MENU_TOKEN@*/) { item in
GeometryReader {proxy in
let minX = proxy.frame(in: .global).minX
carouselUser
.rotation3DEffect(.degrees(minX / -10), axis: (x: 0, y: 1, z: 0))
.shadow(color: Color("Shadow").opacity(0.3), radius: 10, x:0, y:10)
.blur(radius: abs(minX) / 40)
Text("\(minX)")
}gi
}
}
.tabViewStyle(.page(indexDisplayMode: .always))
.frame(height: 400)
}
//the bottom navigation of the small profile pictures
// var navigationCarouselView: some View { }
var carouselUser: some View {
Image("dummy_profile_picture")
.renderingMode(.original)
.resizable()
.aspectRatio(contentMode: .fit)
.cornerRadius(0)
.clipShape(Circle())
}
}
struct ChatsCarouselView_Previews: PreviewProvider {
static var previews: some View {
ChatsCarouselView()
}
}
+31
View File
@@ -0,0 +1,31 @@
//
// MainVoiceChat.swift
// nirvana-ios
//
// Created by Arjun Patel on 12/11/21.
//
import SwiftUI
struct HomeView: View {
var body: some View {
VStack {
HeaderView(isAuth:true)
ChatsCarouselView()
Spacer()
}
.frame(maxWidth:.infinity, maxHeight: .infinity)
.accentColor(NirvanaColors.teal)
.background(NirvanaColors.bgLightGrey)
}
}
struct HomeView_Previews: PreviewProvider {
static var previews: some View {
Group {
HomeView()
}
}
}
@@ -0,0 +1,13 @@
//
// HomeViewModel.swift
// nirvana-ios
//
// Created by Arjun Patel on 12/11/21.
//
import Foundation
final class HomeViewModel: ObservableObject {
@Published var personalUsers: [User] = []
}
+8
View File
@@ -0,0 +1,8 @@
//
// Footer.swift
// nirvana-ios
//
// Created by Arjun Patel on 12/11/21.
//
import Foundation
@@ -0,0 +1,58 @@
//
// Header.swift
// nirvana-ios
//
// Created by Arjun Patel on 12/11/21.
//
import SwiftUI
struct HeaderView: View {
var isAuthenticated:Bool = false
init(isAuth:Bool = false) {
self.isAuthenticated = isAuth
}
var body: some View {
HStack(alignment:.center) {
if (self.isAuthenticated) {
Image(systemName: "list.bullet.circle")
.font(Font.system(.largeTitle))
.padding()
.foregroundColor(NirvanaColors.teal)
}
Spacer()
HStack {
Image("undraw_handcrafts_leaf")
.resizable()
.frame(width: 20.0, height: 32.132)
Text("nirvana")
.font(Font.custom("Satisfy-Regular", size: 35))
.foregroundColor(NirvanaColors.teal)
.multilineTextAlignment(.center)
}
Spacer()
if (self.isAuthenticated) {
Image(systemName: "person.crop.circle.badge.plus")
.font(Font.system(.largeTitle))
.padding()
.foregroundColor(NirvanaColors.teal)
}
}
.frame(maxWidth: .infinity)
}
}
struct HeaderView_Previews: PreviewProvider {
static var previews: some View {
HeaderView(isAuth:true)
}
}
@@ -0,0 +1,20 @@
//
// Onboarding.swift
// nirvana-ios
//
// Created by Arjun Patel on 12/11/21.
//
import SwiftUI
struct Onboarding: View {
var body: some View {
Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
}
}
struct Onboarding_Previews: PreviewProvider {
static var previews: some View {
Onboarding()
}
}
@@ -0,0 +1,100 @@
//
// Onboarding.swift
// nirvana-ios
//
// Created by Arjun Patel on 12/11/21.
//
import SwiftUI
struct WelcomeView: View {
var body: some View {
VStack {
// nav bar
HeaderView()
VStack {
// illustration
Image("undraw_friendship_mni7")
.renderingMode(.original)
.resizable()
.aspectRatio(contentMode: .fit)
.padding(.horizontal, 30)
.padding(.top, 30)
VStack(alignment: .leading) {
Text("Your ")
.font(.title)
+ Text("minimalist ")
.font(.title)
.foregroundColor(NirvanaColors.teal)
+ Text("social media.")
.font(.title)
Text("tired of the rat race on insta, tik-tok, snap, meta?")
.foregroundColor(Color.gray)
.padding(.top, 5)
}
.frame(maxWidth: .infinity)
.padding(.horizontal, 30)
.padding(.top, 20)
Spacer()
VStack(alignment: .center) {
Button(
action: {
print("Start your detox button clicked")
},
label: {
Text("Start Your Detox")
.bold()
.foregroundColor(NirvanaColors.white)
}
)
.frame(maxWidth: .infinity)
.padding(.vertical, 25)
.background(NirvanaColors.teal)
.clipShape(Capsule())
// .shadow(color: NirvanaColors.teal, radius: 3, x: 1, y: 2)
// .cornerRadius(8)
Button(
action: {
print("link to w ebsite learn more clicked")
},
label: {
Text("Learn More")
.bold()
}
)
.background(NirvanaColors.bgLightGrey)
//learn more button to usenirvana.com
}
.frame(maxWidth: .infinity)
.padding(.horizontal, 30)
.padding(.top, 20)
Spacer()
}
.padding()
}
.frame(maxWidth: .infinity, maxHeight: .infinity)
.accentColor(NirvanaColors.teal)
.background(NirvanaColors.bgLightGrey)
// .background(RadialGradient(gradient: Gradient(colors: [NirvanaColors.teal.opacity(0.1), NirvanaColors.bgLightGrey, NirvanaColors.bgLightGrey]), center: .center, startRadius: 0, endRadius: 200)
// )
}
}
struct WelcomeView_Previews: PreviewProvider {
static var previews: some View {
WelcomeView()
}
}
Binary file not shown.