New Group screen scaffold, among others
This commit is contained in:
parent
57a04decd6
commit
a617a4aefa
|
@ -3,10 +3,11 @@
|
|||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 50;
|
||||
objectVersion = 51;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
011F91B5D99D6D3CD361F9F2 /* Pods_Zircles_ZirclesUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F845C8B4D34C79AD18E87D5 /* Pods_Zircles_ZirclesUITests.framework */; };
|
||||
0D11D3CE249C294E00223146 /* NeumorphicButtons.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D11D3CD249C294E00223146 /* NeumorphicButtons.swift */; };
|
||||
0D11D3D0249C3AE400223146 /* Card.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D11D3CF249C3AE300223146 /* Card.swift */; };
|
||||
0D11D3D2249CE6C800223146 /* GlowEffect.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D11D3D1249CE6C800223146 /* GlowEffect.swift */; };
|
||||
|
@ -24,11 +25,18 @@
|
|||
0D1366C324991A6200F0EB54 /* ZirclesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D1366C224991A6200F0EB54 /* ZirclesTests.swift */; };
|
||||
0D1366CE24991A6200F0EB54 /* ZirclesUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D1366CD24991A6200F0EB54 /* ZirclesUITests.swift */; };
|
||||
0D5142C324A0F0B800F9AE2E /* Zboto.otf in Resources */ = {isa = PBXBuildFile; fileRef = 0D5142C224A0F0B800F9AE2E /* Zboto.otf */; };
|
||||
0D5142C624A14D0F00F9AE2E /* CreateNewZircleNameView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D5142C524A14D0F00F9AE2E /* CreateNewZircleNameView.swift */; };
|
||||
0D5142C824A16F9600F9AE2E /* CreateNewTypeOfZircle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D5142C724A16F9600F9AE2E /* CreateNewTypeOfZircle.swift */; };
|
||||
0D64CEA624A3854C0080AA4F /* ZircleOptionSelector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D64CEA524A3854C0080AA4F /* ZircleOptionSelector.swift */; };
|
||||
0D6A22C0249A9C3000B4E946 /* Colors+Zircles.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D6A22BF249A9C3000B4E946 /* Colors+Zircles.swift */; };
|
||||
0D6A22C5249AB1FC00B4E946 /* ZcashSymbol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D6A22C4249AB1FC00B4E946 /* ZcashSymbol.swift */; };
|
||||
0D6A22C7249AB36100B4E946 /* ZcashButtonBackground.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D6A22C6249AB36100B4E946 /* ZcashButtonBackground.swift */; };
|
||||
0D6A22C9249AB3CA00B4E946 /* ZcashButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D6A22C8249AB3CA00B4E946 /* ZcashButton.swift */; };
|
||||
0D6A22CB249AB61200B4E946 /* Glow_Preview.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D6A22CA249AB61200B4E946 /* Glow_Preview.swift */; };
|
||||
0DEE59A824A24B7300447C15 /* WelcomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DEE59A724A24B7300447C15 /* WelcomeView.swift */; };
|
||||
0DEE59AA24A2B90F00447C15 /* CreateNewZircleDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DEE59A924A2B90F00447C15 /* CreateNewZircleDescription.swift */; };
|
||||
450B0C2B71526C48C265CB70 /* Pods_Zircles.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 897CFDF9BD39874744EF71AB /* Pods_Zircles.framework */; };
|
||||
C34EA14960A21A0051B8F10C /* Pods_ZirclesTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A91E549743330119C02B00E6 /* Pods_ZirclesTests.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
|
@ -72,11 +80,25 @@
|
|||
0D1366CD24991A6200F0EB54 /* ZirclesUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZirclesUITests.swift; sourceTree = "<group>"; };
|
||||
0D1366CF24991A6200F0EB54 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
0D5142C224A0F0B800F9AE2E /* Zboto.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = Zboto.otf; sourceTree = "<group>"; };
|
||||
0D5142C524A14D0F00F9AE2E /* CreateNewZircleNameView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreateNewZircleNameView.swift; sourceTree = "<group>"; };
|
||||
0D5142C724A16F9600F9AE2E /* CreateNewTypeOfZircle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreateNewTypeOfZircle.swift; sourceTree = "<group>"; };
|
||||
0D64CEA524A3854C0080AA4F /* ZircleOptionSelector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZircleOptionSelector.swift; sourceTree = "<group>"; };
|
||||
0D6A22BF249A9C3000B4E946 /* Colors+Zircles.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Colors+Zircles.swift"; sourceTree = "<group>"; };
|
||||
0D6A22C4249AB1FC00B4E946 /* ZcashSymbol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ZcashSymbol.swift; sourceTree = "<group>"; };
|
||||
0D6A22C6249AB36100B4E946 /* ZcashButtonBackground.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ZcashButtonBackground.swift; sourceTree = "<group>"; };
|
||||
0D6A22C8249AB3CA00B4E946 /* ZcashButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ZcashButton.swift; sourceTree = "<group>"; };
|
||||
0D6A22CA249AB61200B4E946 /* Glow_Preview.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Glow_Preview.swift; sourceTree = "<group>"; };
|
||||
0DEE59A724A24B7300447C15 /* WelcomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WelcomeView.swift; sourceTree = "<group>"; };
|
||||
0DEE59A924A2B90F00447C15 /* CreateNewZircleDescription.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreateNewZircleDescription.swift; sourceTree = "<group>"; };
|
||||
5A3D0DB1D10FF551A7DE4766 /* Pods-Zircles-ZirclesUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Zircles-ZirclesUITests.release.xcconfig"; path = "Target Support Files/Pods-Zircles-ZirclesUITests/Pods-Zircles-ZirclesUITests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
632A35F96E76CAFFF5A77957 /* Pods-Zircles.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Zircles.release.xcconfig"; path = "Target Support Files/Pods-Zircles/Pods-Zircles.release.xcconfig"; sourceTree = "<group>"; };
|
||||
87E629B4CE118A29370F73F3 /* Pods-ZirclesTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ZirclesTests.debug.xcconfig"; path = "Target Support Files/Pods-ZirclesTests/Pods-ZirclesTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
897CFDF9BD39874744EF71AB /* Pods_Zircles.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Zircles.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
98E0B7DB0E1A2F0FEF8077D7 /* Pods-Zircles.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Zircles.debug.xcconfig"; path = "Target Support Files/Pods-Zircles/Pods-Zircles.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
9F845C8B4D34C79AD18E87D5 /* Pods_Zircles_ZirclesUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Zircles_ZirclesUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
A13AD6343DA9B2868122ADE2 /* Pods-Zircles-ZirclesUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Zircles-ZirclesUITests.debug.xcconfig"; path = "Target Support Files/Pods-Zircles-ZirclesUITests/Pods-Zircles-ZirclesUITests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
A91E549743330119C02B00E6 /* Pods_ZirclesTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ZirclesTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
D4CFEB91A25E4B80FE82D3B6 /* Pods-ZirclesTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ZirclesTests.release.xcconfig"; path = "Target Support Files/Pods-ZirclesTests/Pods-ZirclesTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
|
@ -84,6 +106,7 @@
|
|||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
450B0C2B71526C48C265CB70 /* Pods_Zircles.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -91,6 +114,7 @@
|
|||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C34EA14960A21A0051B8F10C /* Pods_ZirclesTests.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -98,12 +122,23 @@
|
|||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
011F91B5D99D6D3CD361F9F2 /* Pods_Zircles_ZirclesUITests.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
0C3A96DFA218F5AF7B12EECA /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
897CFDF9BD39874744EF71AB /* Pods_Zircles.framework */,
|
||||
9F845C8B4D34C79AD18E87D5 /* Pods_Zircles_ZirclesUITests.framework */,
|
||||
A91E549743330119C02B00E6 /* Pods_ZirclesTests.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
0D11D3D5249D2E0400223146 /* Utils */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
@ -121,6 +156,7 @@
|
|||
0D1366CC24991A6200F0EB54 /* ZirclesUITests */,
|
||||
0D1366A924991A6000F0EB54 /* Products */,
|
||||
E7393F4D108BAE27C875D7F0 /* Pods */,
|
||||
0C3A96DFA218F5AF7B12EECA /* Frameworks */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
|
@ -137,13 +173,13 @@
|
|||
0D1366AA24991A6000F0EB54 /* Zircles */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
0D5142C424A1323900F9AE2E /* Views */,
|
||||
0D5142C224A0F0B800F9AE2E /* Zboto.otf */,
|
||||
0D11D3D5249D2E0400223146 /* Utils */,
|
||||
0D6A22CC249ACD6C00B4E946 /* Neumorphic */,
|
||||
0D6A22C1249AB12200B4E946 /* Components */,
|
||||
0D1366AB24991A6000F0EB54 /* AppDelegate.swift */,
|
||||
0D1366AD24991A6000F0EB54 /* SceneDelegate.swift */,
|
||||
0D1366AF24991A6000F0EB54 /* SplashScreen.swift */,
|
||||
0D1366B124991A6100F0EB54 /* Assets.xcassets */,
|
||||
0D1366B624991A6100F0EB54 /* LaunchScreen.storyboard */,
|
||||
0D1366B924991A6100F0EB54 /* Info.plist */,
|
||||
|
@ -179,6 +215,18 @@
|
|||
path = ZirclesUITests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
0D5142C424A1323900F9AE2E /* Views */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
0D1366AF24991A6000F0EB54 /* SplashScreen.swift */,
|
||||
0D5142C524A14D0F00F9AE2E /* CreateNewZircleNameView.swift */,
|
||||
0D5142C724A16F9600F9AE2E /* CreateNewTypeOfZircle.swift */,
|
||||
0DEE59A724A24B7300447C15 /* WelcomeView.swift */,
|
||||
0DEE59A924A2B90F00447C15 /* CreateNewZircleDescription.swift */,
|
||||
);
|
||||
path = Views;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
0D6A22C1249AB12200B4E946 /* Components */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
@ -186,6 +234,7 @@
|
|||
0D6A22C8249AB3CA00B4E946 /* ZcashButton.swift */,
|
||||
0D6A22C6249AB36100B4E946 /* ZcashButtonBackground.swift */,
|
||||
0D6A22C4249AB1FC00B4E946 /* ZcashSymbol.swift */,
|
||||
0D64CEA524A3854C0080AA4F /* ZircleOptionSelector.swift */,
|
||||
);
|
||||
path = Components;
|
||||
sourceTree = "<group>";
|
||||
|
@ -206,6 +255,12 @@
|
|||
E7393F4D108BAE27C875D7F0 /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
98E0B7DB0E1A2F0FEF8077D7 /* Pods-Zircles.debug.xcconfig */,
|
||||
632A35F96E76CAFFF5A77957 /* Pods-Zircles.release.xcconfig */,
|
||||
A13AD6343DA9B2868122ADE2 /* Pods-Zircles-ZirclesUITests.debug.xcconfig */,
|
||||
5A3D0DB1D10FF551A7DE4766 /* Pods-Zircles-ZirclesUITests.release.xcconfig */,
|
||||
87E629B4CE118A29370F73F3 /* Pods-ZirclesTests.debug.xcconfig */,
|
||||
D4CFEB91A25E4B80FE82D3B6 /* Pods-ZirclesTests.release.xcconfig */,
|
||||
);
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
|
@ -217,9 +272,11 @@
|
|||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 0D1366D224991A6200F0EB54 /* Build configuration list for PBXNativeTarget "Zircles" */;
|
||||
buildPhases = (
|
||||
583F514473947A23704D6882 /* [CP] Check Pods Manifest.lock */,
|
||||
0D1366A424991A6000F0EB54 /* Sources */,
|
||||
0D1366A524991A6000F0EB54 /* Frameworks */,
|
||||
0D1366A624991A6000F0EB54 /* Resources */,
|
||||
3682689502C7185C18B587B1 /* [CP] Embed Pods Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
|
@ -234,6 +291,7 @@
|
|||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 0D1366D524991A6200F0EB54 /* Build configuration list for PBXNativeTarget "ZirclesTests" */;
|
||||
buildPhases = (
|
||||
A367F3C54490115670B559E6 /* [CP] Check Pods Manifest.lock */,
|
||||
0D1366BA24991A6200F0EB54 /* Sources */,
|
||||
0D1366BB24991A6200F0EB54 /* Frameworks */,
|
||||
0D1366BC24991A6200F0EB54 /* Resources */,
|
||||
|
@ -252,9 +310,11 @@
|
|||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 0D1366D824991A6200F0EB54 /* Build configuration list for PBXNativeTarget "ZirclesUITests" */;
|
||||
buildPhases = (
|
||||
0B3B7CC7E86905096281CA7A /* [CP] Check Pods Manifest.lock */,
|
||||
0D1366C524991A6200F0EB54 /* Sources */,
|
||||
0D1366C624991A6200F0EB54 /* Frameworks */,
|
||||
0D1366C724991A6200F0EB54 /* Resources */,
|
||||
CD4B40E4A1A39DC46B7C062B /* [CP] Embed Pods Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
|
@ -337,6 +397,109 @@
|
|||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
0B3B7CC7E86905096281CA7A /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-Zircles-ZirclesUITests-checkManifestLockResult.txt",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
3682689502C7185C18B587B1 /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Zircles/Pods-Zircles-frameworks-${CONFIGURATION}-input-files.xcfilelist",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
outputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Zircles/Pods-Zircles-frameworks-${CONFIGURATION}-output-files.xcfilelist",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Zircles/Pods-Zircles-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
583F514473947A23704D6882 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-Zircles-checkManifestLockResult.txt",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
A367F3C54490115670B559E6 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-ZirclesTests-checkManifestLockResult.txt",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
CD4B40E4A1A39DC46B7C062B /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Zircles-ZirclesUITests/Pods-Zircles-ZirclesUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
outputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Zircles-ZirclesUITests/Pods-Zircles-ZirclesUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Zircles-ZirclesUITests/Pods-Zircles-ZirclesUITests-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
0D1366A424991A6000F0EB54 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
|
@ -353,11 +516,16 @@
|
|||
0D1366AE24991A6000F0EB54 /* SceneDelegate.swift in Sources */,
|
||||
0D11D3D0249C3AE400223146 /* Card.swift in Sources */,
|
||||
0D6A22CB249AB61200B4E946 /* Glow_Preview.swift in Sources */,
|
||||
0D5142C624A14D0F00F9AE2E /* CreateNewZircleNameView.swift in Sources */,
|
||||
0DEE59AA24A2B90F00447C15 /* CreateNewZircleDescription.swift in Sources */,
|
||||
0D11D3D7249D2F0B00223146 /* ZircleProgress.swift in Sources */,
|
||||
0D11D3D9249D51FC00223146 /* ZircleTextField_Preview.swift in Sources */,
|
||||
0D11D3D2249CE6C800223146 /* GlowEffect.swift in Sources */,
|
||||
0D11D3DB249D5F1600223146 /* ProgressBar.swift in Sources */,
|
||||
0D5142C824A16F9600F9AE2E /* CreateNewTypeOfZircle.swift in Sources */,
|
||||
0D1366B024991A6000F0EB54 /* SplashScreen.swift in Sources */,
|
||||
0DEE59A824A24B7300447C15 /* WelcomeView.swift in Sources */,
|
||||
0D64CEA624A3854C0080AA4F /* ZircleOptionSelector.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -522,6 +690,7 @@
|
|||
};
|
||||
0D1366D324991A6200F0EB54 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 98E0B7DB0E1A2F0FEF8077D7 /* Pods-Zircles.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
|
@ -542,6 +711,7 @@
|
|||
};
|
||||
0D1366D424991A6200F0EB54 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 632A35F96E76CAFFF5A77957 /* Pods-Zircles.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
|
@ -562,6 +732,7 @@
|
|||
};
|
||||
0D1366D624991A6200F0EB54 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 87E629B4CE118A29370F73F3 /* Pods-ZirclesTests.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
|
@ -584,6 +755,7 @@
|
|||
};
|
||||
0D1366D724991A6200F0EB54 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = D4CFEB91A25E4B80FE82D3B6 /* Pods-ZirclesTests.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
|
@ -606,6 +778,7 @@
|
|||
};
|
||||
0D1366D924991A6200F0EB54 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = A13AD6343DA9B2868122ADE2 /* Pods-Zircles-ZirclesUITests.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
|
@ -626,6 +799,7 @@
|
|||
};
|
||||
0D1366DA24991A6200F0EB54 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 5A3D0DB1D10FF551A7DE4766 /* Pods-Zircles-ZirclesUITests.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
|
|
|
@ -0,0 +1,113 @@
|
|||
//
|
||||
// ZircleOptionSelector.swift
|
||||
// Zircles
|
||||
//
|
||||
// Created by Francisco Gindre on 6/24/20.
|
||||
// Copyright © 2020 Electric Coin Company. All rights reserved.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
import Combine
|
||||
struct ZircleOptionSelector: View {
|
||||
@Binding var optionSelected: Int
|
||||
var optionNames: [String]
|
||||
init(selection: Binding<Int>,_ options: String...) {
|
||||
self._optionSelected = selection
|
||||
self.optionNames = options
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
HStack(spacing: 24) {
|
||||
ForEach(0 ..< optionNames.count) { optionIndex in
|
||||
Toggle(isOn: .constant(optionIndex == optionSelected)) {
|
||||
Text(optionNames[optionIndex])
|
||||
.font(.system(size: 15, weight: .bold, design: .default))
|
||||
.shadow(color:Color(.sRGBLinear, red: 0.2, green: 0.2, blue: 0.2, opacity: 0.3), radius: 1, x: 0, y: 2)
|
||||
.foregroundColor(optionIndex == optionSelected ? Color.background : Color.zGray)
|
||||
.padding(.horizontal, 8)
|
||||
.frame(minWidth: 65, idealWidth: 100, maxWidth: .infinity, minHeight: 40, idealHeight: 40, maxHeight: 40, alignment: .center)
|
||||
}
|
||||
.toggleStyle(
|
||||
GlowingToggleStyle(
|
||||
shape: RoundedRectangle(cornerRadius: 15, style: .continuous),
|
||||
padding: 10, onToggle: {
|
||||
self.optionSelected = optionIndex
|
||||
})
|
||||
)
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct ZircleOptionSelector_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
ZStack {
|
||||
Color.background
|
||||
VStack(spacing: 100) {
|
||||
VStack(alignment: .leading, spacing: 4) {
|
||||
Text("Available Options")
|
||||
.fontWeight(.heavy)
|
||||
.foregroundColor(.textLightGray)
|
||||
.padding(.horizontal,10)
|
||||
ZircleOptionSelector(selection: .constant(1), "Daily","weekly","Monthly")
|
||||
.padding(.all, 10)
|
||||
}
|
||||
.frame(height: 100)
|
||||
.padding(0)
|
||||
VStack(alignment: .leading, spacing: 4) {
|
||||
Text("End Date")
|
||||
.fontWeight(.heavy)
|
||||
.foregroundColor(.textLightGray)
|
||||
.padding(.horizontal,10)
|
||||
ZircleOptionSelector(selection: .constant(1), "Set Date","At Will")
|
||||
.padding(.all, 10)
|
||||
}
|
||||
.frame(height: 100)
|
||||
.padding(0)
|
||||
|
||||
}.padding(.all, 20)
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
struct GlowingButtonStyle<S :Shape>: ButtonStyle {
|
||||
var shape: S
|
||||
func makeBody(configuration: Self.Configuration) -> some View {
|
||||
configuration.label
|
||||
.padding(30)
|
||||
.contentShape(shape)
|
||||
.background(
|
||||
Group {
|
||||
if configuration.isPressed {
|
||||
Circle()
|
||||
.fill(Color.offWhite)
|
||||
.overlay(
|
||||
shape
|
||||
.stroke(Color.gray, lineWidth: 4)
|
||||
.blur(radius: 4)
|
||||
.offset(x: 2, y: 2)
|
||||
.mask(Circle().fill(LinearGradient(Color.black, Color.clear)))
|
||||
)
|
||||
.overlay(
|
||||
shape
|
||||
.stroke(Color.white, lineWidth: 8)
|
||||
.blur(radius: 4)
|
||||
.offset(x: -2, y: -2)
|
||||
.mask(Circle().fill(LinearGradient(Color.clear, Color.black)))
|
||||
)
|
||||
} else {
|
||||
shape
|
||||
.fill(Color.offWhite)
|
||||
.shadow(color: Color.black.opacity(0.2), radius: 10, x: 10, y: 10)
|
||||
.shadow(color: Color.white.opacity(0.7), radius: 10, x: -5, y: -5)
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
|
@ -29,12 +29,8 @@ struct Wedge_Previews: PreviewProvider {
|
|||
ZircleProgress(progress: progress, stroke: .init(lineWidth: 40, lineCap: .round))
|
||||
.glow(vibe: .heavy, soul: .split(left: Color.gradientPink, right: Color.gradientOrange))
|
||||
.animation(.easeIn)
|
||||
Button(action: {
|
||||
Self.progress = Double.random(in: 0 ... 1)
|
||||
print(Self.progress)
|
||||
}) {
|
||||
Text("Change progress")
|
||||
}
|
||||
|
||||
Slider(value: $progress)
|
||||
}
|
||||
.padding(.all, 50)
|
||||
}
|
||||
|
|
|
@ -184,6 +184,21 @@ struct SimpleToggleStyle<S :Shape>: ToggleStyle {
|
|||
}
|
||||
}
|
||||
|
||||
struct GlowingBackground<S: Shape>: View {
|
||||
|
||||
var shape: S
|
||||
|
||||
var body: some View {
|
||||
shape
|
||||
.fill(LinearGradient.zButtonGradient)
|
||||
.shadow(color: Color(red: 0.2, green: 0.2, blue: 0.2).opacity(0.3), radius: 15, x: 10, y: 15)
|
||||
.glow(vibe: .cool, soul: .split(left: .gradientPink, right: .gradientOrange))
|
||||
.shadow(color: Color.white.opacity(0.5), radius: 25, x:-10, y: -10)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
struct ColorfulToggleStyle: ToggleStyle {
|
||||
|
||||
|
||||
|
@ -201,6 +216,38 @@ struct ColorfulToggleStyle: ToggleStyle {
|
|||
}
|
||||
}
|
||||
|
||||
struct GlowingToggleStyle<S :Shape>: ToggleStyle {
|
||||
let shape: S
|
||||
var padding: CGFloat = 30
|
||||
var onToggle: (() -> ())? = nil
|
||||
func makeBody(configuration: Self.Configuration) -> some View {
|
||||
Button(action: {
|
||||
configuration.isOn.toggle()
|
||||
onToggle?()
|
||||
}) {
|
||||
configuration.label
|
||||
.contentShape(shape)
|
||||
.padding(padding)
|
||||
}
|
||||
.background(
|
||||
backgroundViewIf(isOn: configuration.isOn)
|
||||
)
|
||||
}
|
||||
|
||||
func backgroundViewIf(isOn: Bool) -> AnyView {
|
||||
if isOn {
|
||||
return AnyView(
|
||||
GlowingBackground(shape: shape)
|
||||
)
|
||||
} else {
|
||||
return AnyView(
|
||||
SimpleBackground(isHighlighted: false, shape: shape)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
struct NeumorphicContentView: View {
|
||||
@State private var isToggled = false
|
||||
|
||||
|
@ -242,7 +289,7 @@ struct NeumorphicContentView: View {
|
|||
.foregroundColor(.gray)
|
||||
|
||||
}
|
||||
.toggleStyle(SimpleToggleStyle(shape: RoundedRectangle(cornerRadius: 5)))
|
||||
.toggleStyle(GlowingToggleStyle(shape: RoundedRectangle(cornerRadius: 5, style: /*@START_MENU_TOKEN@*/.continuous/*@END_MENU_TOKEN@*/)))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,79 +0,0 @@
|
|||
//
|
||||
// ContentView.swift
|
||||
// Zircles
|
||||
//
|
||||
// Created by Francisco Gindre on 6/16/20.
|
||||
// Copyright © 2020 Electric Coin Company. All rights reserved.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct SplashScreen: View {
|
||||
var body: some View {
|
||||
|
||||
NavigationView {
|
||||
ZStack {
|
||||
Color.background
|
||||
.edgesIgnoringSafeArea(.all)
|
||||
VStack {
|
||||
Spacer()
|
||||
FancyLogo()
|
||||
.frame(width: 200, height: 200)
|
||||
Spacer()
|
||||
Button(action: {}) {
|
||||
Text("Create New")
|
||||
.font(.system(size: 20, weight: .bold, design: .default))
|
||||
.shadow(color:Color(red: 0.2, green: 0.2, blue: 0.2).opacity(0.2), radius: 1, x: 0, y: 2)
|
||||
.foregroundColor(Color.background)
|
||||
.modifier(ZcashButtonBackground(buttonShape: .roundedCorners(fillStyle: .solid(color: Color.buttonBlue))))
|
||||
|
||||
.shadow(color: Color(red: 0.2, green: 0.2, blue: 0.2).opacity(0.5), radius: 25, x: 10, y: 10)
|
||||
.frame(height: 50)
|
||||
}
|
||||
}.padding(30)
|
||||
|
||||
|
||||
}.navigationBarTitle(Text("Welcome to Zircles"))
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
struct FancyLogo: View {
|
||||
var body: some View {
|
||||
|
||||
ZStack {
|
||||
Pie(isOn: .constant(false),padding: 16) {
|
||||
Pie(isOn: .constant(true), padding: 40) {
|
||||
Pie(isOn: .constant(false)) {
|
||||
|
||||
Text("")
|
||||
.padding(40)
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
.overlay(
|
||||
ZircleProgress(progress: 0.75, stroke: .init(lineWidth: 40, lineCap: .round))
|
||||
.padding(23)
|
||||
|
||||
)
|
||||
|
||||
}
|
||||
Text("$")
|
||||
.foregroundColor(.buttonGray)
|
||||
.font(
|
||||
.custom("Zboto", size: 200)
|
||||
).padding()
|
||||
.frame(alignment: .center)
|
||||
.contentShape(Circle())
|
||||
.offset(x: 0, y: 50)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct ContentView_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
SplashScreen()
|
||||
}
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
//
|
||||
// CreateNewTypeOfZircle.swift
|
||||
// Zircles
|
||||
//
|
||||
// Created by Francisco Gindre on 6/22/20.
|
||||
// Copyright © 2020 Electric Coin Company. All rights reserved.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct CreateNewTypeOfZircle: View {
|
||||
var body: some View {
|
||||
ZStack {
|
||||
Color.background
|
||||
VStack(spacing: 32 ) {
|
||||
Spacer()
|
||||
Text("Savings Circle")
|
||||
.font(.system(size: 20, weight: .bold, design: .default))
|
||||
.shadow(color:Color(red: 0.2, green: 0.2, blue: 0.2).opacity(0.2), radius: 1, x: 0, y: 2)
|
||||
.foregroundColor(Color.buttonBlue)
|
||||
.modifier(ZcashButtonBackground(buttonShape: .roundedCorners(fillStyle: .solid(color: Color.background))))
|
||||
|
||||
.shadow(color: Color(red: 0.2, green: 0.2, blue: 0.2).opacity(0.3), radius: 15, x: 10, y: 15)
|
||||
.shadow(color: Color.white.opacity(0.5), radius: 25, x:-10, y: -10)
|
||||
.frame(height: 50)
|
||||
|
||||
Text("Savings Goal")
|
||||
.font(.system(size: 20, weight: .bold, design: .default))
|
||||
.shadow(color:Color(red: 0.2, green: 0.2, blue: 0.2).opacity(0.2), radius: 1, x: 0, y: 2)
|
||||
.foregroundColor(Color.background)
|
||||
.modifier(ZcashButtonBackground(buttonShape: .roundedCorners(fillStyle: .solid(color: Color.buttonBlue))))
|
||||
|
||||
.shadow(color: Color(red: 0.2, green: 0.2, blue: 0.2).opacity(0.5), radius: 25, x: 10, y: 10)
|
||||
.frame(height: 50)
|
||||
|
||||
|
||||
Text("Group Budget Goal")
|
||||
.font(.system(size: 20, weight: .bold, design: .default))
|
||||
.shadow(color:Color(.sRGBLinear, red: 0.2, green: 0.2, blue: 0.2, opacity: 0.5), radius: 1, x: 0, y: 2)
|
||||
.foregroundColor(Color.background)
|
||||
.modifier(ZcashButtonBackground(buttonShape: .roundedCorners(fillStyle: .gradient(gradient: LinearGradient.zButtonGradient))))
|
||||
|
||||
.shadow(color: Color(red: 0.2, green: 0.2, blue: 0.2).opacity(0.5), radius: 25, x: 10, y: 10)
|
||||
.frame(height: 50)
|
||||
Card(isOn: .constant(false),cornerRadius: 10, padding: 16) {
|
||||
ZircleProgress(progress: 0.7, stroke: .init(lineWidth: 5, lineCap: .round))
|
||||
.glow(vibe: .heavy, soul: .split(left: Color.gradientPink, right: Color.gradientOrange))
|
||||
.frame(width: 30, height: 30)
|
||||
}
|
||||
Text("Import Existing Zircle")
|
||||
.font(.system(size: 20, weight: .bold, design: .default))
|
||||
.shadow(color:Color(red: 0.2, green: 0.2, blue: 0.2).opacity(0.2), radius: 1, x: 0, y: 2)
|
||||
.foregroundColor(Color.textDarkGray)
|
||||
.modifier(ZcashButtonBackground(buttonShape: .roundedCorners(fillStyle: .solid(color: Color.buttonGray))))
|
||||
|
||||
.shadow(color: Color(red: 0.2, green: 0.2, blue: 0.2).opacity(0.5), radius: 25, x: 10, y: 10)
|
||||
.frame(height: 50)
|
||||
|
||||
}
|
||||
.padding(.horizontal, 30)
|
||||
.padding(.bottom, 30)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct CreateNewTypeOfZircle_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
CreateNewTypeOfZircle()
|
||||
}
|
||||
}
|
|
@ -0,0 +1,134 @@
|
|||
//
|
||||
// CreateNewZircleDescription.swift
|
||||
// Zircles
|
||||
//
|
||||
// Created by Francisco Gindre on 6/23/20.
|
||||
// Copyright © 2020 Electric Coin Company. All rights reserved.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct CreateNewZircleDescription: View {
|
||||
|
||||
enum ZircleFrequency: Int {
|
||||
case daily = 0
|
||||
case weekly
|
||||
case monthly
|
||||
|
||||
var textDescription: String {
|
||||
switch self {
|
||||
case .daily:
|
||||
return "Daily"
|
||||
case .weekly:
|
||||
return "Weekly"
|
||||
case .monthly:
|
||||
return "Monthly"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
enum ZircleEndDate {
|
||||
case onDate(date: Date)
|
||||
case atWill
|
||||
|
||||
var optionIndex: Int {
|
||||
switch self {
|
||||
case .onDate(_):
|
||||
return 0
|
||||
case .atWill:
|
||||
return 1
|
||||
}
|
||||
}
|
||||
|
||||
var textDescription: String {
|
||||
switch self {
|
||||
case .atWill:
|
||||
return "At Will"
|
||||
case .onDate:
|
||||
return "On Date"
|
||||
}
|
||||
}
|
||||
}
|
||||
@State var contributionFrequency: Int = ZircleFrequency.weekly.rawValue
|
||||
@State var endDate: Int = ZircleEndDate.atWill.optionIndex
|
||||
@State var zircleEndDate = Date()
|
||||
|
||||
var body: some View {
|
||||
ZStack {
|
||||
Color.background
|
||||
VStack(spacing: 30) {
|
||||
VStack(alignment: .leading, spacing: 3) {
|
||||
Text("Name of project")
|
||||
.foregroundColor(.textLightGray)
|
||||
.fontWeight(.heavy)
|
||||
.font(.footnote)
|
||||
.frame(alignment: .leading)
|
||||
Card(isOn: .constant(true),cornerRadius: 5,padding: 8) {
|
||||
|
||||
TextField("some title text", text: .constant("Hackathon Happy Hour"))
|
||||
.foregroundColor(Color.textDarkGray)
|
||||
.font(.system(size: 14, weight: .heavy, design: .default))
|
||||
|
||||
}
|
||||
}.padding(.all, 0)
|
||||
|
||||
VStack(alignment: .leading, spacing: 3) {
|
||||
Text("Savings Goal")
|
||||
.foregroundColor(.textLightGray)
|
||||
.fontWeight(.heavy)
|
||||
.font(.footnote)
|
||||
.frame(alignment: .leading)
|
||||
Card(isOn: .constant(true),cornerRadius: 5,padding: 8) {
|
||||
|
||||
TextField("some title text", text: .constant("Hackathon Happy Hour"))
|
||||
.foregroundColor(Color.textDarkGray)
|
||||
.font(.system(size: 14, weight: .heavy, design: .default))
|
||||
|
||||
}
|
||||
}.padding(.all, 0)
|
||||
VStack(alignment: .leading, spacing: 3) {
|
||||
Text("Contribution Frequency")
|
||||
.foregroundColor(.textLightGray)
|
||||
.fontWeight(.heavy)
|
||||
.font(.footnote)
|
||||
.frame(alignment: .leading)
|
||||
ZircleOptionSelector(
|
||||
selection: $contributionFrequency,
|
||||
ZircleFrequency.daily.textDescription,
|
||||
ZircleFrequency.weekly.textDescription,
|
||||
ZircleFrequency.monthly.textDescription
|
||||
)
|
||||
}.padding(.all, 0)
|
||||
VStack(alignment: .leading, spacing: 3) {
|
||||
Text("End Date")
|
||||
.foregroundColor(.textLightGray)
|
||||
.fontWeight(.heavy)
|
||||
.font(.footnote)
|
||||
.frame(alignment: .leading)
|
||||
ZircleOptionSelector(
|
||||
selection: $endDate,
|
||||
ZircleEndDate.onDate(date: zircleEndDate).textDescription,
|
||||
ZircleEndDate.atWill.textDescription
|
||||
)
|
||||
}.padding(.all, 0)
|
||||
Button(action: /*@START_MENU_TOKEN@*/{}/*@END_MENU_TOKEN@*/, label: {
|
||||
Text("Create New Zircle")
|
||||
.font(.system(size: 20, weight: .bold, design: .default))
|
||||
.shadow(color:Color(.sRGBLinear, red: 0.2, green: 0.2, blue: 0.2, opacity: 0.5), radius: 1, x: 0, y: 2)
|
||||
.foregroundColor(Color.background)
|
||||
.modifier(ZcashButtonBackground(buttonShape: .roundedCorners(fillStyle: .gradient(gradient: LinearGradient.zButtonGradient))))
|
||||
|
||||
.shadow(color: Color(red: 0.2, green: 0.2, blue: 0.2).opacity(0.5), radius: 25, x: 10, y: 10)
|
||||
.frame(height: 50)
|
||||
})
|
||||
}.padding([.horizontal, .bottom],16)
|
||||
|
||||
}.navigationBarTitle(Text("Now we need a goal and time period."))
|
||||
}
|
||||
}
|
||||
|
||||
struct CreateNewZircleDescription_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
CreateNewZircleDescription()
|
||||
}
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
//
|
||||
// CreateNewZircleNameView.swift
|
||||
// Zircles
|
||||
//
|
||||
// Created by Francisco Gindre on 6/22/20.
|
||||
// Copyright © 2020 Electric Coin Company. All rights reserved.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct CreateNewZircleNameView: View {
|
||||
var body: some View {
|
||||
ZStack {
|
||||
Color.background
|
||||
VStack(spacing: 50) {
|
||||
|
||||
Card(isOn: .constant(true),cornerRadius: 5,padding: 8) {
|
||||
|
||||
TextField("some title text", text: .constant("Hackathon Happy Hour"))
|
||||
.foregroundColor(Color.textDarkGray)
|
||||
.font(.system(size: 14, weight: .heavy, design: .default))
|
||||
|
||||
}
|
||||
|
||||
Text("Continue")
|
||||
.font(.system(size: 20, weight: .bold, design: .default))
|
||||
.shadow(color:Color(red: 0.2, green: 0.2, blue: 0.2).opacity(0.2), radius: 1, x: 0, y: 2)
|
||||
.foregroundColor(Color.buttonBlue)
|
||||
.modifier(ZcashButtonBackground(buttonShape: .roundedCorners(fillStyle: .solid(color: Color.background))))
|
||||
|
||||
.shadow(color: Color(red: 0.2, green: 0.2, blue: 0.2).opacity(0.3), radius: 15, x: 10, y: 15)
|
||||
.shadow(color: Color.white.opacity(0.5), radius: 25, x:-10, y: -10)
|
||||
.frame(height: 50)
|
||||
Spacer()
|
||||
}
|
||||
.padding(.top, 100)
|
||||
.padding(.horizontal, 30)
|
||||
|
||||
|
||||
}
|
||||
.navigationBarTitle("Groups Savings Project Name?")
|
||||
}
|
||||
}
|
||||
|
||||
struct CreateNewZircleNameView_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
CreateNewZircleNameView()
|
||||
}
|
||||
}
|
|
@ -0,0 +1,101 @@
|
|||
//
|
||||
// ContentView.swift
|
||||
// Zircles
|
||||
//
|
||||
// Created by Francisco Gindre on 6/16/20.
|
||||
// Copyright © 2020 Electric Coin Company. All rights reserved.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct SplashScreen: View {
|
||||
var body: some View {
|
||||
|
||||
NavigationView {
|
||||
ZStack {
|
||||
Color.background
|
||||
.edgesIgnoringSafeArea(.all)
|
||||
VStack {
|
||||
Toggle(isOn: .constant(false)) {
|
||||
Text("No Proyects Yet")
|
||||
.foregroundColor(Color.textLightGray)
|
||||
.fontWeight(.heavy)
|
||||
.contentShape(RoundedRectangle(cornerRadius: 5))
|
||||
.scaledToFill()
|
||||
.frame(width: 250)
|
||||
}
|
||||
.contentShape(RoundedRectangle(cornerRadius: 5))
|
||||
.toggleStyle(SimpleToggleStyle(shape: RoundedRectangle(cornerRadius: 5), padding: 8))
|
||||
Spacer()
|
||||
FancyLogo()
|
||||
.frame(width: 200, height: 200)
|
||||
Spacer()
|
||||
VStack(spacing: 16) {
|
||||
Text("Join a Zircle")
|
||||
.font(.system(size: 20, weight: .bold, design: .default))
|
||||
.shadow(color:Color(red: 0.2, green: 0.2, blue: 0.2).opacity(0.2), radius: 1, x: 0, y: 2)
|
||||
.foregroundColor(Color.buttonBlue)
|
||||
.modifier(ZcashButtonBackground(buttonShape: .roundedCorners(fillStyle: .solid(color: Color.background))))
|
||||
|
||||
.shadow(color: Color(red: 0.2, green: 0.2, blue: 0.2).opacity(0.3), radius: 15, x: 10, y: 15)
|
||||
.shadow(color: Color.white.opacity(0.5), radius: 25, x:-10, y: -10)
|
||||
.frame(height: 50)
|
||||
|
||||
Button(action: {}) {
|
||||
Text("Create New")
|
||||
.font(.system(size: 20, weight: .bold, design: .default))
|
||||
.shadow(color:Color(red: 0.2, green: 0.2, blue: 0.2).opacity(0.2), radius: 1, x: 0, y: 2)
|
||||
.foregroundColor(Color.background)
|
||||
.modifier(ZcashButtonBackground(buttonShape: .roundedCorners(fillStyle: .solid(color: Color.buttonBlue))))
|
||||
|
||||
.shadow(color: Color(red: 0.2, green: 0.2, blue: 0.2).opacity(0.5), radius: 25, x: 10, y: 10)
|
||||
.frame(height: 50)
|
||||
}
|
||||
}.padding(.all, 0)
|
||||
}.padding(30)
|
||||
|
||||
|
||||
}.navigationBarTitle(Text("Welcome to Zircles"))
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
struct FancyLogo: View {
|
||||
var body: some View {
|
||||
|
||||
ZStack {
|
||||
Pie(isOn: .constant(false),padding: 16) {
|
||||
Pie(isOn: .constant(true), padding: 40) {
|
||||
Pie(isOn: .constant(false)) {
|
||||
|
||||
Text("")
|
||||
.padding(40)
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
.overlay(
|
||||
ZircleProgress(progress: 0.75, stroke: .init(lineWidth: 40, lineCap: .round))
|
||||
.padding(23)
|
||||
|
||||
)
|
||||
|
||||
}
|
||||
Text("$")
|
||||
.foregroundColor(.buttonGray)
|
||||
.font(
|
||||
.custom("Zboto", size: 200)
|
||||
).padding()
|
||||
.frame(alignment: .center)
|
||||
.contentShape(Circle())
|
||||
.offset(x: 0, y: 50)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct ContentView_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
SplashScreen()
|
||||
}
|
||||
}
|
|
@ -0,0 +1,80 @@
|
|||
//
|
||||
// WelcomeView.swift
|
||||
// Zircles
|
||||
//
|
||||
// Created by Francisco Gindre on 6/23/20.
|
||||
// Copyright © 2020 Electric Coin Company. All rights reserved.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct WelcomeView: View {
|
||||
var body: some View {
|
||||
ZStack {
|
||||
Color.background
|
||||
VStack(alignment: .leading, spacing: 16) {
|
||||
Spacer()
|
||||
Text("It looks like you are a new user, let's get to know you! What is your name?")
|
||||
.fontWeight(.heavy)
|
||||
.foregroundColor(Color.textDarkGray)
|
||||
.frame(alignment: .leading)
|
||||
VStack(alignment: .leading, spacing: 3) {
|
||||
Text("Name or Nickname")
|
||||
.foregroundColor(.textLightGray)
|
||||
.fontWeight(.heavy)
|
||||
.font(.footnote)
|
||||
.frame(alignment: .leading)
|
||||
Card(isOn: .constant(true),cornerRadius: 5,padding: 8) {
|
||||
|
||||
TextField("some title text", text: .constant("Hackathon Happy Hour"))
|
||||
.foregroundColor(Color.textDarkGray)
|
||||
.font(.system(size: 14, weight: .heavy, design: .default))
|
||||
|
||||
}
|
||||
}.padding(.all, 0)
|
||||
Text("Import an existing Zcash wallet by entering the seed words of that wallet here")
|
||||
.fontWeight(.heavy)
|
||||
.foregroundColor(Color.textDarkGray)
|
||||
.frame(alignment: .leading)
|
||||
|
||||
VStack(alignment: .leading, spacing: 4) {
|
||||
Text("Existing Wallet Seed Phrase")
|
||||
.foregroundColor(.textLightGray)
|
||||
.fontWeight(.heavy)
|
||||
.font(.footnote)
|
||||
.frame(alignment: .leading)
|
||||
Card(isOn: .constant(true),cornerRadius: 5,padding: 8) {
|
||||
TextField("Existing Wallet Seed Phrase", text: .constant("words words words words words"))
|
||||
.foregroundColor(Color.textDarkGray)
|
||||
.font(.system(size: 14, weight: .heavy, design: .default))
|
||||
}
|
||||
}.padding(.all, 0)
|
||||
Spacer()
|
||||
Text("The Zircles app will only send ZEC to other Zircles app.")
|
||||
.foregroundColor(.textLightGray)
|
||||
.fontWeight(.heavy)
|
||||
.font(.footnote)
|
||||
.frame(alignment: .center)
|
||||
Spacer()
|
||||
Text("Add Wallet to Zircles")
|
||||
.font(.system(size: 20, weight: .bold, design: .default))
|
||||
.shadow(color:Color(.sRGBLinear, red: 0.2, green: 0.2, blue: 0.2, opacity: 0.5), radius: 1, x: 0, y: 2)
|
||||
.foregroundColor(Color.background)
|
||||
.modifier(ZcashButtonBackground(buttonShape: .roundedCorners(fillStyle: .gradient(gradient: LinearGradient.zButtonGradient))))
|
||||
|
||||
.shadow(color: Color(red: 0.2, green: 0.2, blue: 0.2).opacity(0.5), radius: 25, x: 10, y: 10)
|
||||
.frame(height: 50)
|
||||
|
||||
}
|
||||
.padding([.horizontal,.bottom], 30)
|
||||
|
||||
|
||||
}.navigationBarTitle(Text("Welcome"))
|
||||
}
|
||||
}
|
||||
|
||||
struct WelcomeView_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
WelcomeView()
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue