├── DesignCode.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── xcuserdata │ └── mythxn.xcuserdatad │ └── xcschemes │ └── xcschememanagement.plist ├── DesignCode ├── AppDelegate.swift ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── Icon.png │ │ ├── icon_20pt@2x.png │ │ ├── icon_20pt@3x.png │ │ ├── icon_29pt.png │ │ ├── icon_29pt@2x.png │ │ ├── icon_29pt@3x.png │ │ ├── icon_40pt@2x.png │ │ ├── icon_40pt@3x.png │ │ ├── icon_60pt@2x.png │ │ ├── icon_60pt@3x.png │ │ ├── icon_76pt@2x.png │ │ └── icon_83.5@2x.png │ ├── Background.imageset │ │ ├── Background.pdf │ │ └── Contents.json │ ├── Certificate1.imageset │ │ ├── Certificate1.pdf │ │ └── Contents.json │ ├── Certificate2.imageset │ │ ├── Certificate2.pdf │ │ └── Contents.json │ ├── Certificate3.imageset │ │ ├── Certificate3.pdf │ │ └── Contents.json │ ├── Certificate4.imageset │ │ ├── Certificate4.pdf │ │ └── Contents.json │ ├── Colors │ │ ├── Contents.json │ │ ├── accent.colorset │ │ │ └── Contents.json │ │ ├── accentShadow.colorset │ │ │ └── Contents.json │ │ ├── background.colorset │ │ │ └── Contents.json │ │ ├── background10.colorset │ │ │ └── Contents.json │ │ ├── background2.colorset │ │ │ └── Contents.json │ │ ├── background3.colorset │ │ │ └── Contents.json │ │ ├── background4.colorset │ │ │ └── Contents.json │ │ ├── background5.colorset │ │ │ └── Contents.json │ │ ├── background6.colorset │ │ │ └── Contents.json │ │ ├── background7.colorset │ │ │ └── Contents.json │ │ ├── background8.colorset │ │ │ └── Contents.json │ │ ├── background9.colorset │ │ │ └── Contents.json │ │ ├── backgroundShadow3.colorset │ │ │ └── Contents.json │ │ ├── backgroundShadow4.colorset │ │ │ └── Contents.json │ │ ├── button.colorset │ │ │ └── Contents.json │ │ ├── buttonShadow.colorset │ │ │ └── Contents.json │ │ ├── gradient1.colorset │ │ │ └── Contents.json │ │ ├── gradient2.colorset │ │ │ └── Contents.json │ │ ├── icons.colorset │ │ │ └── Contents.json │ │ ├── primary.colorset │ │ │ └── Contents.json │ │ └── secondary.colorset │ │ │ └── Contents.json │ ├── Contents.json │ ├── IconCards.imageset │ │ ├── Contents.json │ │ └── IconCards.pdf │ ├── IconHome.imageset │ │ ├── Contents.json │ │ └── IconHome.pdf │ ├── IconSettings.imageset │ │ ├── Contents.json │ │ └── IconSettings.pdf │ ├── Illustration1.imageset │ │ ├── Contents.json │ │ └── Illustration1.pdf │ ├── Illustration2.imageset │ │ ├── Contents.json │ │ └── Illustration2.pdf │ ├── Illustration3.imageset │ │ ├── Contents.json │ │ └── Illustration3.pdf │ ├── Illustration4.imageset │ │ ├── Contents.json │ │ └── Illustration4.pdf │ ├── Illustration5.imageset │ │ ├── Contents.json │ │ └── Illustration5.pdf │ ├── Logo.imageset │ │ ├── Contents.json │ │ └── Logo.pdf │ ├── avatar.imageset │ │ ├── Contents.json │ │ └── avatar.jpg │ ├── promo.imageset │ │ ├── Contents.json │ │ └── promo.jpg │ ├── wallpaper01.imageset │ │ ├── Contents.json │ │ └── wallpaper01.jpg │ └── wallpaper02.imageset │ │ ├── Contents.json │ │ └── wallpaper02.jpg ├── Base.lproj │ └── LaunchScreen.storyboard ├── BlurView.swift ├── CertificateRow.swift ├── ContentView.swift ├── Home.swift ├── HomeList.swift ├── Info.plist ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json ├── SceneDelegate.swift ├── Settings.swift ├── TabBar.swift ├── UpdateDetail.swift ├── UpdateList.swift └── UpdateStore.swift ├── README.md └── preview.gif /DesignCode.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 50; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | AB1D3B1C22D9CDEF00D0AEA6 /* HomeList.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB1D3B1B22D9CDEF00D0AEA6 /* HomeList.swift */; }; 11 | AB62172722D870540039BC73 /* Home.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB62172622D870540039BC73 /* Home.swift */; }; 12 | ABB215DC22DB353800424B38 /* BlurView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABB215DB22DB353800424B38 /* BlurView.swift */; }; 13 | ABB215DE22DB713300424B38 /* UpdateList.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABB215DD22DB713300424B38 /* UpdateList.swift */; }; 14 | ABB215E022DB7F4700424B38 /* UpdateDetail.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABB215DF22DB7F4700424B38 /* UpdateDetail.swift */; }; 15 | ABB215E222DC472900424B38 /* UpdateStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABB215E122DC472900424B38 /* UpdateStore.swift */; }; 16 | ABB215E422DC7D0000424B38 /* TabBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABB215E322DC7D0000424B38 /* TabBar.swift */; }; 17 | ABB215E622DC808A00424B38 /* Settings.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABB215E522DC808A00424B38 /* Settings.swift */; }; 18 | ABB215E822DC8ABD00424B38 /* CertificateRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABB215E722DC8ABD00424B38 /* CertificateRow.swift */; }; 19 | ABE07CBF22D74F5700D209BE /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABE07CBE22D74F5700D209BE /* AppDelegate.swift */; }; 20 | ABE07CC122D74F5700D209BE /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABE07CC022D74F5700D209BE /* SceneDelegate.swift */; }; 21 | ABE07CC322D74F5700D209BE /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABE07CC222D74F5700D209BE /* ContentView.swift */; }; 22 | ABE07CC522D74F5900D209BE /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = ABE07CC422D74F5900D209BE /* Assets.xcassets */; }; 23 | ABE07CC822D74F5900D209BE /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = ABE07CC722D74F5900D209BE /* Preview Assets.xcassets */; }; 24 | ABE07CCB22D74F5900D209BE /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = ABE07CC922D74F5900D209BE /* LaunchScreen.storyboard */; }; 25 | /* End PBXBuildFile section */ 26 | 27 | /* Begin PBXFileReference section */ 28 | AB1D3B1B22D9CDEF00D0AEA6 /* HomeList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeList.swift; sourceTree = ""; }; 29 | AB62172622D870540039BC73 /* Home.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Home.swift; sourceTree = ""; }; 30 | ABB215DB22DB353800424B38 /* BlurView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlurView.swift; sourceTree = ""; }; 31 | ABB215DD22DB713300424B38 /* UpdateList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UpdateList.swift; sourceTree = ""; }; 32 | ABB215DF22DB7F4700424B38 /* UpdateDetail.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UpdateDetail.swift; sourceTree = ""; }; 33 | ABB215E122DC472900424B38 /* UpdateStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UpdateStore.swift; sourceTree = ""; }; 34 | ABB215E322DC7D0000424B38 /* TabBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TabBar.swift; sourceTree = ""; }; 35 | ABB215E522DC808A00424B38 /* Settings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Settings.swift; sourceTree = ""; }; 36 | ABB215E722DC8ABD00424B38 /* CertificateRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CertificateRow.swift; sourceTree = ""; }; 37 | ABE07CBB22D74F5700D209BE /* DesignCode.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DesignCode.app; sourceTree = BUILT_PRODUCTS_DIR; }; 38 | ABE07CBE22D74F5700D209BE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 39 | ABE07CC022D74F5700D209BE /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; 40 | ABE07CC222D74F5700D209BE /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; 41 | ABE07CC422D74F5900D209BE /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 42 | ABE07CC722D74F5900D209BE /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; 43 | ABE07CCA22D74F5900D209BE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 44 | ABE07CCC22D74F5900D209BE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 45 | /* End PBXFileReference section */ 46 | 47 | /* Begin PBXFrameworksBuildPhase section */ 48 | ABE07CB822D74F5700D209BE /* Frameworks */ = { 49 | isa = PBXFrameworksBuildPhase; 50 | buildActionMask = 2147483647; 51 | files = ( 52 | ); 53 | runOnlyForDeploymentPostprocessing = 0; 54 | }; 55 | /* End PBXFrameworksBuildPhase section */ 56 | 57 | /* Begin PBXGroup section */ 58 | ABE07CB222D74F5700D209BE = { 59 | isa = PBXGroup; 60 | children = ( 61 | ABE07CBD22D74F5700D209BE /* DesignCode */, 62 | ABE07CBC22D74F5700D209BE /* Products */, 63 | ); 64 | sourceTree = ""; 65 | }; 66 | ABE07CBC22D74F5700D209BE /* Products */ = { 67 | isa = PBXGroup; 68 | children = ( 69 | ABE07CBB22D74F5700D209BE /* DesignCode.app */, 70 | ); 71 | name = Products; 72 | sourceTree = ""; 73 | }; 74 | ABE07CBD22D74F5700D209BE /* DesignCode */ = { 75 | isa = PBXGroup; 76 | children = ( 77 | ABE07CBE22D74F5700D209BE /* AppDelegate.swift */, 78 | ABE07CC022D74F5700D209BE /* SceneDelegate.swift */, 79 | ABB215E322DC7D0000424B38 /* TabBar.swift */, 80 | ABE07CC222D74F5700D209BE /* ContentView.swift */, 81 | AB62172622D870540039BC73 /* Home.swift */, 82 | AB1D3B1B22D9CDEF00D0AEA6 /* HomeList.swift */, 83 | ABB215DD22DB713300424B38 /* UpdateList.swift */, 84 | ABB215DF22DB7F4700424B38 /* UpdateDetail.swift */, 85 | ABB215E122DC472900424B38 /* UpdateStore.swift */, 86 | ABB215E522DC808A00424B38 /* Settings.swift */, 87 | ABB215E722DC8ABD00424B38 /* CertificateRow.swift */, 88 | ABB215DB22DB353800424B38 /* BlurView.swift */, 89 | ABE07CC422D74F5900D209BE /* Assets.xcassets */, 90 | ABE07CC922D74F5900D209BE /* LaunchScreen.storyboard */, 91 | ABE07CCC22D74F5900D209BE /* Info.plist */, 92 | ABE07CC622D74F5900D209BE /* Preview Content */, 93 | ); 94 | path = DesignCode; 95 | sourceTree = ""; 96 | }; 97 | ABE07CC622D74F5900D209BE /* Preview Content */ = { 98 | isa = PBXGroup; 99 | children = ( 100 | ABE07CC722D74F5900D209BE /* Preview Assets.xcassets */, 101 | ); 102 | path = "Preview Content"; 103 | sourceTree = ""; 104 | }; 105 | /* End PBXGroup section */ 106 | 107 | /* Begin PBXNativeTarget section */ 108 | ABE07CBA22D74F5700D209BE /* DesignCode */ = { 109 | isa = PBXNativeTarget; 110 | buildConfigurationList = ABE07CCF22D74F5900D209BE /* Build configuration list for PBXNativeTarget "DesignCode" */; 111 | buildPhases = ( 112 | ABE07CB722D74F5700D209BE /* Sources */, 113 | ABE07CB822D74F5700D209BE /* Frameworks */, 114 | ABE07CB922D74F5700D209BE /* Resources */, 115 | ); 116 | buildRules = ( 117 | ); 118 | dependencies = ( 119 | ); 120 | name = DesignCode; 121 | productName = DesignCode; 122 | productReference = ABE07CBB22D74F5700D209BE /* DesignCode.app */; 123 | productType = "com.apple.product-type.application"; 124 | }; 125 | /* End PBXNativeTarget section */ 126 | 127 | /* Begin PBXProject section */ 128 | ABE07CB322D74F5700D209BE /* Project object */ = { 129 | isa = PBXProject; 130 | attributes = { 131 | LastSwiftUpdateCheck = 1100; 132 | LastUpgradeCheck = 1100; 133 | ORGANIZATIONNAME = Mithun; 134 | TargetAttributes = { 135 | ABE07CBA22D74F5700D209BE = { 136 | CreatedOnToolsVersion = 11.0; 137 | }; 138 | }; 139 | }; 140 | buildConfigurationList = ABE07CB622D74F5700D209BE /* Build configuration list for PBXProject "DesignCode" */; 141 | compatibilityVersion = "Xcode 9.3"; 142 | developmentRegion = en; 143 | hasScannedForEncodings = 0; 144 | knownRegions = ( 145 | en, 146 | Base, 147 | ); 148 | mainGroup = ABE07CB222D74F5700D209BE; 149 | productRefGroup = ABE07CBC22D74F5700D209BE /* Products */; 150 | projectDirPath = ""; 151 | projectRoot = ""; 152 | targets = ( 153 | ABE07CBA22D74F5700D209BE /* DesignCode */, 154 | ); 155 | }; 156 | /* End PBXProject section */ 157 | 158 | /* Begin PBXResourcesBuildPhase section */ 159 | ABE07CB922D74F5700D209BE /* Resources */ = { 160 | isa = PBXResourcesBuildPhase; 161 | buildActionMask = 2147483647; 162 | files = ( 163 | ABE07CCB22D74F5900D209BE /* LaunchScreen.storyboard in Resources */, 164 | ABE07CC822D74F5900D209BE /* Preview Assets.xcassets in Resources */, 165 | ABE07CC522D74F5900D209BE /* Assets.xcassets in Resources */, 166 | ); 167 | runOnlyForDeploymentPostprocessing = 0; 168 | }; 169 | /* End PBXResourcesBuildPhase section */ 170 | 171 | /* Begin PBXSourcesBuildPhase section */ 172 | ABE07CB722D74F5700D209BE /* Sources */ = { 173 | isa = PBXSourcesBuildPhase; 174 | buildActionMask = 2147483647; 175 | files = ( 176 | ABE07CBF22D74F5700D209BE /* AppDelegate.swift in Sources */, 177 | ABB215E222DC472900424B38 /* UpdateStore.swift in Sources */, 178 | ABB215DE22DB713300424B38 /* UpdateList.swift in Sources */, 179 | AB1D3B1C22D9CDEF00D0AEA6 /* HomeList.swift in Sources */, 180 | ABB215E022DB7F4700424B38 /* UpdateDetail.swift in Sources */, 181 | ABE07CC122D74F5700D209BE /* SceneDelegate.swift in Sources */, 182 | AB62172722D870540039BC73 /* Home.swift in Sources */, 183 | ABE07CC322D74F5700D209BE /* ContentView.swift in Sources */, 184 | ABB215DC22DB353800424B38 /* BlurView.swift in Sources */, 185 | ABB215E622DC808A00424B38 /* Settings.swift in Sources */, 186 | ABB215E822DC8ABD00424B38 /* CertificateRow.swift in Sources */, 187 | ABB215E422DC7D0000424B38 /* TabBar.swift in Sources */, 188 | ); 189 | runOnlyForDeploymentPostprocessing = 0; 190 | }; 191 | /* End PBXSourcesBuildPhase section */ 192 | 193 | /* Begin PBXVariantGroup section */ 194 | ABE07CC922D74F5900D209BE /* LaunchScreen.storyboard */ = { 195 | isa = PBXVariantGroup; 196 | children = ( 197 | ABE07CCA22D74F5900D209BE /* Base */, 198 | ); 199 | name = LaunchScreen.storyboard; 200 | sourceTree = ""; 201 | }; 202 | /* End PBXVariantGroup section */ 203 | 204 | /* Begin XCBuildConfiguration section */ 205 | ABE07CCD22D74F5900D209BE /* Debug */ = { 206 | isa = XCBuildConfiguration; 207 | buildSettings = { 208 | ALWAYS_SEARCH_USER_PATHS = NO; 209 | CLANG_ANALYZER_NONNULL = YES; 210 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 211 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 212 | CLANG_CXX_LIBRARY = "libc++"; 213 | CLANG_ENABLE_MODULES = YES; 214 | CLANG_ENABLE_OBJC_ARC = YES; 215 | CLANG_ENABLE_OBJC_WEAK = YES; 216 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 217 | CLANG_WARN_BOOL_CONVERSION = YES; 218 | CLANG_WARN_COMMA = YES; 219 | CLANG_WARN_CONSTANT_CONVERSION = YES; 220 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 221 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 222 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 223 | CLANG_WARN_EMPTY_BODY = YES; 224 | CLANG_WARN_ENUM_CONVERSION = YES; 225 | CLANG_WARN_INFINITE_RECURSION = YES; 226 | CLANG_WARN_INT_CONVERSION = YES; 227 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 228 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 229 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 230 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 231 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 232 | CLANG_WARN_STRICT_PROTOTYPES = YES; 233 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 234 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 235 | CLANG_WARN_UNREACHABLE_CODE = YES; 236 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 237 | COPY_PHASE_STRIP = NO; 238 | DEBUG_INFORMATION_FORMAT = dwarf; 239 | ENABLE_STRICT_OBJC_MSGSEND = YES; 240 | ENABLE_TESTABILITY = YES; 241 | GCC_C_LANGUAGE_STANDARD = gnu11; 242 | GCC_DYNAMIC_NO_PIC = NO; 243 | GCC_NO_COMMON_BLOCKS = YES; 244 | GCC_OPTIMIZATION_LEVEL = 0; 245 | GCC_PREPROCESSOR_DEFINITIONS = ( 246 | "DEBUG=1", 247 | "$(inherited)", 248 | ); 249 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 250 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 251 | GCC_WARN_UNDECLARED_SELECTOR = YES; 252 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 253 | GCC_WARN_UNUSED_FUNCTION = YES; 254 | GCC_WARN_UNUSED_VARIABLE = YES; 255 | IPHONEOS_DEPLOYMENT_TARGET = 13.0; 256 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; 257 | MTL_FAST_MATH = YES; 258 | ONLY_ACTIVE_ARCH = YES; 259 | SDKROOT = iphoneos; 260 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; 261 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 262 | }; 263 | name = Debug; 264 | }; 265 | ABE07CCE22D74F5900D209BE /* Release */ = { 266 | isa = XCBuildConfiguration; 267 | buildSettings = { 268 | ALWAYS_SEARCH_USER_PATHS = NO; 269 | CLANG_ANALYZER_NONNULL = YES; 270 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 271 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 272 | CLANG_CXX_LIBRARY = "libc++"; 273 | CLANG_ENABLE_MODULES = YES; 274 | CLANG_ENABLE_OBJC_ARC = YES; 275 | CLANG_ENABLE_OBJC_WEAK = YES; 276 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 277 | CLANG_WARN_BOOL_CONVERSION = YES; 278 | CLANG_WARN_COMMA = YES; 279 | CLANG_WARN_CONSTANT_CONVERSION = YES; 280 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 281 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 282 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 283 | CLANG_WARN_EMPTY_BODY = YES; 284 | CLANG_WARN_ENUM_CONVERSION = YES; 285 | CLANG_WARN_INFINITE_RECURSION = YES; 286 | CLANG_WARN_INT_CONVERSION = YES; 287 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 288 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 289 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 290 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 291 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 292 | CLANG_WARN_STRICT_PROTOTYPES = YES; 293 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 294 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 295 | CLANG_WARN_UNREACHABLE_CODE = YES; 296 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 297 | COPY_PHASE_STRIP = NO; 298 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 299 | ENABLE_NS_ASSERTIONS = NO; 300 | ENABLE_STRICT_OBJC_MSGSEND = YES; 301 | GCC_C_LANGUAGE_STANDARD = gnu11; 302 | GCC_NO_COMMON_BLOCKS = YES; 303 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 304 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 305 | GCC_WARN_UNDECLARED_SELECTOR = YES; 306 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 307 | GCC_WARN_UNUSED_FUNCTION = YES; 308 | GCC_WARN_UNUSED_VARIABLE = YES; 309 | IPHONEOS_DEPLOYMENT_TARGET = 13.0; 310 | MTL_ENABLE_DEBUG_INFO = NO; 311 | MTL_FAST_MATH = YES; 312 | SDKROOT = iphoneos; 313 | SWIFT_COMPILATION_MODE = wholemodule; 314 | SWIFT_OPTIMIZATION_LEVEL = "-O"; 315 | VALIDATE_PRODUCT = YES; 316 | }; 317 | name = Release; 318 | }; 319 | ABE07CD022D74F5900D209BE /* Debug */ = { 320 | isa = XCBuildConfiguration; 321 | buildSettings = { 322 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 323 | CODE_SIGN_STYLE = Automatic; 324 | DEVELOPMENT_ASSET_PATHS = "DesignCode/Preview\\ Content"; 325 | DEVELOPMENT_TEAM = 55K3Q933C6; 326 | ENABLE_PREVIEWS = YES; 327 | INFOPLIST_FILE = DesignCode/Info.plist; 328 | LD_RUNPATH_SEARCH_PATHS = ( 329 | "$(inherited)", 330 | "@executable_path/Frameworks", 331 | ); 332 | PRODUCT_BUNDLE_IDENTIFIER = mythxn.DesignCode; 333 | PRODUCT_NAME = "$(TARGET_NAME)"; 334 | SWIFT_VERSION = 5.0; 335 | TARGETED_DEVICE_FAMILY = "1,2"; 336 | }; 337 | name = Debug; 338 | }; 339 | ABE07CD122D74F5900D209BE /* Release */ = { 340 | isa = XCBuildConfiguration; 341 | buildSettings = { 342 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 343 | CODE_SIGN_STYLE = Automatic; 344 | DEVELOPMENT_ASSET_PATHS = "DesignCode/Preview\\ Content"; 345 | DEVELOPMENT_TEAM = 55K3Q933C6; 346 | ENABLE_PREVIEWS = YES; 347 | INFOPLIST_FILE = DesignCode/Info.plist; 348 | LD_RUNPATH_SEARCH_PATHS = ( 349 | "$(inherited)", 350 | "@executable_path/Frameworks", 351 | ); 352 | PRODUCT_BUNDLE_IDENTIFIER = mythxn.DesignCode; 353 | PRODUCT_NAME = "$(TARGET_NAME)"; 354 | SWIFT_VERSION = 5.0; 355 | TARGETED_DEVICE_FAMILY = "1,2"; 356 | }; 357 | name = Release; 358 | }; 359 | /* End XCBuildConfiguration section */ 360 | 361 | /* Begin XCConfigurationList section */ 362 | ABE07CB622D74F5700D209BE /* Build configuration list for PBXProject "DesignCode" */ = { 363 | isa = XCConfigurationList; 364 | buildConfigurations = ( 365 | ABE07CCD22D74F5900D209BE /* Debug */, 366 | ABE07CCE22D74F5900D209BE /* Release */, 367 | ); 368 | defaultConfigurationIsVisible = 0; 369 | defaultConfigurationName = Release; 370 | }; 371 | ABE07CCF22D74F5900D209BE /* Build configuration list for PBXNativeTarget "DesignCode" */ = { 372 | isa = XCConfigurationList; 373 | buildConfigurations = ( 374 | ABE07CD022D74F5900D209BE /* Debug */, 375 | ABE07CD122D74F5900D209BE /* Release */, 376 | ); 377 | defaultConfigurationIsVisible = 0; 378 | defaultConfigurationName = Release; 379 | }; 380 | /* End XCConfigurationList section */ 381 | }; 382 | rootObject = ABE07CB322D74F5700D209BE /* Project object */; 383 | } 384 | -------------------------------------------------------------------------------- /DesignCode.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /DesignCode.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /DesignCode.xcodeproj/xcuserdata/mythxn.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | DesignCode.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /DesignCode/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // DesignCode 4 | // 5 | // Created by Mithun x on 7/11/19. 6 | // Copyright © 2019 Mithun. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | @UIApplicationMain 12 | class AppDelegate: UIResponder, UIApplicationDelegate { 13 | 14 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { 15 | // Override point for customization after application launch. 16 | return true 17 | } 18 | 19 | // MARK: UISceneSession Lifecycle 20 | 21 | func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { 22 | // Called when a new scene session is being created. 23 | // Use this method to select a configuration to create the new scene with. 24 | return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) 25 | } 26 | 27 | func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) { 28 | // Called when the user discards a scene session. 29 | // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. 30 | // Use this method to release any resources that were specific to the discarded scenes, as they will not return. 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "size" : "20x20", 5 | "idiom" : "iphone", 6 | "filename" : "icon_20pt@2x.png", 7 | "scale" : "2x" 8 | }, 9 | { 10 | "size" : "20x20", 11 | "idiom" : "iphone", 12 | "filename" : "icon_20pt@3x.png", 13 | "scale" : "3x" 14 | }, 15 | { 16 | "size" : "29x29", 17 | "idiom" : "iphone", 18 | "filename" : "icon_29pt.png", 19 | "scale" : "1x" 20 | }, 21 | { 22 | "size" : "29x29", 23 | "idiom" : "iphone", 24 | "filename" : "icon_29pt@2x.png", 25 | "scale" : "2x" 26 | }, 27 | { 28 | "size" : "29x29", 29 | "idiom" : "iphone", 30 | "filename" : "icon_29pt@3x.png", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "size" : "40x40", 35 | "idiom" : "iphone", 36 | "filename" : "icon_40pt@2x.png", 37 | "scale" : "2x" 38 | }, 39 | { 40 | "size" : "40x40", 41 | "idiom" : "iphone", 42 | "filename" : "icon_40pt@3x.png", 43 | "scale" : "3x" 44 | }, 45 | { 46 | "size" : "60x60", 47 | "idiom" : "iphone", 48 | "filename" : "icon_60pt@2x.png", 49 | "scale" : "2x" 50 | }, 51 | { 52 | "size" : "60x60", 53 | "idiom" : "iphone", 54 | "filename" : "icon_60pt@3x.png", 55 | "scale" : "3x" 56 | }, 57 | { 58 | "idiom" : "ipad", 59 | "size" : "20x20", 60 | "scale" : "1x" 61 | }, 62 | { 63 | "idiom" : "ipad", 64 | "size" : "20x20", 65 | "scale" : "2x" 66 | }, 67 | { 68 | "idiom" : "ipad", 69 | "size" : "29x29", 70 | "scale" : "1x" 71 | }, 72 | { 73 | "idiom" : "ipad", 74 | "size" : "29x29", 75 | "scale" : "2x" 76 | }, 77 | { 78 | "idiom" : "ipad", 79 | "size" : "40x40", 80 | "scale" : "1x" 81 | }, 82 | { 83 | "idiom" : "ipad", 84 | "size" : "40x40", 85 | "scale" : "2x" 86 | }, 87 | { 88 | "idiom" : "ipad", 89 | "size" : "76x76", 90 | "scale" : "1x" 91 | }, 92 | { 93 | "size" : "76x76", 94 | "idiom" : "ipad", 95 | "filename" : "icon_76pt@2x.png", 96 | "scale" : "2x" 97 | }, 98 | { 99 | "size" : "83.5x83.5", 100 | "idiom" : "ipad", 101 | "filename" : "icon_83.5@2x.png", 102 | "scale" : "2x" 103 | }, 104 | { 105 | "size" : "1024x1024", 106 | "idiom" : "ios-marketing", 107 | "filename" : "Icon.png", 108 | "scale" : "1x" 109 | } 110 | ], 111 | "info" : { 112 | "version" : 1, 113 | "author" : "xcode" 114 | } 115 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/AppIcon.appiconset/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/AppIcon.appiconset/Icon.png -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/AppIcon.appiconset/icon_20pt@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/AppIcon.appiconset/icon_20pt@2x.png -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/AppIcon.appiconset/icon_20pt@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/AppIcon.appiconset/icon_20pt@3x.png -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/AppIcon.appiconset/icon_29pt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/AppIcon.appiconset/icon_29pt.png -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/AppIcon.appiconset/icon_29pt@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/AppIcon.appiconset/icon_29pt@2x.png -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/AppIcon.appiconset/icon_29pt@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/AppIcon.appiconset/icon_29pt@3x.png -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/AppIcon.appiconset/icon_40pt@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/AppIcon.appiconset/icon_40pt@2x.png -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/AppIcon.appiconset/icon_40pt@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/AppIcon.appiconset/icon_40pt@3x.png -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/AppIcon.appiconset/icon_60pt@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/AppIcon.appiconset/icon_60pt@2x.png -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/AppIcon.appiconset/icon_60pt@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/AppIcon.appiconset/icon_60pt@3x.png -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/AppIcon.appiconset/icon_76pt@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/AppIcon.appiconset/icon_76pt@2x.png -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/AppIcon.appiconset/icon_83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/AppIcon.appiconset/icon_83.5@2x.png -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Background.imageset/Background.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/Background.imageset/Background.pdf -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Background.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Background.pdf", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Certificate1.imageset/Certificate1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/Certificate1.imageset/Certificate1.pdf -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Certificate1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Certificate1.pdf", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Certificate2.imageset/Certificate2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/Certificate2.imageset/Certificate2.pdf -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Certificate2.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Certificate2.pdf", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Certificate3.imageset/Certificate3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/Certificate3.imageset/Certificate3.pdf -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Certificate3.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Certificate3.pdf", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Certificate4.imageset/Certificate4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/Certificate4.imageset/Certificate4.pdf -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Certificate4.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Certificate4.pdf", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Colors/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Colors/accent.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "colors" : [ 7 | { 8 | "idiom" : "universal", 9 | "color" : { 10 | "color-space" : "display-p3", 11 | "components" : { 12 | "red" : "0x5E", 13 | "alpha" : "1.000", 14 | "blue" : "0xFA", 15 | "green" : "0xCD" 16 | } 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Colors/accentShadow.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "colors" : [ 7 | { 8 | "idiom" : "universal", 9 | "color" : { 10 | "color-space" : "display-p3", 11 | "components" : { 12 | "red" : "0x5E", 13 | "alpha" : "0.300", 14 | "blue" : "0xFA", 15 | "green" : "0xCD" 16 | } 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Colors/background.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "colors" : [ 7 | { 8 | "idiom" : "universal", 9 | "color" : { 10 | "color-space" : "srgb", 11 | "components" : { 12 | "red" : "0xE6", 13 | "alpha" : "1.000", 14 | "blue" : "0xF3", 15 | "green" : "0xEA" 16 | } 17 | } 18 | }, 19 | { 20 | "idiom" : "universal", 21 | "appearances" : [ 22 | { 23 | "appearance" : "luminosity", 24 | "value" : "light" 25 | } 26 | ], 27 | "color" : { 28 | "color-space" : "srgb", 29 | "components" : { 30 | "red" : "0.902", 31 | "alpha" : "1.000", 32 | "blue" : "0.953", 33 | "green" : "0.918" 34 | } 35 | } 36 | }, 37 | { 38 | "idiom" : "universal", 39 | "appearances" : [ 40 | { 41 | "appearance" : "luminosity", 42 | "value" : "dark" 43 | } 44 | ], 45 | "color" : { 46 | "color-space" : "srgb", 47 | "components" : { 48 | "red" : "0x00", 49 | "alpha" : "1.000", 50 | "blue" : "0x00", 51 | "green" : "0x00" 52 | } 53 | } 54 | } 55 | ] 56 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Colors/background10.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "colors" : [ 7 | { 8 | "idiom" : "universal", 9 | "color" : { 10 | "color-space" : "srgb", 11 | "components" : { 12 | "red" : "0xC9", 13 | "alpha" : "1.000", 14 | "blue" : "0x7A", 15 | "green" : "0x3C" 16 | } 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Colors/background2.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "colors" : [ 7 | { 8 | "idiom" : "universal", 9 | "color" : { 10 | "color-space" : "srgb", 11 | "components" : { 12 | "red" : "0x00", 13 | "alpha" : "1.000", 14 | "blue" : "0x00", 15 | "green" : "0x00" 16 | } 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Colors/background3.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "colors" : [ 7 | { 8 | "idiom" : "universal", 9 | "color" : { 10 | "color-space" : "srgb", 11 | "components" : { 12 | "red" : "0x45", 13 | "alpha" : "1.000", 14 | "blue" : "0xC9", 15 | "green" : "0x3C" 16 | } 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Colors/background4.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "colors" : [ 7 | { 8 | "idiom" : "universal", 9 | "color" : { 10 | "color-space" : "srgb", 11 | "components" : { 12 | "red" : "0xEC", 13 | "alpha" : "1.000", 14 | "blue" : "0x7B", 15 | "green" : "0x7E" 16 | } 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Colors/background5.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "colors" : [ 7 | { 8 | "idiom" : "universal", 9 | "color" : { 10 | "color-space" : "srgb", 11 | "components" : { 12 | "red" : "0.263", 13 | "alpha" : "1.000", 14 | "blue" : "0.808", 15 | "green" : "0.765" 16 | } 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Colors/background6.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "colors" : [ 7 | { 8 | "idiom" : "universal", 9 | "color" : { 10 | "color-space" : "srgb", 11 | "components" : { 12 | "red" : "0x3F", 13 | "alpha" : "1.000", 14 | "blue" : "0xFF", 15 | "green" : "0xA2" 16 | } 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Colors/background7.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "colors" : [ 7 | { 8 | "idiom" : "universal", 9 | "color" : { 10 | "color-space" : "srgb", 11 | "components" : { 12 | "red" : "0x3F", 13 | "alpha" : "1.000", 14 | "blue" : "0xFF", 15 | "green" : "0x54" 16 | } 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Colors/background8.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "colors" : [ 7 | { 8 | "idiom" : "universal", 9 | "color" : { 10 | "color-space" : "srgb", 11 | "components" : { 12 | "red" : "0x45", 13 | "alpha" : "1.000", 14 | "blue" : "0xC9", 15 | "green" : "0x3C" 16 | } 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Colors/background9.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "colors" : [ 7 | { 8 | "idiom" : "universal", 9 | "color" : { 10 | "color-space" : "srgb", 11 | "components" : { 12 | "red" : "0x80", 13 | "alpha" : "1.000", 14 | "blue" : "0xC9", 15 | "green" : "0x3C" 16 | } 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Colors/backgroundShadow3.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "colors" : [ 7 | { 8 | "idiom" : "universal", 9 | "color" : { 10 | "color-space" : "srgb", 11 | "components" : { 12 | "red" : "0.271", 13 | "alpha" : "0.300", 14 | "blue" : "0.788", 15 | "green" : "0.235" 16 | } 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Colors/backgroundShadow4.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "colors" : [ 7 | { 8 | "idiom" : "universal", 9 | "color" : { 10 | "color-space" : "srgb", 11 | "components" : { 12 | "red" : "0.925", 13 | "alpha" : "0.300", 14 | "blue" : "0.482", 15 | "green" : "0.494" 16 | } 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Colors/button.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "colors" : [ 7 | { 8 | "idiom" : "universal", 9 | "color" : { 10 | "color-space" : "srgb", 11 | "components" : { 12 | "red" : "1.000", 13 | "alpha" : "1.000", 14 | "blue" : "1.000", 15 | "green" : "1.000" 16 | } 17 | } 18 | }, 19 | { 20 | "idiom" : "universal", 21 | "appearances" : [ 22 | { 23 | "appearance" : "luminosity", 24 | "value" : "dark" 25 | } 26 | ], 27 | "color" : { 28 | "color-space" : "srgb", 29 | "components" : { 30 | "red" : "0x11", 31 | "alpha" : "1.000", 32 | "blue" : "0x11", 33 | "green" : "0x11" 34 | } 35 | } 36 | } 37 | ] 38 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Colors/buttonShadow.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "colors" : [ 7 | { 8 | "idiom" : "universal", 9 | "color" : { 10 | "color-space" : "srgb", 11 | "components" : { 12 | "red" : "0x9C", 13 | "alpha" : "0.300", 14 | "blue" : "0xB9", 15 | "green" : "0xA5" 16 | } 17 | } 18 | }, 19 | { 20 | "idiom" : "universal", 21 | "appearances" : [ 22 | { 23 | "appearance" : "luminosity", 24 | "value" : "dark" 25 | } 26 | ], 27 | "color" : { 28 | "color-space" : "srgb", 29 | "components" : { 30 | "red" : "0x00", 31 | "alpha" : "0.300", 32 | "blue" : "0x00", 33 | "green" : "0x00" 34 | } 35 | } 36 | } 37 | ] 38 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Colors/gradient1.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "colors" : [ 7 | { 8 | "idiom" : "universal", 9 | "color" : { 10 | "color-space" : "extended-srgb", 11 | "components" : { 12 | "red" : "0.271", 13 | "alpha" : "1.000", 14 | "blue" : "0.788", 15 | "green" : "0.235" 16 | } 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Colors/gradient2.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "colors" : [ 7 | { 8 | "idiom" : "universal", 9 | "color" : { 10 | "color-space" : "extended-srgb", 11 | "components" : { 12 | "red" : "0.447", 13 | "alpha" : "1.000", 14 | "blue" : "0.792", 15 | "green" : "0.424" 16 | } 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Colors/icons.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "colors" : [ 7 | { 8 | "idiom" : "universal", 9 | "color" : { 10 | "color-space" : "srgb", 11 | "components" : { 12 | "red" : "0xA9", 13 | "alpha" : "1.000", 14 | "blue" : "0xD4", 15 | "green" : "0xBB" 16 | } 17 | } 18 | }, 19 | { 20 | "idiom" : "universal", 21 | "appearances" : [ 22 | { 23 | "appearance" : "luminosity", 24 | "value" : "dark" 25 | } 26 | ], 27 | "color" : { 28 | "color-space" : "srgb", 29 | "components" : { 30 | "red" : "0x66", 31 | "alpha" : "1.000", 32 | "blue" : "0x66", 33 | "green" : "0x66" 34 | } 35 | } 36 | } 37 | ] 38 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Colors/primary.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "colors" : [ 7 | { 8 | "idiom" : "universal", 9 | "color" : { 10 | "color-space" : "srgb", 11 | "components" : { 12 | "red" : "1.000", 13 | "alpha" : "1.000", 14 | "blue" : "1.000", 15 | "green" : "1.000" 16 | } 17 | } 18 | }, 19 | { 20 | "idiom" : "universal", 21 | "appearances" : [ 22 | { 23 | "appearance" : "luminosity", 24 | "value" : "dark" 25 | } 26 | ], 27 | "color" : { 28 | "color-space" : "srgb", 29 | "components" : { 30 | "red" : "1.000", 31 | "alpha" : "0.700", 32 | "blue" : "1.000", 33 | "green" : "1.000" 34 | } 35 | } 36 | } 37 | ] 38 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Colors/secondary.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "colors" : [ 7 | { 8 | "idiom" : "universal", 9 | "color" : { 10 | "color-space" : "srgb", 11 | "components" : { 12 | "red" : "1.000", 13 | "alpha" : "0.600", 14 | "blue" : "1.000", 15 | "green" : "1.000" 16 | } 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/IconCards.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "IconCards.pdf", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/IconCards.imageset/IconCards.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/IconCards.imageset/IconCards.pdf -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/IconHome.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "IconHome.pdf", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/IconHome.imageset/IconHome.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/IconHome.imageset/IconHome.pdf -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/IconSettings.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "IconSettings.pdf", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/IconSettings.imageset/IconSettings.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/IconSettings.imageset/IconSettings.pdf -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Illustration1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Illustration1.pdf", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Illustration1.imageset/Illustration1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/Illustration1.imageset/Illustration1.pdf -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Illustration2.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Illustration2.pdf", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Illustration2.imageset/Illustration2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/Illustration2.imageset/Illustration2.pdf -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Illustration3.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Illustration3.pdf", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Illustration3.imageset/Illustration3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/Illustration3.imageset/Illustration3.pdf -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Illustration4.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Illustration4.pdf", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Illustration4.imageset/Illustration4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/Illustration4.imageset/Illustration4.pdf -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Illustration5.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Illustration5.pdf", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Illustration5.imageset/Illustration5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/Illustration5.imageset/Illustration5.pdf -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Logo.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Logo.pdf", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/Logo.imageset/Logo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/Logo.imageset/Logo.pdf -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/avatar.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "avatar.jpg", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/avatar.imageset/avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/avatar.imageset/avatar.jpg -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/promo.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "promo.jpg", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/promo.imageset/promo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/promo.imageset/promo.jpg -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/wallpaper01.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "wallpaper01.jpg", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/wallpaper01.imageset/wallpaper01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/wallpaper01.imageset/wallpaper01.jpg -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/wallpaper02.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "wallpaper02.jpg", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DesignCode/Assets.xcassets/wallpaper02.imageset/wallpaper02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/DesignCode/Assets.xcassets/wallpaper02.imageset/wallpaper02.jpg -------------------------------------------------------------------------------- /DesignCode/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /DesignCode/BlurView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // BlurView.swift 3 | // DesignCode 4 | // 5 | // Created by Mithun x on 7/14/19. 6 | // Copyright © 2019 Mithun. All rights reserved. 7 | // 8 | 9 | import SwiftUI 10 | 11 | struct BlurView: UIViewRepresentable { 12 | 13 | let style: UIBlurEffect.Style 14 | 15 | func makeUIView(context: UIViewRepresentableContext) -> UIView { 16 | let view = UIView(frame: .zero) 17 | view.backgroundColor = .clear 18 | let blurEffect = UIBlurEffect(style: style) 19 | let blurView = UIVisualEffectView(effect: blurEffect) 20 | blurView.translatesAutoresizingMaskIntoConstraints = false 21 | view.insertSubview(blurView, at: 0) 22 | NSLayoutConstraint.activate([ 23 | blurView.heightAnchor.constraint(equalTo: view.heightAnchor), 24 | blurView.widthAnchor.constraint(equalTo: view.widthAnchor), 25 | ]) 26 | return view 27 | } 28 | 29 | func updateUIView(_ uiView: UIView, 30 | context: UIViewRepresentableContext) {} 31 | } 32 | -------------------------------------------------------------------------------- /DesignCode/CertificateRow.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CertificateRow.swift 3 | // DesignCode 4 | // 5 | // Created by Mithun x on 7/15/19. 6 | // Copyright © 2019 Mithun. All rights reserved. 7 | // 8 | 9 | import SwiftUI 10 | 11 | struct CertificateRow: View { 12 | 13 | var certificates = certificateData 14 | 15 | var body: some View { 16 | VStack(alignment: .leading) { 17 | Text("Certificates") 18 | .font(.system(size: 20)) 19 | .fontWeight(.heavy) 20 | .padding(.leading, 30) 21 | 22 | ScrollView(.horizontal, showsIndicators: false) { 23 | HStack(spacing: 20) { 24 | ForEach(certificates) { item in 25 | CertificateView(item: item) 26 | } 27 | } 28 | .padding(20) 29 | .padding(.leading, 10) 30 | } 31 | } 32 | } 33 | } 34 | 35 | #if DEBUG 36 | struct CertificateRow_Previews: PreviewProvider { 37 | static var previews: some View { 38 | CertificateRow() 39 | } 40 | } 41 | #endif 42 | 43 | struct Certificate: Identifiable { 44 | var id = UUID() 45 | var title: String 46 | var image: String 47 | var width: Int 48 | var height: Int 49 | } 50 | 51 | let certificateData = [ 52 | Certificate(title: "UI Design", image: "Certificate1", width: 230, height: 150), 53 | Certificate(title: "SwiftUI", image: "Certificate2", width: 230, height: 150), 54 | Certificate(title: "Sketch", image: "Certificate3", width: 230, height: 150), 55 | Certificate(title: "Framer", image: "Certificate4", width: 230, height: 150) 56 | ] 57 | -------------------------------------------------------------------------------- /DesignCode/ContentView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ContentView.swift 3 | // DesignCode 4 | // 5 | // Created by Mithun x on 7/11/19. 6 | // Copyright © 2019 Mithun. All rights reserved. 7 | // 8 | 9 | import SwiftUI 10 | 11 | struct ContentView: View { 12 | 13 | @State var show = false 14 | @State var viewState = CGSize.zero 15 | 16 | var body: some View { 17 | ZStack { 18 | BlurView(style: .systemMaterial) 19 | 20 | TitleView() 21 | .blur(radius: show ? 20 : 0) 22 | .animation(.default) 23 | 24 | CardBottomView() 25 | .blur(radius: show ? 20 : 0) 26 | .animation(.default) 27 | 28 | CardView() 29 | .background(show ? Color.red : Color("background9")) 30 | .cornerRadius(10) 31 | .shadow(radius: 20) 32 | .offset(x: 0, y: show ? -400 : -40) 33 | .scaleEffect(0.85) 34 | .rotationEffect(Angle(degrees: show ? 15 : 0)) 35 | .blendMode(.hardLight) 36 | .animation(.easeInOut(duration: 0.6)) 37 | .offset(x: viewState.width, y: viewState.height) 38 | 39 | CardView() 40 | .background(show ? Color("background5") : Color("background8")) 41 | .cornerRadius(10) 42 | .shadow(radius: 20) 43 | .offset(x: 0, y: show ? -200 : -20) 44 | .scaleEffect(0.9) 45 | .rotationEffect(Angle(degrees: show ? 10 : 0)) 46 | .blendMode(.hardLight) 47 | .animation(.easeInOut(duration: 0.4)) 48 | .offset(x: viewState.width, y: viewState.height) 49 | 50 | CertificateView() 51 | .offset(x: viewState.width, y: viewState.height) 52 | .scaleEffect(0.95) 53 | .rotationEffect(Angle(degrees: show ? 5 : 0)) 54 | .animation(.spring()) 55 | .onTapGesture { 56 | self.show.toggle() 57 | } 58 | .gesture( 59 | DragGesture() 60 | .onChanged { value in 61 | self.viewState = value.translation 62 | self.show = true 63 | } 64 | .onEnded { _ in 65 | self.viewState = CGSize.zero 66 | self.show = false 67 | } 68 | ) 69 | } 70 | } 71 | } 72 | 73 | #if DEBUG 74 | struct ContentView_Previews: PreviewProvider { 75 | static var previews: some View { 76 | ContentView() 77 | } 78 | } 79 | #endif 80 | 81 | struct CardView: View { 82 | var body: some View { 83 | return VStack { 84 | Text("Card Back") 85 | } 86 | .frame(width: 340.0, height: 220.0) 87 | } 88 | } 89 | 90 | struct CertificateView: View { 91 | 92 | var item = Certificate(title: "UI Design", image: "Certificate1", width: 340, height: 220) 93 | 94 | var body: some View { 95 | return VStack { 96 | HStack { 97 | VStack(alignment: .leading) { 98 | Text(item.title) 99 | .font(.headline) 100 | .fontWeight(.bold) 101 | .foregroundColor(Color("accent")) 102 | .padding(.top) 103 | 104 | Text("Certificate") 105 | .foregroundColor(.white) 106 | } 107 | Spacer() 108 | 109 | Image("Logo") 110 | .resizable() 111 | .frame(width: 30, height: 30) 112 | } 113 | .padding(.horizontal) 114 | Spacer() 115 | 116 | Image(item.image) 117 | .frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity) 118 | .offset(y: 50) 119 | } 120 | .frame(width: CGFloat(item.width), height: CGFloat(item.height)) 121 | .background(Color.black) 122 | .cornerRadius(10) 123 | .shadow(radius: 10) 124 | } 125 | } 126 | 127 | struct TitleView: View { 128 | var body: some View { 129 | return VStack { 130 | HStack { 131 | Text("Certificates") 132 | .font(.largeTitle) 133 | .fontWeight(.heavy) 134 | 135 | Spacer() 136 | } 137 | Image("Illustration5") 138 | 139 | Spacer() 140 | }.padding() 141 | } 142 | } 143 | 144 | struct CardBottomView: View { 145 | var body: some View { 146 | return VStack(spacing: 20.0) { 147 | Rectangle() 148 | .frame(width: 60, height: 6) 149 | .cornerRadius(3.0) 150 | .opacity(0.1) 151 | 152 | Text("This certificate is proof that Mithun has achieved UI Design course with approval from a Design+Code instructor.") 153 | .lineLimit(nil) 154 | 155 | Spacer() 156 | } 157 | .frame(minWidth: 0, maxWidth: .infinity) 158 | .padding() 159 | .padding(.horizontal) 160 | .background(BlurView(style: .systemMaterial)) 161 | .cornerRadius(30) 162 | .shadow(radius: 20) 163 | .offset(y: UIScreen.main.bounds.height - 215) 164 | } 165 | } 166 | -------------------------------------------------------------------------------- /DesignCode/Home.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Home.swift 3 | // DesignCode 4 | // 5 | // Created by Mithun x on 7/12/19. 6 | // Copyright © 2019 Mithun. All rights reserved. 7 | // 8 | 9 | import SwiftUI 10 | 11 | let window = UIApplication.shared.windows.filter {$0.isKeyWindow}.first 12 | let statusBarHeight = window?.windowScene?.statusBarManager?.statusBarFrame.height ?? 0 13 | let screen = UIScreen.main.bounds 14 | 15 | struct Home: View { 16 | 17 | @State var show = false 18 | @State var showProfile = false 19 | 20 | var body: some View { 21 | ZStack(alignment: .top) { 22 | HomeList() 23 | .blur(radius: show ? 20 : 0) 24 | .scaleEffect(showProfile ? 0.95 : 1) 25 | .animation(.default) 26 | 27 | ContentView() 28 | .frame(minWidth: 0, maxWidth: 712) 29 | .cornerRadius(30) 30 | .shadow(radius: 20) 31 | .animation(.spring()) 32 | .offset(y: showProfile ? statusBarHeight + 40 : UIScreen.main.bounds.height) 33 | 34 | HStack { 35 | MenuButton(show: $show) 36 | .offset(x: -40) 37 | Spacer() 38 | 39 | MenuRight(show: $showProfile) 40 | .offset(x: -16) 41 | } 42 | .offset(y: showProfile ? statusBarHeight : 80) 43 | .animation(.spring()) 44 | 45 | MenuView(show: $show) 46 | } 47 | .background(Color("background")) 48 | .edgesIgnoringSafeArea(.all) 49 | } 50 | } 51 | 52 | #if DEBUG 53 | struct Home_Previews: PreviewProvider { 54 | static var previews: some View { 55 | Home() 56 | .previewDevice("iPhone X") 57 | } 58 | } 59 | #endif 60 | 61 | struct MenuRow: View { 62 | 63 | var image = "creditcard" 64 | var text = "My Account" 65 | 66 | var body: some View { 67 | return HStack { 68 | Image(systemName: image) 69 | .imageScale(.large) 70 | .foregroundColor(Color("icons")) 71 | .frame(width: 32, height: 32) 72 | 73 | Text(text) 74 | .font(.headline) 75 | .foregroundColor(.primary) 76 | 77 | Spacer() 78 | } 79 | } 80 | } 81 | 82 | struct Menu: Identifiable { 83 | var id = UUID() 84 | var title: String 85 | var icon: String 86 | } 87 | 88 | let menuData = [ 89 | Menu(title: "My Account", icon: "person.crop.circle"), 90 | Menu(title: "Settings", icon: "gear"), 91 | Menu(title: "Billing", icon: "creditcard"), 92 | Menu(title: "Team", icon: "person.2"), 93 | Menu(title: "Sign out", icon: "arrow.uturn.down") 94 | ] 95 | 96 | struct MenuView: View { 97 | 98 | var menu = menuData 99 | @Binding var show: Bool 100 | @State var showSettings = false 101 | 102 | var body: some View { 103 | return HStack { 104 | VStack(alignment: .leading) { 105 | ForEach(menu) { item in 106 | if item.title == "Settings" { 107 | Button(action: { self.showSettings.toggle() }) { 108 | MenuRow(image: item.icon, text: item.title) 109 | .sheet(isPresented: self.$showSettings) { Settings() } 110 | } 111 | } else { 112 | MenuRow(image: item.icon, text: item.title) 113 | } 114 | } 115 | Spacer() 116 | } 117 | .padding(.top, 20) 118 | .padding(30) 119 | .frame(minWidth: 0, maxWidth: 360) 120 | .background(Color("button")) 121 | .cornerRadius(30) 122 | .padding(.trailing, 60) 123 | .shadow(radius: 20) 124 | .rotation3DEffect(Angle(degrees: show ? 0 : 60), axis: (x: 0, y: 10.0, z: 0)) 125 | .animation(.default) 126 | .offset(x: show ? 0 : -UIScreen.main.bounds.width) 127 | .onTapGesture { 128 | self.show.toggle() 129 | } 130 | Spacer() 131 | } 132 | .padding(.top, statusBarHeight) 133 | } 134 | } 135 | 136 | struct CircleButton: View { 137 | 138 | var icon = "person.crop.circle" 139 | 140 | var body: some View { 141 | return HStack { 142 | Image(systemName: icon) 143 | .foregroundColor(.primary) 144 | } 145 | .frame(width: 44, height: 44) 146 | .background(Color("button")) 147 | .cornerRadius(30) 148 | .shadow(color: Color("buttonShadow"), radius: 20, x: 0, y: 20) 149 | } 150 | } 151 | 152 | struct MenuButton: View { 153 | @Binding var show: Bool 154 | 155 | var body: some View { 156 | return ZStack(alignment: .topLeading) { 157 | Button(action: { self.show.toggle() }) { 158 | HStack { 159 | Spacer() 160 | 161 | Image(systemName: "list.dash") 162 | .foregroundColor(.primary) 163 | } 164 | .padding(.trailing, 18) 165 | .frame(width: 90, height: 60) 166 | .background(Color("button")) 167 | .cornerRadius(30) 168 | .shadow(color: Color("buttonShadow"), radius: 20, x: 0, y: 20) 169 | } 170 | Spacer() 171 | } 172 | } 173 | } 174 | 175 | struct MenuRight: View { 176 | 177 | @Binding var show: Bool 178 | @State var showUpdate = false 179 | 180 | var body: some View { 181 | return ZStack(alignment: .topTrailing) { 182 | HStack { 183 | Button(action: { self.show.toggle() }) { 184 | CircleButton(icon: "person.crop.circle") 185 | } 186 | Button(action: { self.showUpdate.toggle() }) { 187 | CircleButton(icon: "bell") 188 | .sheet(isPresented: self.$showUpdate) { UpdateList() } 189 | } 190 | } 191 | Spacer() 192 | } 193 | } 194 | } 195 | -------------------------------------------------------------------------------- /DesignCode/HomeList.swift: -------------------------------------------------------------------------------- 1 | // 2 | // HomeList.swift 3 | // DesignCode 4 | // 5 | // Created by Mithun x on 7/13/19. 6 | // Copyright © 2019 Mithun. All rights reserved. 7 | // 8 | 9 | import SwiftUI 10 | 11 | struct HomeList: View { 12 | 13 | var courses = coursesData 14 | @State var showContent = false 15 | 16 | var body: some View { 17 | ScrollView { 18 | VStack { 19 | HStack { 20 | VStack(alignment: .leading) { 21 | Text("Courses") 22 | .font(.largeTitle) 23 | .fontWeight(.heavy) 24 | 25 | Text("22 Courses") 26 | .foregroundColor(.gray) 27 | } 28 | Spacer() 29 | } 30 | .padding(.leading, 60.0) 31 | 32 | ScrollView(.horizontal, showsIndicators: false) { 33 | HStack(spacing: 30.0) { 34 | ForEach(courses) { item in 35 | Button(action: { self.showContent.toggle() }) { 36 | GeometryReader { geometry in 37 | CourseView(title: item.title, 38 | image: item.image, 39 | color: item.color, 40 | shadowColor: item.shadowColor) 41 | .rotation3DEffect(Angle(degrees: 42 | Double(geometry.frame(in: .global).minX - 30) / -40), axis: (x: 0, y: 10.0, z: 0)) 43 | .sheet(isPresented: self.$showContent) { ContentView() } 44 | } 45 | .frame(width: 246, height: 360) 46 | } 47 | } 48 | } 49 | .padding(.leading, 30) 50 | .padding(.top, 30) 51 | .padding(.bottom, 70) 52 | Spacer() 53 | } 54 | CertificateRow() 55 | } 56 | .padding(.top, 78) 57 | } 58 | } 59 | } 60 | 61 | #if DEBUG 62 | struct HomeList_Previews: PreviewProvider { 63 | static var previews: some View { 64 | HomeList() 65 | } 66 | } 67 | #endif 68 | 69 | struct CourseView: View { 70 | 71 | var title = "Build an app with SwiftUI" 72 | var image = "Illustration1" 73 | var color = Color("background3") 74 | var shadowColor = Color("backgroundShadow3") 75 | 76 | var body: some View { 77 | return VStack(alignment: .leading) { 78 | Text(title) 79 | .font(.title) 80 | .fontWeight(.bold) 81 | .foregroundColor(.white) 82 | .padding(30) 83 | .lineLimit(4) 84 | 85 | Spacer() 86 | 87 | Image(image) 88 | .resizable() 89 | .renderingMode(.original) 90 | .aspectRatio(contentMode: .fit) 91 | .frame(width: 246, height: 150) 92 | .padding(.bottom, 30) 93 | } 94 | .background(color) 95 | .cornerRadius(30) 96 | .frame(width: 246, height: 360) 97 | .shadow(color: shadowColor, radius: 20, x: 0, y: 20) 98 | } 99 | } 100 | 101 | struct Course: Identifiable { 102 | var id = UUID() 103 | var title: String 104 | var image: String 105 | var color: Color 106 | var shadowColor: Color 107 | } 108 | 109 | let coursesData = [ 110 | Course(title: "Build an app with SwiftUI", 111 | image: "Illustration1", 112 | color: Color("background3"), 113 | shadowColor: Color("backgroundShadow3")), 114 | Course(title: "Design and animate your UI", 115 | image: "Illustration2", 116 | color: Color("background4"), 117 | shadowColor: Color("backgroundShadow4")), 118 | Course(title: "Swift UI Advanced", 119 | image: "Illustration3", 120 | color: Color("background7"), 121 | shadowColor: Color(hue: 0.677, saturation: 0.701, brightness: 0.788, opacity: 0.5)), 122 | Course(title: "Framer Playground", 123 | image: "Illustration4", 124 | color: Color("background8"), 125 | shadowColor: Color(hue: 0.677, saturation: 0.701, brightness: 0.788, opacity: 0.5)), 126 | Course(title: "Flutter for Designers", 127 | image: "Illustration5", 128 | color: Color("background9"), 129 | shadowColor: Color(hue: 0.677, saturation: 0.701, brightness: 0.788, opacity: 0.5)), 130 | ] 131 | -------------------------------------------------------------------------------- /DesignCode/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UIApplicationSceneManifest 24 | 25 | UIApplicationSupportsMultipleScenes 26 | 27 | UISceneConfigurations 28 | 29 | UIWindowSceneSessionRoleApplication 30 | 31 | 32 | UILaunchStoryboardName 33 | LaunchScreen 34 | UISceneConfigurationName 35 | Default Configuration 36 | UISceneDelegateClassName 37 | $(PRODUCT_MODULE_NAME).SceneDelegate 38 | 39 | 40 | 41 | 42 | UILaunchStoryboardName 43 | LaunchScreen 44 | UIRequiredDeviceCapabilities 45 | 46 | armv7 47 | 48 | UISupportedInterfaceOrientations 49 | 50 | UIInterfaceOrientationPortrait 51 | UIInterfaceOrientationLandscapeLeft 52 | UIInterfaceOrientationLandscapeRight 53 | 54 | UISupportedInterfaceOrientations~ipad 55 | 56 | UIInterfaceOrientationPortrait 57 | UIInterfaceOrientationPortraitUpsideDown 58 | UIInterfaceOrientationLandscapeLeft 59 | UIInterfaceOrientationLandscapeRight 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /DesignCode/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /DesignCode/SceneDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SceneDelegate.swift 3 | // DesignCode 4 | // 5 | // Created by Mithun x on 7/11/19. 6 | // Copyright © 2019 Mithun. All rights reserved. 7 | // 8 | 9 | import SwiftUI 10 | import UIKit 11 | 12 | class SceneDelegate: UIResponder, UIWindowSceneDelegate { 13 | 14 | var window: UIWindow? 15 | 16 | func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { 17 | // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. 18 | // If using a storyboard, the `window` property will automatically be initialized and attached to the scene. 19 | // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead). 20 | 21 | // Use a UIHostingController as window root view controller 22 | if let windowScene = scene as? UIWindowScene { 23 | let window = UIWindow(windowScene: windowScene) 24 | window.rootViewController = UIHostingController(rootView: Home()) 25 | self.window = window 26 | window.makeKeyAndVisible() 27 | } 28 | } 29 | 30 | func sceneDidDisconnect(_ scene: UIScene) { 31 | // Called as the scene is being released by the system. 32 | // This occurs shortly after the scene enters the background, or when its session is discarded. 33 | // Release any resources associated with this scene that can be re-created the next time the scene connects. 34 | // The scene may re-connect later, as its session was not neccessarily discarded (see `application:didDiscardSceneSessions` instead). 35 | } 36 | 37 | func sceneDidBecomeActive(_ scene: UIScene) { 38 | // Called when the scene has moved from an inactive state to an active state. 39 | // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. 40 | } 41 | 42 | func sceneWillResignActive(_ scene: UIScene) { 43 | // Called when the scene will move from an active state to an inactive state. 44 | // This may occur due to temporary interruptions (ex. an incoming phone call). 45 | } 46 | 47 | func sceneWillEnterForeground(_ scene: UIScene) { 48 | // Called as the scene transitions from the background to the foreground. 49 | // Use this method to undo the changes made on entering the background. 50 | } 51 | 52 | func sceneDidEnterBackground(_ scene: UIScene) { 53 | // Called as the scene transitions from the foreground to the background. 54 | // Use this method to save data, release shared resources, and store enough scene-specific state information 55 | // to restore the scene back to its current state. 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /DesignCode/Settings.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Settings.swift 3 | // DesignCode 4 | // 5 | // Created by Mithun x on 7/15/19. 6 | // Copyright © 2019 Mithun. All rights reserved. 7 | // 8 | 9 | import SwiftUI 10 | 11 | struct Settings: View { 12 | 13 | @State var receive = false 14 | @State var number = 1 15 | @State var selection = 1 16 | @State var date = Date() 17 | @State var email = "" 18 | @State var submit = false 19 | 20 | var body: some View { 21 | NavigationView { 22 | Form { 23 | Toggle(isOn: $receive) { 24 | Text("Recieve Notifications") 25 | } 26 | Stepper(value: $number, in: 1...10) { 27 | Text("\(number) Notification\(number > 1 ? "s" : "") per week") 28 | } 29 | Picker(selection: $selection, label: Text("Favourite course")) { 30 | Text("SwiftUI").tag(1) 31 | Text("React").tag(2) 32 | } 33 | DatePicker(selection: $date, label: { 34 | Text("Date") 35 | }) 36 | Section(header: Text("Email")) { 37 | TextField("Your email: ", text: $email) 38 | .textFieldStyle(RoundedBorderTextFieldStyle()) 39 | } 40 | Button(action: { self.submit.toggle() }) { 41 | Text("Submit") 42 | } 43 | .alert(isPresented: $submit, content: { 44 | Alert(title: Text("Thanks"), message: Text("Email: \(email)")) 45 | }) 46 | } 47 | .navigationBarTitle("Settings") 48 | } 49 | } 50 | } 51 | 52 | #if DEBUG 53 | struct Settings_Previews: PreviewProvider { 54 | static var previews: some View { 55 | Settings() 56 | } 57 | } 58 | #endif 59 | -------------------------------------------------------------------------------- /DesignCode/TabBar.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TabBar.swift 3 | // DesignCode 4 | // 5 | // Created by Mithun x on 7/15/19. 6 | // Copyright © 2019 Mithun. All rights reserved. 7 | // 8 | 9 | import SwiftUI 10 | 11 | struct TabBar: View { 12 | var body: some View { 13 | TabView { 14 | Home().tabItem { 15 | Image("IconHome") 16 | Text("Home") 17 | } 18 | .tag(1) 19 | ContentView().tabItem { 20 | Image("IconCards") 21 | Text("Certificates") 22 | } 23 | .tag(2) 24 | Settings().tabItem { 25 | Image("IconSettings") 26 | Text("Settings") 27 | } 28 | .tag(3) 29 | } 30 | .edgesIgnoringSafeArea(.top) 31 | } 32 | } 33 | 34 | #if DEBUG 35 | struct TabBar_Previews: PreviewProvider { 36 | static var previews: some View { 37 | TabBar() 38 | // .environment(\.colorScheme, .dark) 39 | } 40 | } 41 | #endif 42 | -------------------------------------------------------------------------------- /DesignCode/UpdateDetail.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UpdateDetail.swift 3 | // DesignCode 4 | // 5 | // Created by Mithun x on 7/14/19. 6 | // Copyright © 2019 Mithun. All rights reserved. 7 | // 8 | 9 | import SwiftUI 10 | 11 | struct UpdateDetail: View { 12 | 13 | var title = "SwiftUI" 14 | var text = "Loading..." 15 | var image = "Illustration1" 16 | 17 | var body: some View { 18 | VStack(spacing: 20.0) { 19 | Text(title) 20 | .font(.largeTitle) 21 | .fontWeight(.heavy) 22 | 23 | Image(image) 24 | .resizable() 25 | .aspectRatio(contentMode: .fit) 26 | .frame(height: 200) 27 | 28 | Text(text) 29 | .lineLimit(nil) 30 | .frame(minWidth: 0, maxWidth: .infinity, alignment: .leading) 31 | 32 | Spacer() 33 | } 34 | .padding(30.0) 35 | } 36 | } 37 | 38 | #if DEBUG 39 | struct UpdateDetail_Previews: PreviewProvider { 40 | static var previews: some View { 41 | UpdateDetail() 42 | } 43 | } 44 | #endif 45 | -------------------------------------------------------------------------------- /DesignCode/UpdateList.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UpdateList.swift 3 | // DesignCode 4 | // 5 | // Created by Mithun x on 7/14/19. 6 | // Copyright © 2019 Mithun. All rights reserved. 7 | // 8 | 9 | import SwiftUI 10 | 11 | struct UpdateList: View { 12 | 13 | var updates = updateData 14 | @ObservedObject var store = UpdateStore(updates: updateData) 15 | 16 | func addUpdate() { 17 | store.updates.append(Update(image: "Certificate1", title: "New Title", text: "New Text", date: "JUL 1")) 18 | } 19 | 20 | func move(from source: IndexSet, to destination: Int) { 21 | store.updates.swapAt(source.first!, destination) 22 | } 23 | 24 | var body: some View { 25 | NavigationView { 26 | List { 27 | ForEach(store.updates) { item in 28 | NavigationLink(destination: UpdateDetail(title: item.title, text: item.text, image: item.image)) { 29 | HStack(spacing: 12.0) { 30 | Image(item.image) 31 | .resizable() 32 | .aspectRatio(contentMode: .fit) 33 | .frame(width: 80, height: 80) 34 | .background(Color("background")) 35 | .cornerRadius(20) 36 | 37 | VStack(alignment: .leading) { 38 | Text(item.title) 39 | .font(.headline) 40 | 41 | Text(item.text) 42 | .lineLimit(2) 43 | .lineSpacing(4) 44 | .font(.subheadline) 45 | .frame(height: 50.0) 46 | 47 | Text(item.date) 48 | .font(.caption) 49 | .fontWeight(.bold) 50 | .foregroundColor(.gray) 51 | } 52 | } 53 | } 54 | .padding(.vertical, 8.0) 55 | } 56 | .onDelete { index in 57 | self.store.updates.remove(at: index.first!) 58 | } 59 | .onMove(perform: move) 60 | } 61 | .navigationBarTitle(Text("Updates")) 62 | .navigationBarItems( 63 | leading: Button(action: addUpdate) { Text("Add Update") }, 64 | trailing: EditButton() 65 | ) 66 | } 67 | } 68 | } 69 | 70 | #if DEBUG 71 | struct UpdateList_Previews: PreviewProvider { 72 | static var previews: some View { 73 | UpdateList() 74 | } 75 | } 76 | #endif 77 | 78 | struct Update: Identifiable { 79 | var id = UUID() 80 | var image: String 81 | var title: String 82 | var text: String 83 | var date: String 84 | } 85 | 86 | let updateData = [ 87 | Update(image: "Illustration1", title: "SwiftUI", text: "Learn how to build custom views and controls in SwiftUI with advanced composition, layout, graphics, and animation. See a demo of a high performance, animatable control and watch it made step by step in code. Gain a deeper understanding of the layout system of SwiftUI.", date: "JUN 26"), 88 | Update(image: "Illustration2", title: "Framer X", text: "Learn how to build custom views and controls in SwiftUI with advanced composition, layout, graphics, and animation. See a demo of a high performance, animatable control and watch it made step by step in code. Gain a deeper understanding of the layout system of SwiftUI.", date: "JUN 11"), 89 | Update(image: "Illustration3", title: "CSS Layout", text: "Learn how to combine CSS Grid, Flexbox, animations and responsive design to create a beautiful prototype in CodePen.", date: "MAY 26"), 90 | Update(image: "Illustration4", title: "React Native Part 2", text: "Learn how to implement gestures, Lottie animations and Firebase login.", date: "MAY 15"), 91 | Update(image: "Certificate1", title: "Unity", text: "Unity course teaching basics, C#, assets, level design and gameplay", date: "MAR 19"), 92 | Update(image: "Certificate2", title: "React Native for Designers", text: "Build your own iOS and Android app with custom animations, Redux and API data.", date: "FEB 14"), 93 | Update(image: "Certificate3", title: "Vue.js", text: "Make a dashboard web-app with a complete login system, dark mode, and animated charts for your data.", date: "JAN 23") 94 | ] 95 | -------------------------------------------------------------------------------- /DesignCode/UpdateStore.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UpdateStore.swift 3 | // DesignCode 4 | // 5 | // Created by Mithun x on 7/15/19. 6 | // Copyright © 2019 Mithun. All rights reserved. 7 | // 8 | 9 | import Combine 10 | import SwiftUI 11 | 12 | class UpdateStore: ObservableObject { 13 | var willChange = PassthroughSubject() 14 | 15 | var updates: [Update] { 16 | didSet { 17 | willChange.send() 18 | } 19 | } 20 | 21 | init(updates: [Update] = []) { 22 | self.updates = updates 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # DesignCode 2 | 3 | 4 | 5 | DesignCode is an app fully built using Apple's latest SwiftUI and Combine framework. 6 | 7 | - Beautifully written code that is well intended for easy understanding 8 | - Code committed properly for easy tracking through the lessons 9 | - Works with Dark / Light mode and all different device sizes 10 | - Aesthetically pleasing UI written by including most of the new SwiftUI tools 11 | 12 | > This entire app is written based off of [Meng To]'s [Design Code] course on SwiftUI 13 | 14 | [Meng To]: 15 | [Design Code]: 16 | 17 | 18 | -------------------------------------------------------------------------------- /preview.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mythxn/designcode-swiftui/24084573ea8d3fae6b831fe45edf3a0c74ae0bdf/preview.gif --------------------------------------------------------------------------------