From 61cbd60d5f16294992d84bdfd15d066842bd441a Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Mon, 7 Jun 2021 17:43:49 +0900 Subject: [PATCH 01/46] =?UTF-8?q?Implement:=20=EC=B4=88=EA=B8=B0=20?= =?UTF-8?q?=ED=94=84=EB=A1=9C=EC=A0=9D=ED=8A=B8=20=EC=83=9D=EC=84=B1=20(#n?= =?UTF-8?q?one)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../issueTrackerApp.xcodeproj/project.pbxproj | 702 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 17981 bytes .../xcschemes/xcschememanagement.plist | 14 + .../issueTrackerApp/AppDelegate.swift | 25 + .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 98 +++ .../Assets.xcassets/Contents.json | 6 + .../Base.lproj/LaunchScreen.storyboard | 25 + .../Base.lproj/Main.storyboard | 24 + .../issueTrackerApp/Info.plist | 66 ++ .../issueTrackerApp/SceneDelegate.swift | 20 + .../issueTrackerApp/ViewController.swift | 16 + .../issueTrackerAppTests/Info.plist | 22 + .../issueTrackerAppTests.swift | 33 + .../issueTrackerAppUITests/Info.plist | 22 + .../issueTrackerAppUITests.swift | 42 ++ 18 files changed, 1141 insertions(+) create mode 100644 iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj create mode 100644 iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 iOS/issueTrackerApp/issueTrackerApp.xcodeproj/xcuserdata/zombietux.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 iOS/issueTrackerApp/issueTrackerApp/AppDelegate.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/Contents.json create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Base.lproj/LaunchScreen.storyboard create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Main.storyboard create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Info.plist create mode 100644 iOS/issueTrackerApp/issueTrackerApp/SceneDelegate.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/ViewController.swift create mode 100644 iOS/issueTrackerApp/issueTrackerAppTests/Info.plist create mode 100644 iOS/issueTrackerApp/issueTrackerAppTests/issueTrackerAppTests.swift create mode 100644 iOS/issueTrackerApp/issueTrackerAppUITests/Info.plist create mode 100644 iOS/issueTrackerApp/issueTrackerAppUITests/issueTrackerAppUITests.swift diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj new file mode 100644 index 000000000..2b02a0185 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj @@ -0,0 +1,702 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + 930FAE86266E112700422968 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE85266E112700422968 /* AppDelegate.swift */; }; + 930FAE88266E112700422968 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE87266E112700422968 /* SceneDelegate.swift */; }; + 930FAE8A266E112700422968 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE89266E112700422968 /* ViewController.swift */; }; + 930FAE8D266E112700422968 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 930FAE8B266E112700422968 /* Main.storyboard */; }; + 930FAE8F266E112900422968 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 930FAE8E266E112900422968 /* Assets.xcassets */; }; + 930FAE92266E112900422968 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 930FAE90266E112900422968 /* LaunchScreen.storyboard */; }; + 930FAE9D266E112900422968 /* issueTrackerAppTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE9C266E112900422968 /* issueTrackerAppTests.swift */; }; + 930FAEA8266E112A00422968 /* issueTrackerAppUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAEA7266E112A00422968 /* issueTrackerAppUITests.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 930FAE99266E112900422968 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 930FAE7A266E112700422968 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 930FAE81266E112700422968; + remoteInfo = issueTrackerApp; + }; + 930FAEA4266E112A00422968 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 930FAE7A266E112700422968 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 930FAE81266E112700422968; + remoteInfo = issueTrackerApp; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 930FAE82266E112700422968 /* issueTrackerApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = issueTrackerApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 930FAE85266E112700422968 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 930FAE87266E112700422968 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; + 930FAE89266E112700422968 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + 930FAE8C266E112700422968 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 930FAE8E266E112900422968 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 930FAE91266E112900422968 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 930FAE93266E112900422968 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 930FAE98266E112900422968 /* issueTrackerAppTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = issueTrackerAppTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 930FAE9C266E112900422968 /* issueTrackerAppTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = issueTrackerAppTests.swift; sourceTree = ""; }; + 930FAE9E266E112900422968 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 930FAEA3266E112A00422968 /* issueTrackerAppUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = issueTrackerAppUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 930FAEA7266E112A00422968 /* issueTrackerAppUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = issueTrackerAppUITests.swift; sourceTree = ""; }; + 930FAEA9266E112A00422968 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 930FAE7F266E112700422968 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 930FAE95266E112900422968 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 930FAEA0266E112A00422968 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 930FAE79266E112700422968 = { + isa = PBXGroup; + children = ( + 930FAE84266E112700422968 /* issueTrackerApp */, + 930FAE9B266E112900422968 /* issueTrackerAppTests */, + 930FAEA6266E112A00422968 /* issueTrackerAppUITests */, + 930FAE83266E112700422968 /* Products */, + ); + sourceTree = ""; + }; + 930FAE83266E112700422968 /* Products */ = { + isa = PBXGroup; + children = ( + 930FAE82266E112700422968 /* issueTrackerApp.app */, + 930FAE98266E112900422968 /* issueTrackerAppTests.xctest */, + 930FAEA3266E112A00422968 /* issueTrackerAppUITests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 930FAE84266E112700422968 /* issueTrackerApp */ = { + isa = PBXGroup; + children = ( + 930FAEB8266E115700422968 /* Data */, + 930FAEBC266E126F00422968 /* Domain */, + 930FAEBF266E129000422968 /* Presentation */, + 930FAE85266E112700422968 /* AppDelegate.swift */, + 930FAE87266E112700422968 /* SceneDelegate.swift */, + 930FAE89266E112700422968 /* ViewController.swift */, + 930FAE8B266E112700422968 /* Main.storyboard */, + 930FAE8E266E112900422968 /* Assets.xcassets */, + 930FAE90266E112900422968 /* LaunchScreen.storyboard */, + 930FAE93266E112900422968 /* Info.plist */, + ); + path = issueTrackerApp; + sourceTree = ""; + }; + 930FAE9B266E112900422968 /* issueTrackerAppTests */ = { + isa = PBXGroup; + children = ( + 930FAE9C266E112900422968 /* issueTrackerAppTests.swift */, + 930FAE9E266E112900422968 /* Info.plist */, + ); + path = issueTrackerAppTests; + sourceTree = ""; + }; + 930FAEA6266E112A00422968 /* issueTrackerAppUITests */ = { + isa = PBXGroup; + children = ( + 930FAEA7266E112A00422968 /* issueTrackerAppUITests.swift */, + 930FAEA9266E112A00422968 /* Info.plist */, + ); + path = issueTrackerAppUITests; + sourceTree = ""; + }; + 930FAEB8266E115700422968 /* Data */ = { + isa = PBXGroup; + children = ( + 930FAEB9266E116300422968 /* Network */, + 930FAEBB266E126100422968 /* Repository */, + 930FAEBA266E11BA00422968 /* Storage */, + ); + path = Data; + sourceTree = ""; + }; + 930FAEB9266E116300422968 /* Network */ = { + isa = PBXGroup; + children = ( + ); + path = Network; + sourceTree = ""; + }; + 930FAEBA266E11BA00422968 /* Storage */ = { + isa = PBXGroup; + children = ( + ); + path = Storage; + sourceTree = ""; + }; + 930FAEBB266E126100422968 /* Repository */ = { + isa = PBXGroup; + children = ( + ); + path = Repository; + sourceTree = ""; + }; + 930FAEBC266E126F00422968 /* Domain */ = { + isa = PBXGroup; + children = ( + 930FAEBE266E128700422968 /* UseCase */, + 930FAEBD266E127B00422968 /* Entity */, + ); + path = Domain; + sourceTree = ""; + }; + 930FAEBD266E127B00422968 /* Entity */ = { + isa = PBXGroup; + children = ( + ); + path = Entity; + sourceTree = ""; + }; + 930FAEBE266E128700422968 /* UseCase */ = { + isa = PBXGroup; + children = ( + ); + path = UseCase; + sourceTree = ""; + }; + 930FAEBF266E129000422968 /* Presentation */ = { + isa = PBXGroup; + children = ( + 930FAEC4266E12E900422968 /* ViewModel */, + 930FAEC0266E129C00422968 /* UI */, + ); + path = Presentation; + sourceTree = ""; + }; + 930FAEC0266E129C00422968 /* UI */ = { + isa = PBXGroup; + children = ( + 930FAEC3266E12CF00422968 /* UIControl */, + 930FAEC2266E12C800422968 /* UIView */, + 930FAEC1266E12C200422968 /* ViewController */, + ); + path = UI; + sourceTree = ""; + }; + 930FAEC1266E12C200422968 /* ViewController */ = { + isa = PBXGroup; + children = ( + ); + path = ViewController; + sourceTree = ""; + }; + 930FAEC2266E12C800422968 /* UIView */ = { + isa = PBXGroup; + children = ( + ); + path = UIView; + sourceTree = ""; + }; + 930FAEC3266E12CF00422968 /* UIControl */ = { + isa = PBXGroup; + children = ( + ); + path = UIControl; + sourceTree = ""; + }; + 930FAEC4266E12E900422968 /* ViewModel */ = { + isa = PBXGroup; + children = ( + ); + path = ViewModel; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 930FAE81266E112700422968 /* issueTrackerApp */ = { + isa = PBXNativeTarget; + buildConfigurationList = 930FAEAC266E112A00422968 /* Build configuration list for PBXNativeTarget "issueTrackerApp" */; + buildPhases = ( + 930FAE7E266E112700422968 /* Sources */, + 930FAE7F266E112700422968 /* Frameworks */, + 930FAE80266E112700422968 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = issueTrackerApp; + productName = issueTrackerApp; + productReference = 930FAE82266E112700422968 /* issueTrackerApp.app */; + productType = "com.apple.product-type.application"; + }; + 930FAE97266E112900422968 /* issueTrackerAppTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 930FAEAF266E112A00422968 /* Build configuration list for PBXNativeTarget "issueTrackerAppTests" */; + buildPhases = ( + 930FAE94266E112900422968 /* Sources */, + 930FAE95266E112900422968 /* Frameworks */, + 930FAE96266E112900422968 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 930FAE9A266E112900422968 /* PBXTargetDependency */, + ); + name = issueTrackerAppTests; + productName = issueTrackerAppTests; + productReference = 930FAE98266E112900422968 /* issueTrackerAppTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 930FAEA2266E112A00422968 /* issueTrackerAppUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 930FAEB2266E112A00422968 /* Build configuration list for PBXNativeTarget "issueTrackerAppUITests" */; + buildPhases = ( + 930FAE9F266E112A00422968 /* Sources */, + 930FAEA0266E112A00422968 /* Frameworks */, + 930FAEA1266E112A00422968 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 930FAEA5266E112A00422968 /* PBXTargetDependency */, + ); + name = issueTrackerAppUITests; + productName = issueTrackerAppUITests; + productReference = 930FAEA3266E112A00422968 /* issueTrackerAppUITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 930FAE7A266E112700422968 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1230; + LastUpgradeCheck = 1230; + TargetAttributes = { + 930FAE81266E112700422968 = { + CreatedOnToolsVersion = 12.3; + }; + 930FAE97266E112900422968 = { + CreatedOnToolsVersion = 12.3; + TestTargetID = 930FAE81266E112700422968; + }; + 930FAEA2266E112A00422968 = { + CreatedOnToolsVersion = 12.3; + TestTargetID = 930FAE81266E112700422968; + }; + }; + }; + buildConfigurationList = 930FAE7D266E112700422968 /* Build configuration list for PBXProject "issueTrackerApp" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 930FAE79266E112700422968; + productRefGroup = 930FAE83266E112700422968 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 930FAE81266E112700422968 /* issueTrackerApp */, + 930FAE97266E112900422968 /* issueTrackerAppTests */, + 930FAEA2266E112A00422968 /* issueTrackerAppUITests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 930FAE80266E112700422968 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 930FAE92266E112900422968 /* LaunchScreen.storyboard in Resources */, + 930FAE8F266E112900422968 /* Assets.xcassets in Resources */, + 930FAE8D266E112700422968 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 930FAE96266E112900422968 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 930FAEA1266E112A00422968 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 930FAE7E266E112700422968 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 930FAE8A266E112700422968 /* ViewController.swift in Sources */, + 930FAE86266E112700422968 /* AppDelegate.swift in Sources */, + 930FAE88266E112700422968 /* SceneDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 930FAE94266E112900422968 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 930FAE9D266E112900422968 /* issueTrackerAppTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 930FAE9F266E112A00422968 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 930FAEA8266E112A00422968 /* issueTrackerAppUITests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 930FAE9A266E112900422968 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 930FAE81266E112700422968 /* issueTrackerApp */; + targetProxy = 930FAE99266E112900422968 /* PBXContainerItemProxy */; + }; + 930FAEA5266E112A00422968 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 930FAE81266E112700422968 /* issueTrackerApp */; + targetProxy = 930FAEA4266E112A00422968 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 930FAE8B266E112700422968 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 930FAE8C266E112700422968 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 930FAE90266E112900422968 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 930FAE91266E112900422968 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 930FAEAA266E112A00422968 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.3; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 930FAEAB266E112A00422968 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.3; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 930FAEAD266E112A00422968 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = B3PWYBKFUK; + INFOPLIST_FILE = issueTrackerApp/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.zombietux.issueTrackerApp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 930FAEAE266E112A00422968 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = B3PWYBKFUK; + INFOPLIST_FILE = issueTrackerApp/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.zombietux.issueTrackerApp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + 930FAEB0266E112A00422968 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = B3PWYBKFUK; + INFOPLIST_FILE = issueTrackerAppTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.3; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.zombietux.issueTrackerAppTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/issueTrackerApp.app/issueTrackerApp"; + }; + name = Debug; + }; + 930FAEB1266E112A00422968 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = B3PWYBKFUK; + INFOPLIST_FILE = issueTrackerAppTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.3; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.zombietux.issueTrackerAppTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/issueTrackerApp.app/issueTrackerApp"; + }; + name = Release; + }; + 930FAEB3266E112A00422968 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = B3PWYBKFUK; + INFOPLIST_FILE = issueTrackerAppUITests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.zombietux.issueTrackerAppUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = issueTrackerApp; + }; + name = Debug; + }; + 930FAEB4266E112A00422968 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = B3PWYBKFUK; + INFOPLIST_FILE = issueTrackerAppUITests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.zombietux.issueTrackerAppUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = issueTrackerApp; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 930FAE7D266E112700422968 /* Build configuration list for PBXProject "issueTrackerApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 930FAEAA266E112A00422968 /* Debug */, + 930FAEAB266E112A00422968 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 930FAEAC266E112A00422968 /* Build configuration list for PBXNativeTarget "issueTrackerApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 930FAEAD266E112A00422968 /* Debug */, + 930FAEAE266E112A00422968 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 930FAEAF266E112A00422968 /* Build configuration list for PBXNativeTarget "issueTrackerAppTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 930FAEB0266E112A00422968 /* Debug */, + 930FAEB1266E112A00422968 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 930FAEB2266E112A00422968 /* Build configuration list for PBXNativeTarget "issueTrackerAppUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 930FAEB3266E112A00422968 /* Debug */, + 930FAEB4266E112A00422968 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 930FAE7A266E112700422968 /* Project object */; +} diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..919434a62 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..811076c3e607e6b7ccf3ad6304d487c8977727fa GIT binary patch literal 17981 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 literal 0 HcmV?d00001 diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/xcuserdata/zombietux.xcuserdatad/xcschemes/xcschememanagement.plist b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/xcuserdata/zombietux.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 000000000..b3cedd573 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/xcuserdata/zombietux.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + issueTrackerApp.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/iOS/issueTrackerApp/issueTrackerApp/AppDelegate.swift b/iOS/issueTrackerApp/issueTrackerApp/AppDelegate.swift new file mode 100644 index 000000000..18ddd56bf --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/AppDelegate.swift @@ -0,0 +1,25 @@ +// +// AppDelegate.swift +// issueTrackerApp +// +// Created by zombietux on 2021/06/07. +// + +import UIKit + +@main +class AppDelegate: UIResponder, UIApplicationDelegate { + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + + return true + } + + // MARK: UISceneSession Lifecycle + + func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { + + return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) + } +} + diff --git a/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/AccentColor.colorset/Contents.json b/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 000000000..eb8789700 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/AppIcon.appiconset/Contents.json b/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 000000000..9221b9bb1 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,98 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "20x20" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "20x20" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "29x29" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "29x29" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "40x40" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "40x40" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "20x20" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "20x20" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "29x29" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "29x29" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "40x40" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "40x40" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "76x76" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "76x76" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "83.5x83.5" + }, + { + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/Contents.json b/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/LaunchScreen.storyboard b/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 000000000..865e9329f --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Main.storyboard b/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Main.storyboard new file mode 100644 index 000000000..25a763858 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Main.storyboard @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/issueTrackerApp/issueTrackerApp/Info.plist b/iOS/issueTrackerApp/issueTrackerApp/Info.plist new file mode 100644 index 000000000..5b531f7b2 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Info.plist @@ -0,0 +1,66 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + + UIApplicationSupportsIndirectInputEvents + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/iOS/issueTrackerApp/issueTrackerApp/SceneDelegate.swift b/iOS/issueTrackerApp/issueTrackerApp/SceneDelegate.swift new file mode 100644 index 000000000..3322bf8d1 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/SceneDelegate.swift @@ -0,0 +1,20 @@ +// +// SceneDelegate.swift +// issueTrackerApp +// +// Created by zombietux on 2021/06/07. +// + +import UIKit + +class SceneDelegate: UIResponder, UIWindowSceneDelegate { + + var window: UIWindow? + + + func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { + + guard let _ = (scene as? UIWindowScene) else { return } + } +} + diff --git a/iOS/issueTrackerApp/issueTrackerApp/ViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/ViewController.swift new file mode 100644 index 000000000..9815866b7 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/ViewController.swift @@ -0,0 +1,16 @@ +// +// ViewController.swift +// issueTrackerApp +// +// Created by zombietux on 2021/06/07. +// + +import UIKit + +class ViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + } +} + diff --git a/iOS/issueTrackerApp/issueTrackerAppTests/Info.plist b/iOS/issueTrackerApp/issueTrackerAppTests/Info.plist new file mode 100644 index 000000000..64d65ca49 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerAppTests/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/iOS/issueTrackerApp/issueTrackerAppTests/issueTrackerAppTests.swift b/iOS/issueTrackerApp/issueTrackerAppTests/issueTrackerAppTests.swift new file mode 100644 index 000000000..12009eaca --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerAppTests/issueTrackerAppTests.swift @@ -0,0 +1,33 @@ +// +// issueTrackerAppTests.swift +// issueTrackerAppTests +// +// Created by zombietux on 2021/06/07. +// + +import XCTest +@testable import issueTrackerApp + +class issueTrackerAppTests: XCTestCase { + + override func setUpWithError() throws { + // Put setup code here. This method is called before the invocation of each test method in the class. + } + + override func tearDownWithError() throws { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() throws { + // This is an example of a functional test case. + // Use XCTAssert and related functions to verify your tests produce the correct results. + } + + func testPerformanceExample() throws { + // This is an example of a performance test case. + self.measure { + // Put the code you want to measure the time of here. + } + } + +} diff --git a/iOS/issueTrackerApp/issueTrackerAppUITests/Info.plist b/iOS/issueTrackerApp/issueTrackerAppUITests/Info.plist new file mode 100644 index 000000000..64d65ca49 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerAppUITests/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/iOS/issueTrackerApp/issueTrackerAppUITests/issueTrackerAppUITests.swift b/iOS/issueTrackerApp/issueTrackerAppUITests/issueTrackerAppUITests.swift new file mode 100644 index 000000000..61a742afd --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerAppUITests/issueTrackerAppUITests.swift @@ -0,0 +1,42 @@ +// +// issueTrackerAppUITests.swift +// issueTrackerAppUITests +// +// Created by zombietux on 2021/06/07. +// + +import XCTest + +class issueTrackerAppUITests: XCTestCase { + + override func setUpWithError() throws { + // Put setup code here. This method is called before the invocation of each test method in the class. + + // In UI tests it is usually best to stop immediately when a failure occurs. + continueAfterFailure = false + + // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. + } + + override func tearDownWithError() throws { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() throws { + // UI tests must launch the application that they test. + let app = XCUIApplication() + app.launch() + + // Use recording to get started writing UI tests. + // Use XCTAssert and related functions to verify your tests produce the correct results. + } + + func testLaunchPerformance() throws { + if #available(macOS 10.15, iOS 13.0, tvOS 13.0, *) { + // This measures how long it takes to launch your application. + measure(metrics: [XCTApplicationLaunchMetric()]) { + XCUIApplication().launch() + } + } + } +} From 45886f048378c2185578a54946a8ff5e9c54deba Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Mon, 7 Jun 2021 17:46:45 +0900 Subject: [PATCH 02/46] =?UTF-8?q?Implement:=20Swift=20Packages=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20(#none)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../issueTrackerApp.xcodeproj/project.pbxproj | 46 +++++++++++++++++- .../UserInterfaceState.xcuserstate | Bin 17981 -> 18108 bytes .../xcschemes/xcschememanagement.plist | 21 ++++++++ 3 files changed, 66 insertions(+), 1 deletion(-) diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj index 2b02a0185..5d696877e 100644 --- a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ @@ -15,6 +15,8 @@ 930FAE92266E112900422968 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 930FAE90266E112900422968 /* LaunchScreen.storyboard */; }; 930FAE9D266E112900422968 /* issueTrackerAppTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE9C266E112900422968 /* issueTrackerAppTests.swift */; }; 930FAEA8266E112A00422968 /* issueTrackerAppUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAEA7266E112A00422968 /* issueTrackerAppUITests.swift */; }; + 930FAEC7266E13F500422968 /* Alamofire in Frameworks */ = {isa = PBXBuildFile; productRef = 930FAEC6266E13F500422968 /* Alamofire */; }; + 930FAECD266E144E00422968 /* SwiftLintFramework in Frameworks */ = {isa = PBXBuildFile; productRef = 930FAECC266E144E00422968 /* SwiftLintFramework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -56,6 +58,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 930FAECD266E144E00422968 /* SwiftLintFramework in Frameworks */, + 930FAEC7266E13F500422968 /* Alamofire in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -248,6 +252,10 @@ dependencies = ( ); name = issueTrackerApp; + packageProductDependencies = ( + 930FAEC6266E13F500422968 /* Alamofire */, + 930FAECC266E144E00422968 /* SwiftLintFramework */, + ); productName = issueTrackerApp; productReference = 930FAE82266E112700422968 /* issueTrackerApp.app */; productType = "com.apple.product-type.application"; @@ -319,6 +327,10 @@ Base, ); mainGroup = 930FAE79266E112700422968; + packageReferences = ( + 930FAEC5266E13F500422968 /* XCRemoteSwiftPackageReference "Alamofire" */, + 930FAECB266E144E00422968 /* XCRemoteSwiftPackageReference "SwiftLint" */, + ); productRefGroup = 930FAE83266E112700422968 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -697,6 +709,38 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + 930FAEC5266E13F500422968 /* XCRemoteSwiftPackageReference "Alamofire" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/Alamofire/Alamofire.git"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 5.4.3; + }; + }; + 930FAECB266E144E00422968 /* XCRemoteSwiftPackageReference "SwiftLint" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/realm/SwiftLint"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 0.43.1; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 930FAEC6266E13F500422968 /* Alamofire */ = { + isa = XCSwiftPackageProductDependency; + package = 930FAEC5266E13F500422968 /* XCRemoteSwiftPackageReference "Alamofire" */; + productName = Alamofire; + }; + 930FAECC266E144E00422968 /* SwiftLintFramework */ = { + isa = XCSwiftPackageProductDependency; + package = 930FAECB266E144E00422968 /* XCRemoteSwiftPackageReference "SwiftLint" */; + productName = SwiftLintFramework; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 930FAE7A266E112700422968 /* Project object */; } diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate index 811076c3e607e6b7ccf3ad6304d487c8977727fa..7976860a8cd8e4287e956acbe89571edeba8503b 100644 GIT binary patch delta 3192 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 delta 3036 zcmZXQX?WCx*2gDF3#IL3l9^1>%uJRhGf7%XGRb5zlZgUyORb0qvI-PRp+YZUftE#i zxPu_FV{H)&fMtUk^DWz+x{(tyoczN4Dk=nn~p&2PNd2z7W&4#Nwru=EY zn)_O_tt7tgs_OhkGa^+vaG_M>CFCS9TKb46W*oN9h*v8o= z+UDAp+E&;$*f!Z}Z2N2{ZS}TGwyU=5wkLoMZ~+|98VCX*pd&B<$Oj663BYuq4EPjS z2&@NcfPVuAfpfqWpb@wUJO>lOWRL>0z%UpC+k#!eJg@*93w{XB1IU_Kil7P52hc~*Y-kCz3|a~O8~PqP3Y~>6Kn+kM zbOX8%J%e5(BqX%>>ogGfOKpXJ>)(=)R`X9gMJ6`C20u_UN0^cbX{Z>I zTXS5UkP=V5k$T@w+5Pr6?EhomW>W4~%|v^Uvr*?+U&fk~Ky6HOM+-15%58i_{_CA^VX3AV-j6$dAZL6@6cNLTkwh^uf%q3Ol~_ouB5H|k#13K? zv76XK>?OV@ejpAK^~5FOC*o(~7ow49B5o4D61R!FX^u2G?X9%Zw92%dX+Mzw$&wjl z7AccK(j+^O*<=oxOLihVlU>NJWFDDM7Lf5mawu6ueneJ~mEy0vkk34j$LZEh|_dDm0ondMpU+35Mwv&B>6 z`P#G9Q|sC0IqEs?IpI0wIpaC!x#DT^-1PkFx$U{@dEo`TkT=om^U~hdac>*1;#IwE zz3sgnyxHDf-of5N?@(`%_mKCj_q_L_x50bU`@#qKAYY=drLUDQ#b@_9e5lXw6MT{{ z)0gFweLg(w%^;P=**H=#^P!jbj^$t}`jiE}Zaa5d|LCvD(Q1hrVs+^in zEvHsctEl)|YCW})IzXMKE>QK#q3&kJ-d{<3ady#EmFSGaA-`Pj(WA-WgJl&QKrYEGgNKZU~~C-3EHp5-~dHJ`)h@}2nM{7Al-AI+EWWBKv?dvSguU&fd7 z^Z5mQCBKNT=2!7+_;vhNzLwv{@8FN{XZWl9HU2t(gMZ{t^tbf4@~8Oieup3R(|*>^ z`Tc&uFZnb5S^ob1Y5uSLR|06@r9k&Ueqd0bATT8GUSLXKT3~u$W?)fZMPOB6O<-MM zgODKD1&_c8@pOR~Bq3AC5@f*;UKZXI-Vut0kA(%oH^L#|tZ+^^FI*Iwgd4(5;aB0I z=nye6OKdB?F7^<6i+#mBF<&eaM~KDZXt7irC&tB@;(T#~SS!|vd&T|YLGiG7T0ASB z7cYtp;$`uL5z0-Ix3x(&Pf-f2I;cYBt4X#XV@~pjD(Do3^)VHaAmkN=nOGKk#ptOiM&j%mRHGJPtGF9$~k7Y7dnAE>k{s+npVRZ-ik|4?((T(y(hUCmbu)nV#zb(C77j#DS7ljG`i zb)mXh{a(GGURRsc8|p3fvHC=Psy^3Jv{cQmIW(WfYXMEvGPIx;(hSYiEG<{-rwz~s zX+yN3+CR0C+9<6=8>h|G=4kV@GOb+uRQpU@sC}+|p)J#PXct1Z5Ese`jR=*6z6>1> zoerG~T?{pZ8bk3rp?jeRp@*SALQnK0Jw=CgRL68&59#goj{2*5C;d(RExm`{OE1*l z)r6hVny0Ux`o$43`L zmqx3iE2FEUo1?YSZP6XkUD4gqJ<+4lAET$DXQLOQ_0cD0l4&;)(`gbWY5GjsY-7gE zcIGQ)w)vXb+3aF=H3ym_%wltlIo6zDzHiPj7n!Tg?dC4C&fIJ6HxHVJ&12>X^R#)+ z{LQ>O#C%{rH2*N4nlEBtEHRc8OOB<+@K~EzG}bLPBsMWt7F!wH5jz#T8GCLaRyV7U zHP9Mrjj~FtvDSF&LuxA_YrVD6`o`L2?Y8z SchemeUserState + SWXMLHashPlayground (Playground) 1.xcscheme + + isShown + + orderHint + 2 + + SWXMLHashPlayground (Playground) 2.xcscheme + + isShown + + orderHint + 3 + + SWXMLHashPlayground (Playground).xcscheme + + isShown + + orderHint + 1 + issueTrackerApp.xcscheme_^#shared#^_ orderHint From 2ba9f5bbd581c2f7233c8be6cea8aa821a0fcb48 Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Mon, 7 Jun 2021 17:49:55 +0900 Subject: [PATCH 03/46] =?UTF-8?q?Implement:=20gitignore=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20(#none)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- iOS/.gitignore | 120 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 iOS/.gitignore diff --git a/iOS/.gitignore b/iOS/.gitignore new file mode 100644 index 000000000..8d9ab5d53 --- /dev/null +++ b/iOS/.gitignore @@ -0,0 +1,120 @@ + +# Created by https://www.toptal.com/developers/gitignore/api/cocoapods,swift,swiftpackagemanager,xcode +# Edit at https://www.toptal.com/developers/gitignore?templates=cocoapods,swift,swiftpackagemanager,xcode + +### CocoaPods ### +## CocoaPods GitIgnore Template + +# CocoaPods - Only use to conserve bandwidth / Save time on Pushing +# - Also handy if you have a large number of dependant pods +# - AS PER https://guides.cocoapods.org/using/using-cocoapods.html NEVER IGNORE THE LOCK FILE +Pods/ + +### Swift ### +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## User settings +xcuserdata/ + +## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) +*.xcscmblueprint +*.xccheckout + +## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) +build/ +DerivedData/ +*.moved-aside +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 + +## Obj-C/Swift specific +*.hmap + +## App packaging +*.ipa +*.dSYM.zip +*.dSYM + +## Playgrounds +timeline.xctimeline +playground.xcworkspace + +# Swift Package Manager +# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. +# Packages/ +# Package.pins +# Package.resolved +# *.xcodeproj +# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata +# hence it is not needed unless you have added a package configuration file to your project +# .swiftpm + +.build/ + +# CocoaPods +# We recommend against adding the Pods directory to your .gitignore. However +# you should judge for yourself, the pros and cons are mentioned at: +# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control +# Pods/ +# Add this line if you want to avoid checking in source code from the Xcode workspace +# *.xcworkspace + +# Carthage +# Add this line if you want to avoid checking in source code from Carthage dependencies. +# Carthage/Checkouts + +Carthage/Build/ + +# Add this lines if you are using Accio dependency management (Deprecated since Xcode 12) +# Dependencies/ +# .accio/ + +# fastlane +# It is recommended to not store the screenshots in the git repo. +# Instead, use fastlane to re-generate the screenshots whenever they are needed. +# For more information about the recommended setup visit: +# https://docs.fastlane.tools/best-practices/source-control/#source-control + +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots/**/*.png +fastlane/test_output + +# Code Injection +# After new code Injection tools there's a generated folder /iOSInjectionProject +# https://github.com/johnno1962/injectionforxcode + +iOSInjectionProject/ + +### SwiftPackageManager ### +Packages +xcuserdata +*.xcodeproj + + +### Xcode ### +# Xcode +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + + + + +## Gcc Patch +/*.gcno + +### Xcode Patch ### +*.xcodeproj/* +!*.xcodeproj/project.pbxproj +!*.xcodeproj/xcshareddata/ +!*.xcworkspace/contents.xcworkspacedata +**/xcshareddata/WorkspaceSettings.xcsettings + +# End of https://www.toptal.com/developers/gitignore/api/cocoapods,swift,swiftpackagemanager,xcode From eec09a412bab5be32191a87de665571542bfe688 Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Tue, 8 Jun 2021 12:01:21 +0900 Subject: [PATCH 04/46] =?UTF-8?q?Implement:=20#4=20GitHub=20login=20OAuth?= =?UTF-8?q?=20=ED=8C=8C=EC=9D=BC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Data/KeychainController.swift | 8 ++++++++ .../Data/Network/GitHubEndpoint.swift | 8 ++++++++ .../Data/Repository/NetworkController.swift | 16 ++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Data/KeychainController.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Data/Network/GitHubEndpoint.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Data/Repository/NetworkController.swift diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/KeychainController.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/KeychainController.swift new file mode 100644 index 000000000..6aaab9985 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/KeychainController.swift @@ -0,0 +1,8 @@ +// +// KeychainController.swift +// issueTrackerApp +// +// Created by zombietux on 2021/06/08. +// + +import Foundation diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/GitHubEndpoint.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/GitHubEndpoint.swift new file mode 100644 index 000000000..aa1ca294a --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/GitHubEndpoint.swift @@ -0,0 +1,8 @@ +// +// GitHubEndpoint.swift +// issueTrackerApp +// +// Created by zombietux on 2021/06/08. +// + +import Foundation diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/NetworkController.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/NetworkController.swift new file mode 100644 index 000000000..b88a8de03 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/NetworkController.swift @@ -0,0 +1,16 @@ +// +// RepositoryController.swift +// issueTrackerApp +// +// Created by zombietux on 2021/06/08. +// + +import Foundation + +class RepositoryController { + private let keychainController: KeychainController + + init(keychainController: KeychainController) { + self.keychainController = keychainController + } +} From 4298c0c291d21fd60f06eebd11c08391f8abb859 Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Tue, 8 Jun 2021 12:02:05 +0900 Subject: [PATCH 05/46] =?UTF-8?q?Implement:=20#3=20=EB=A1=9C=EA=B7=B8?= =?UTF-8?q?=EC=9D=B8=20=ED=99=94=EB=A9=B4=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Base.lproj/Main.storyboard | 137 +++++++++++++++++- 1 file changed, 132 insertions(+), 5 deletions(-) diff --git a/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Main.storyboard b/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Main.storyboard index 25a763858..f8125d38c 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Main.storyboard +++ b/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Main.storyboard @@ -1,24 +1,151 @@ - + + - + + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 0acf2e8e53a87f55f9225b6100bf6ec892313357 Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Tue, 8 Jun 2021 12:02:49 +0900 Subject: [PATCH 06/46] =?UTF-8?q?Implement:=20#3=20OAuth=20=ED=86=A0?= =?UTF-8?q?=ED=81=B0=20=EC=A0=80=EC=9E=A5/=EC=82=AD=EC=A0=9C=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../issueTrackerApp.xcodeproj/project.pbxproj | 31 +++++------ .../UserInterfaceState.xcuserstate | Bin 18108 -> 43693 bytes .../Data/KeychainController.swift | 48 ++++++++++++++++++ .../Data/Network/GitHubEndpoint.swift | 29 +++++++++++ .../Data/Repository/NetworkController.swift | 4 +- 5 files changed, 92 insertions(+), 20 deletions(-) diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj index 5d696877e..6000b0923 100644 --- a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj @@ -16,7 +16,9 @@ 930FAE9D266E112900422968 /* issueTrackerAppTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE9C266E112900422968 /* issueTrackerAppTests.swift */; }; 930FAEA8266E112A00422968 /* issueTrackerAppUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAEA7266E112A00422968 /* issueTrackerAppUITests.swift */; }; 930FAEC7266E13F500422968 /* Alamofire in Frameworks */ = {isa = PBXBuildFile; productRef = 930FAEC6266E13F500422968 /* Alamofire */; }; - 930FAECD266E144E00422968 /* SwiftLintFramework in Frameworks */ = {isa = PBXBuildFile; productRef = 930FAECC266E144E00422968 /* SwiftLintFramework */; }; + 9343E2CA266EF9CD0086F977 /* KeychainController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2C9266EF9CD0086F977 /* KeychainController.swift */; }; + 9343E2D3266EFBA70086F977 /* GitHubEndpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2D2266EFBA70086F977 /* GitHubEndpoint.swift */; }; + 9343E2D8266F03E90086F977 /* NetworkController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2D7266F03E90086F977 /* NetworkController.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -51,6 +53,9 @@ 930FAEA3266E112A00422968 /* issueTrackerAppUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = issueTrackerAppUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 930FAEA7266E112A00422968 /* issueTrackerAppUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = issueTrackerAppUITests.swift; sourceTree = ""; }; 930FAEA9266E112A00422968 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 9343E2C9266EF9CD0086F977 /* KeychainController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeychainController.swift; sourceTree = ""; }; + 9343E2D2266EFBA70086F977 /* GitHubEndpoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GitHubEndpoint.swift; sourceTree = ""; }; + 9343E2D7266F03E90086F977 /* NetworkController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkController.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -58,7 +63,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 930FAECD266E144E00422968 /* SwiftLintFramework in Frameworks */, 930FAEC7266E13F500422968 /* Alamofire in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -139,8 +143,9 @@ isa = PBXGroup; children = ( 930FAEB9266E116300422968 /* Network */, - 930FAEBB266E126100422968 /* Repository */, 930FAEBA266E11BA00422968 /* Storage */, + 930FAEBB266E126100422968 /* Repository */, + 9343E2C9266EF9CD0086F977 /* KeychainController.swift */, ); path = Data; sourceTree = ""; @@ -148,6 +153,7 @@ 930FAEB9266E116300422968 /* Network */ = { isa = PBXGroup; children = ( + 9343E2D2266EFBA70086F977 /* GitHubEndpoint.swift */, ); path = Network; sourceTree = ""; @@ -162,6 +168,7 @@ 930FAEBB266E126100422968 /* Repository */ = { isa = PBXGroup; children = ( + 9343E2D7266F03E90086F977 /* NetworkController.swift */, ); path = Repository; sourceTree = ""; @@ -254,7 +261,6 @@ name = issueTrackerApp; packageProductDependencies = ( 930FAEC6266E13F500422968 /* Alamofire */, - 930FAECC266E144E00422968 /* SwiftLintFramework */, ); productName = issueTrackerApp; productReference = 930FAE82266E112700422968 /* issueTrackerApp.app */; @@ -329,7 +335,6 @@ mainGroup = 930FAE79266E112700422968; packageReferences = ( 930FAEC5266E13F500422968 /* XCRemoteSwiftPackageReference "Alamofire" */, - 930FAECB266E144E00422968 /* XCRemoteSwiftPackageReference "SwiftLint" */, ); productRefGroup = 930FAE83266E112700422968 /* Products */; projectDirPath = ""; @@ -375,8 +380,11 @@ buildActionMask = 2147483647; files = ( 930FAE8A266E112700422968 /* ViewController.swift in Sources */, + 9343E2D3266EFBA70086F977 /* GitHubEndpoint.swift in Sources */, 930FAE86266E112700422968 /* AppDelegate.swift in Sources */, + 9343E2D8266F03E90086F977 /* NetworkController.swift in Sources */, 930FAE88266E112700422968 /* SceneDelegate.swift in Sources */, + 9343E2CA266EF9CD0086F977 /* KeychainController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -719,14 +727,6 @@ minimumVersion = 5.4.3; }; }; - 930FAECB266E144E00422968 /* XCRemoteSwiftPackageReference "SwiftLint" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/realm/SwiftLint"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 0.43.1; - }; - }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ @@ -735,11 +735,6 @@ package = 930FAEC5266E13F500422968 /* XCRemoteSwiftPackageReference "Alamofire" */; productName = Alamofire; }; - 930FAECC266E144E00422968 /* SwiftLintFramework */ = { - isa = XCSwiftPackageProductDependency; - package = 930FAECB266E144E00422968 /* XCRemoteSwiftPackageReference "SwiftLint" */; - productName = SwiftLintFramework; - }; /* End XCSwiftPackageProductDependency section */ }; rootObject = 930FAE7A266E112700422968 /* Project object */; diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate index 7976860a8cd8e4287e956acbe89571edeba8503b..d17976d0907eae25a66e3488f3e61977979806d4 100644 GIT binary patch literal 43693 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 TJZ;GuDeZ#wQ2=i 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 diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/KeychainController.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/KeychainController.swift index 6aaab9985..42d64950e 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Data/KeychainController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/KeychainController.swift @@ -6,3 +6,51 @@ // import Foundation + +class KeychainController { + private static let accountName = "AppUser" + + func readAccessToken() -> String? { + var query = tokenQuery + query[kSecMatchLimit as String] = kSecMatchLimitOne + query[kSecReturnAttributes as String] = true + query[kSecReturnData as String] = true + var keychainItem: CFTypeRef? + let status = SecItemCopyMatching(query as CFDictionary, &keychainItem) + guard status != errSecItemNotFound else { + return nil + } + guard let item = keychainItem as? [String : Any], + let data = item[kSecValueData as String] as? Data, + let token = String(data: data, encoding: .utf8) else { + return nil + } + return token + } + + func store(accessToken: String) { + let encodedToken = accessToken.data(using: .utf8)! + var query: [String: Any] = tokenQuery + if let _ = readAccessToken() { + SecItemUpdate(query as CFDictionary, [kSecValueData as String: encodedToken] as CFDictionary) + } else { + query[kSecValueData as String] = encodedToken + SecItemAdd(query as CFDictionary, nil) + } + } + + func deleteAccessToken() { + SecItemDelete(tokenQuery as CFDictionary) + } +} + +//MARK:- Private +private extension KeychainController { + var tokenQuery: [String: Any] { + return [ + kSecClass as String: kSecClassInternetPassword, + kSecAttrAccount as String: KeychainController.accountName, + kSecAttrServer as String: GitHubEndpoint.serverURL.absoluteString + ] + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/GitHubEndpoint.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/GitHubEndpoint.swift index aa1ca294a..23328b44c 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/GitHubEndpoint.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/GitHubEndpoint.swift @@ -6,3 +6,32 @@ // import Foundation + +struct GitHubEndpoint { + struct FieldNames { + static let state = "state" + static let clientID = "95b344e62e5f1112ab47" + static let clientSecret = "dc838c3ec19ff9b748825c26a187045f7ad5cbda" + static let authorizationCode = "code" + static let page = "page" + static let scope = "scope" + } + + static let clientID = "95b344e62e5f1112ab47" + static let clientSecret = "dc838c3ec19ff9b748825c26a187045f7ad5cbda" + static let scope = "user" + static let authorizationCallbackURLScheme = "issueTrackerApp://" + static let accessTokenURL = URL(string: "https://github.com/login/oauth/access_token")! + static let serverURL = URL(string: "https://github.com")! + static let authorizationURL = URL(string: "https://github.com/login/oauth/authorize")! + + static func authorizationUrl(with state: String) -> URL { + var urlComponents = URLComponents(url: GitHubEndpoint.authorizationURL, resolvingAgainstBaseURL: false)! + urlComponents.queryItems = [ + URLQueryItem(name: FieldNames.clientID, value: GitHubEndpoint.clientID), + URLQueryItem(name: FieldNames.state, value: state), + URLQueryItem(name: FieldNames.scope, value: GitHubEndpoint.scope) + ] + return urlComponents.url! + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/NetworkController.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/NetworkController.swift index b88a8de03..ac36b0be6 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/NetworkController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/NetworkController.swift @@ -1,5 +1,5 @@ // -// RepositoryController.swift +// NetworkController.swift // issueTrackerApp // // Created by zombietux on 2021/06/08. @@ -7,7 +7,7 @@ import Foundation -class RepositoryController { +class NetworkController { private let keychainController: KeychainController init(keychainController: KeychainController) { From bf9cfefbd7d7256c74ab1336a69de37f2f13fcef Mon Sep 17 00:00:00 2001 From: JUNGYUN-Daegu/JUNGYUN-Daegu/jungyun Date: Tue, 8 Jun 2021 15:40:51 +0900 Subject: [PATCH 07/46] =?UTF-8?q?Implement:=20#5=20Apple=20ID=20=EB=A1=9C?= =?UTF-8?q?=EA=B7=B8=EC=9D=B8=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Login/LoginViewController.swift | 61 +++++++++++++++++++ .../issueTrackerApp.xcodeproj/project.pbxproj | 20 ++++-- .../issueTrackerApp/AppDelegate.swift | 6 ++ .../Base.lproj/Main.storyboard | 15 ++++- .../issueTrackerApp/ViewController.swift | 16 ----- .../issueTrackerApp.entitlements | 10 +++ 6 files changed, 106 insertions(+), 22 deletions(-) create mode 100644 iOS/issueTrackerApp/ViewController/Login/LoginViewController.swift delete mode 100644 iOS/issueTrackerApp/issueTrackerApp/ViewController.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp.entitlements diff --git a/iOS/issueTrackerApp/ViewController/Login/LoginViewController.swift b/iOS/issueTrackerApp/ViewController/Login/LoginViewController.swift new file mode 100644 index 000000000..7329c5623 --- /dev/null +++ b/iOS/issueTrackerApp/ViewController/Login/LoginViewController.swift @@ -0,0 +1,61 @@ +// +// LoginViewController.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/08. +// + +import UIKit +import AuthenticationServices + +class LoginViewController: UIViewController, ASAuthorizationControllerPresentationContextProviding, ASAuthorizationControllerDelegate { + + @IBOutlet weak var appleLoginButton: UIStackView! + + override func viewDidLoad() { + super.viewDidLoad() + configAppleLoginButton() + + } + + private func configAppleLoginButton() { + let authorizationButton = ASAuthorizationAppleIDButton(type: .signIn, style: .black) + authorizationButton.addTarget(self, action: #selector(appleLoginButtonTapped), for: .touchUpInside) + self.appleLoginButton.addArrangedSubview(authorizationButton) + } + + @objc func appleLoginButtonTapped() { + let appleIDProvider = ASAuthorizationAppleIDProvider() + let request = appleIDProvider.createRequest() + request.requestedScopes = [.fullName, .email] + + let authorizationController = ASAuthorizationController(authorizationRequests: [request]) + authorizationController.delegate = self + authorizationController.presentationContextProvider = self + authorizationController.performRequests() + } + + func presentationAnchor(for controller: ASAuthorizationController) -> ASPresentationAnchor { + return self.view.window! + } + + func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) { + switch authorization.credential { + case let appleIDCredential as ASAuthorizationAppleIDCredential: + let accessToken = appleIDCredential.user + let fullName = appleIDCredential.fullName + let email = appleIDCredential.email + + print("\(accessToken)") + print("\(fullName)") + print("\(email)") + default: + break + } + } + + func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error) { + //to do + } + +} diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj index 6000b0923..0f46eca6f 100644 --- a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj @@ -7,9 +7,9 @@ objects = { /* Begin PBXBuildFile section */ + 883F5148266F3EAF0055EC9E /* LoginViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 883F5147266F3EAF0055EC9E /* LoginViewController.swift */; }; 930FAE86266E112700422968 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE85266E112700422968 /* AppDelegate.swift */; }; 930FAE88266E112700422968 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE87266E112700422968 /* SceneDelegate.swift */; }; - 930FAE8A266E112700422968 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE89266E112700422968 /* ViewController.swift */; }; 930FAE8D266E112700422968 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 930FAE8B266E112700422968 /* Main.storyboard */; }; 930FAE8F266E112900422968 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 930FAE8E266E112900422968 /* Assets.xcassets */; }; 930FAE92266E112900422968 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 930FAE90266E112900422968 /* LaunchScreen.storyboard */; }; @@ -39,10 +39,11 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 883F5147266F3EAF0055EC9E /* LoginViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LoginViewController.swift; path = ViewController/Login/LoginViewController.swift; sourceTree = SOURCE_ROOT; }; + 883F5153266F442C0055EC9E /* issueTrackerApp.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = issueTrackerApp.entitlements; sourceTree = ""; }; 930FAE82266E112700422968 /* issueTrackerApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = issueTrackerApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 930FAE85266E112700422968 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 930FAE87266E112700422968 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; - 930FAE89266E112700422968 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; 930FAE8C266E112700422968 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 930FAE8E266E112900422968 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 930FAE91266E112900422968 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; @@ -84,6 +85,14 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 883F514F266F3F060055EC9E /* Login */ = { + isa = PBXGroup; + children = ( + 883F5147266F3EAF0055EC9E /* LoginViewController.swift */, + ); + path = Login; + sourceTree = ""; + }; 930FAE79266E112700422968 = { isa = PBXGroup; children = ( @@ -107,12 +116,12 @@ 930FAE84266E112700422968 /* issueTrackerApp */ = { isa = PBXGroup; children = ( + 883F5153266F442C0055EC9E /* issueTrackerApp.entitlements */, 930FAEB8266E115700422968 /* Data */, 930FAEBC266E126F00422968 /* Domain */, 930FAEBF266E129000422968 /* Presentation */, 930FAE85266E112700422968 /* AppDelegate.swift */, 930FAE87266E112700422968 /* SceneDelegate.swift */, - 930FAE89266E112700422968 /* ViewController.swift */, 930FAE8B266E112700422968 /* Main.storyboard */, 930FAE8E266E112900422968 /* Assets.xcassets */, 930FAE90266E112900422968 /* LaunchScreen.storyboard */, @@ -218,6 +227,7 @@ 930FAEC1266E12C200422968 /* ViewController */ = { isa = PBXGroup; children = ( + 883F514F266F3F060055EC9E /* Login */, ); path = ViewController; sourceTree = ""; @@ -379,7 +389,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 930FAE8A266E112700422968 /* ViewController.swift in Sources */, + 883F5148266F3EAF0055EC9E /* LoginViewController.swift in Sources */, 9343E2D3266EFBA70086F977 /* GitHubEndpoint.swift in Sources */, 930FAE86266E112700422968 /* AppDelegate.swift in Sources */, 9343E2D8266F03E90086F977 /* NetworkController.swift in Sources */, @@ -560,6 +570,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = issueTrackerApp/issueTrackerApp.entitlements; CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = B3PWYBKFUK; INFOPLIST_FILE = issueTrackerApp/Info.plist; @@ -579,6 +590,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = issueTrackerApp/issueTrackerApp.entitlements; CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = B3PWYBKFUK; INFOPLIST_FILE = issueTrackerApp/Info.plist; diff --git a/iOS/issueTrackerApp/issueTrackerApp/AppDelegate.swift b/iOS/issueTrackerApp/issueTrackerApp/AppDelegate.swift index 18ddd56bf..5ee37e392 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/AppDelegate.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/AppDelegate.swift @@ -6,12 +6,17 @@ // import UIKit +import AuthenticationServices @main class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + NotificationCenter.default.addObserver(forName: ASAuthorizationAppleIDProvider.credentialRevokedNotification, object: nil, queue: nil) { (notification) in + print("로그인 페이지로 이동") + } + return true } @@ -21,5 +26,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate { return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) } + } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Main.storyboard b/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Main.storyboard index f8125d38c..6c8392dc2 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Main.storyboard +++ b/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Main.storyboard @@ -8,10 +8,10 @@ - + - + @@ -119,6 +119,10 @@ + + + + @@ -127,6 +131,8 @@ + + @@ -134,9 +140,14 @@ + + + + + diff --git a/iOS/issueTrackerApp/issueTrackerApp/ViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/ViewController.swift deleted file mode 100644 index 9815866b7..000000000 --- a/iOS/issueTrackerApp/issueTrackerApp/ViewController.swift +++ /dev/null @@ -1,16 +0,0 @@ -// -// ViewController.swift -// issueTrackerApp -// -// Created by zombietux on 2021/06/07. -// - -import UIKit - -class ViewController: UIViewController { - - override func viewDidLoad() { - super.viewDidLoad() - } -} - diff --git a/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp.entitlements b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp.entitlements new file mode 100644 index 000000000..a812db506 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp.entitlements @@ -0,0 +1,10 @@ + + + + + com.apple.developer.applesignin + + Default + + + From 60a8c57011ef567326cd014e92c58272b5325e5e Mon Sep 17 00:00:00 2001 From: JUNGYUN-Daegu/JUNGYUN-Daegu/jungyun Date: Tue, 8 Jun 2021 15:46:41 +0900 Subject: [PATCH 08/46] =?UTF-8?q?Fix:=20#5=20Apple=20ID=20=EB=A1=9C?= =?UTF-8?q?=EA=B7=B8=EC=9D=B8=20extension=EC=9C=BC=EB=A1=9C=20=EB=B6=84?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewController/Login/LoginViewController.swift | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/iOS/issueTrackerApp/ViewController/Login/LoginViewController.swift b/iOS/issueTrackerApp/ViewController/Login/LoginViewController.swift index 7329c5623..9ab9a59d5 100644 --- a/iOS/issueTrackerApp/ViewController/Login/LoginViewController.swift +++ b/iOS/issueTrackerApp/ViewController/Login/LoginViewController.swift @@ -8,16 +8,20 @@ import UIKit import AuthenticationServices -class LoginViewController: UIViewController, ASAuthorizationControllerPresentationContextProviding, ASAuthorizationControllerDelegate { +class LoginViewController: UIViewController { @IBOutlet weak var appleLoginButton: UIStackView! override func viewDidLoad() { super.viewDidLoad() configAppleLoginButton() - } +} + +//MARK:- APPLE ID LOGIN + +extension LoginViewController: ASAuthorizationControllerPresentationContextProviding, ASAuthorizationControllerDelegate { private func configAppleLoginButton() { let authorizationButton = ASAuthorizationAppleIDButton(type: .signIn, style: .black) authorizationButton.addTarget(self, action: #selector(appleLoginButtonTapped), for: .touchUpInside) @@ -45,10 +49,6 @@ class LoginViewController: UIViewController, ASAuthorizationControllerPresentati let accessToken = appleIDCredential.user let fullName = appleIDCredential.fullName let email = appleIDCredential.email - - print("\(accessToken)") - print("\(fullName)") - print("\(email)") default: break } @@ -57,5 +57,4 @@ class LoginViewController: UIViewController, ASAuthorizationControllerPresentati func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error) { //to do } - } From 374c3c1f8560f48fdf69600bdcb5093831b99f98 Mon Sep 17 00:00:00 2001 From: JUNGYUN-Daegu/JUNGYUN-Daegu/jungyun Date: Tue, 8 Jun 2021 16:29:36 +0900 Subject: [PATCH 09/46] =?UTF-8?q?Implement:=20#6=20=EB=A9=94=EC=9D=B8?= =?UTF-8?q?=ED=83=AD=EB=B0=94=20=EB=B0=8F=20=EC=84=9C=EB=B8=8C=20=EB=B7=B0?= =?UTF-8?q?=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- iOS/issueTrackerApp/Label~.storyboard | 300 ++++++++++++++++ iOS/issueTrackerApp/Setting~.storyboard | 250 ++++++++++++++ .../issueTrackerApp.xcodeproj/project.pbxproj | 32 ++ .../Base.lproj/Issue~.storyboard | 325 ++++++++++++++++++ .../Base.lproj/Main.storyboard | 62 +++- .../Base.lproj/Milestones~.storyboard | 275 +++++++++++++++ .../issueTrackerApp/Label.storyboard | 53 +++ .../issueTrackerApp/Setting.storyboard | 53 +++ .../Base.lproj/Issue.storyboard | 53 +++ .../Base.lproj/Milestones.storyboard | 53 +++ 10 files changed, 1455 insertions(+), 1 deletion(-) create mode 100644 iOS/issueTrackerApp/Label~.storyboard create mode 100644 iOS/issueTrackerApp/Setting~.storyboard create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Issue~.storyboard create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Milestones~.storyboard create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Label.storyboard create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Setting.storyboard create mode 100644 iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard create mode 100644 iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Milestones.storyboard diff --git a/iOS/issueTrackerApp/Label~.storyboard b/iOS/issueTrackerApp/Label~.storyboard new file mode 100644 index 000000000..a46a543a4 --- /dev/null +++ b/iOS/issueTrackerApp/Label~.storyboard @@ -0,0 +1,300 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/issueTrackerApp/Setting~.storyboard b/iOS/issueTrackerApp/Setting~.storyboard new file mode 100644 index 000000000..400b0c572 --- /dev/null +++ b/iOS/issueTrackerApp/Setting~.storyboard @@ -0,0 +1,250 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj index 0f46eca6f..f52587e35 100644 --- a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj @@ -8,6 +8,10 @@ /* Begin PBXBuildFile section */ 883F5148266F3EAF0055EC9E /* LoginViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 883F5147266F3EAF0055EC9E /* LoginViewController.swift */; }; + 883F5159266F502F0055EC9E /* Issue.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 883F5157266F502F0055EC9E /* Issue.storyboard */; }; + 883F5161266F505E0055EC9E /* Label.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 883F5160266F505E0055EC9E /* Label.storyboard */; }; + 883F516A266F508B0055EC9E /* Milestones.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 883F5168266F508B0055EC9E /* Milestones.storyboard */; }; + 883F5172266F50A40055EC9E /* Setting.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 883F5171266F50A40055EC9E /* Setting.storyboard */; }; 930FAE86266E112700422968 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE85266E112700422968 /* AppDelegate.swift */; }; 930FAE88266E112700422968 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE87266E112700422968 /* SceneDelegate.swift */; }; 930FAE8D266E112700422968 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 930FAE8B266E112700422968 /* Main.storyboard */; }; @@ -41,6 +45,10 @@ /* Begin PBXFileReference section */ 883F5147266F3EAF0055EC9E /* LoginViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LoginViewController.swift; path = ViewController/Login/LoginViewController.swift; sourceTree = SOURCE_ROOT; }; 883F5153266F442C0055EC9E /* issueTrackerApp.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = issueTrackerApp.entitlements; sourceTree = ""; }; + 883F5158266F502F0055EC9E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = issueTrackerApp/Base.lproj/Issue.storyboard; sourceTree = ""; }; + 883F5160266F505E0055EC9E /* Label.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Label.storyboard; sourceTree = ""; }; + 883F5169266F508B0055EC9E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = issueTrackerApp/Base.lproj/Milestones.storyboard; sourceTree = ""; }; + 883F5171266F50A40055EC9E /* Setting.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Setting.storyboard; sourceTree = ""; }; 930FAE82266E112700422968 /* issueTrackerApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = issueTrackerApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 930FAE85266E112700422968 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 930FAE87266E112700422968 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; @@ -123,6 +131,10 @@ 930FAE85266E112700422968 /* AppDelegate.swift */, 930FAE87266E112700422968 /* SceneDelegate.swift */, 930FAE8B266E112700422968 /* Main.storyboard */, + 883F5157266F502F0055EC9E /* Issue.storyboard */, + 883F5160266F505E0055EC9E /* Label.storyboard */, + 883F5168266F508B0055EC9E /* Milestones.storyboard */, + 883F5171266F50A40055EC9E /* Setting.storyboard */, 930FAE8E266E112900422968 /* Assets.xcassets */, 930FAE90266E112900422968 /* LaunchScreen.storyboard */, 930FAE93266E112900422968 /* Info.plist */, @@ -362,6 +374,10 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 883F5161266F505E0055EC9E /* Label.storyboard in Resources */, + 883F516A266F508B0055EC9E /* Milestones.storyboard in Resources */, + 883F5172266F50A40055EC9E /* Setting.storyboard in Resources */, + 883F5159266F502F0055EC9E /* Issue.storyboard in Resources */, 930FAE92266E112900422968 /* LaunchScreen.storyboard in Resources */, 930FAE8F266E112900422968 /* Assets.xcassets in Resources */, 930FAE8D266E112700422968 /* Main.storyboard in Resources */, @@ -430,6 +446,22 @@ /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ + 883F5157266F502F0055EC9E /* Issue.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 883F5158266F502F0055EC9E /* Base */, + ); + name = Issue.storyboard; + sourceTree = ""; + }; + 883F5168266F508B0055EC9E /* Milestones.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 883F5169266F508B0055EC9E /* Base */, + ); + name = Milestones.storyboard; + sourceTree = ""; + }; 930FAE8B266E112700422968 /* Main.storyboard */ = { isa = PBXVariantGroup; children = ( diff --git a/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Issue~.storyboard b/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Issue~.storyboard new file mode 100644 index 000000000..e05dcf523 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Issue~.storyboard @@ -0,0 +1,325 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Main.storyboard b/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Main.storyboard index 6c8392dc2..0866f6b81 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Main.storyboard +++ b/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Main.storyboard @@ -1,5 +1,5 @@ - + @@ -153,6 +153,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Milestones~.storyboard b/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Milestones~.storyboard new file mode 100644 index 000000000..cbd0d3cb1 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Milestones~.storyboard @@ -0,0 +1,275 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/issueTrackerApp/issueTrackerApp/Label.storyboard b/iOS/issueTrackerApp/issueTrackerApp/Label.storyboard new file mode 100644 index 000000000..ffe8a65a2 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Label.storyboard @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/issueTrackerApp/issueTrackerApp/Setting.storyboard b/iOS/issueTrackerApp/issueTrackerApp/Setting.storyboard new file mode 100644 index 000000000..ab7e809b0 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Setting.storyboard @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard new file mode 100644 index 000000000..f35af27c3 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Milestones.storyboard b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Milestones.storyboard new file mode 100644 index 000000000..325b711e7 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Milestones.storyboard @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From b2d30b9e4c8fc01a54c8d3ea435255fe7b34d518 Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Wed, 9 Jun 2021 12:51:23 +0900 Subject: [PATCH 10/46] =?UTF-8?q?Implement:=20#3=20=EB=A1=9C=EA=B7=B8?= =?UTF-8?q?=EC=9D=B8=EC=97=90=20=ED=95=84=EC=9A=94=ED=95=9C=20Coordinator?= =?UTF-8?q?=20=ED=8C=8C=EC=9D=BC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Assets.xcassets/github.imageset/25231.png | Bin 0 -> 8640 bytes .../github.imageset/Contents.json | 21 +++++++ .../Network/Requests/AccessTokenRequest.swift | 8 +++ .../Network/Requests/NetworkRequest.swift | 8 +++ .../Domain/Coordinator/Coordinator.swift | 50 ++++++++++++++++ .../Coordinator/LoginFlowCoordinator.swift | 54 ++++++++++++++++++ .../Presentation/MainTabBarController.swift | 21 +++++++ 7 files changed, 162 insertions(+) create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/github.imageset/25231.png create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/github.imageset/Contents.json create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Data/Network/Requests/AccessTokenRequest.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Data/Network/Requests/NetworkRequest.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/LoginFlowCoordinator.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Presentation/MainTabBarController.swift diff --git a/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/github.imageset/25231.png b/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/github.imageset/25231.png new file mode 100644 index 0000000000000000000000000000000000000000..9490ffc6d2e158b266f719d58365905c1c5060cb GIT binary patch literal 8640 zcmeHshf`Bc)Hg*SGyx5vBSj#g3WTZx0Rqw!dM^qgARq#QAiZ}*LJP%&-lYUZ1f`2W zFjO^)G(#1nOR;=;=9~Agc;B77vv>EL^E-8S?ww6Tm>aUQ@Uzg+(6Afb(zm3cp`*Ui z(E#YF!$9@b5$Zr6tZQTq006!$Su9eg%z?KYf@x?tA^&ySqle2J)J47!xP6G#Jyb}T zN01jySXh|6Pr%*aJ05{v^7n$gi+67DQ*mezrq=L(|Nc?=|F8XD1paqMfK~kE64mp6 zA(rM=G_-W|7Z@0s0L(0`Z0r{~IJque26BUVc=`AR1cijJh=_`bUzL!Q0z;%_WaZ=) zt|=-hLseAO)HO7(-?*uztpn55(}x=v-ZC;aF*P%{Kp-uxtZi)V>>V7PoLyYq+&ymJ z@$^D@qkVku`uPXk3%nl`9P%JE>|uDsqsXY}nAo`Zgv6xel+?8JjLfX;$4_#e=3?^l z3kr*{#U-U>&v5wiipr|$n%cVhhQ_Am=Pj*m?SzgOFFRj#z3%RL^R~CIe_(KE_}$3+ z(Xnyj#0S#k)bz~k+{aI!$zQ(Ce_L2wT3-21SzTM-*xdTDz4LQ-Z~x%%==j&k>Dl@3 zKYzCXpH*mRgrto0Vb;8S+kMQjS(Lv_yFZJfc+cgVC59^7=C=&0bgxQFXh0_AO|A}h zU@pCaH&YY{oiA8kjaohhmHXw%8eMJs%9rdR+g_rv@GozRyjr61^IYrguc!}2YX`JY zv+4i;h}ormPd0P>I*Skf_>Dd#i(k#_>}%3kzFf)msL@X30ORovxoW^g4huDvrkahiY$EckUg@satNQl75m+me~~a5%adGvl{DB~IwesnRQ!fCc9o z3l014P8z&nU(vLVU!_Anc>Up5-N=(h&aw+kXmPv z0^P6#VVj;lb1F6AdGGSaSqb_`e*t>N(?wFKxR;(R*?8-m&nKjbz_*>DbJ?o;iQ!N%NnzTxAymaJHxy~oi5Ex(8rd!%u&)-H{Be_Y%Up3f#cgi+jJczu+V*@=o! z6*oRUyo*cP%$La2F$stR#jhW4@#5z?9w&pGZ@(1Ebidvuq08Dh^2FMpb4C=7qsYB5 zWMPfP2)B~tDSJEaw5!^E=(6HABx9O@fR{>GN` z{6xEs;qb$9YM|OqHE3{0fb0Ej*Fz-h=&##sVzx*3YAIXAo2dv6;R;av9S*Te+@)|i z{q}URW#~7!oabwP@iu*qBcyV#8kC=_a`fX2+gTTjSh89v)?>p}Ke@AR#^%MpV49$!=W;LJfl~*75Eg(AVn502~W0aAO2U)VTIOZ>o?xup20Y}(s@))SxSPOep4Bwl$JmufxuqvEj}gIf z;&%O9LoboRN&Z7ivFjGKuLh+iTNcp1&5HalwseW`u3l7@Qr)XtDDhAAQ?$O#LAXnP zn9extnBT3$sBaaknm_wg=WAaf)IL=n8~MtIw5j@Wz0JYO_-CdF4O<4+wYI=yv{efB zU&eQ~L98Vx4evi33ut(KTNB`DUDP-`CG3ea9{-qn&|lzVEm0*~DTf#P#q&n&Ok%rJ9@G9p60@ z87(0GIU5-RD|=y;Gk#YT?4fK^mqD|cMJA3M9_)4jzBAOfY0w5qTIN0DEL=O=^T~w1 z;RrC`v_ll7aRxKxg$u(ZwDxa`zwhJ9o97h;uT>~r(bG4qpS~iRwspcj@Fk8%S_JwGQJT$(5KG#$ zhSl<$j(L7^oL2N#z#(kW_`dy4TFyo7E61l&2bwQ~y(wWJi$2jT5Agrm+dc=-xxZ||U<4%+nZn1(RJc`l0m1jQK*L~t@SZlhIrk7&=-Lj}eZFHdfZrx0uC4%BF zeFTw(Xs1+r{yYu+JJ{FrEVA~G5b^o*XUO0$-*1_RwXJe|U@p9XGpN^BJjV+Qb}*c$T$2aJ;GMIThdWD44e` zYTJGCQvHL=nA8P>4&hiEqkkh_Z>H?b!n+)X!1kAHT0c))*;XmL{rxAy*kEAUz(0^ zKTdW>I*B#DTYsn3R`)Gy7~ko}c}j6Q61p_(!W(bBJ0>>~L$Ksox5%93EjI{Sh$NSROQs zV<2Hhn_?yW>s&?Av{$WqR9i&Oq@=?H9YrMSzO8}_e_fdU!XU?KadGw$Z#6gB;%H8n z6|Fscev=l(ULFf4(VfN7o%K~t8A29?(6n+@u>%tB6WZXVpCmdgj5#I+GTRQuD-dE0 ztorLluiXK`Z!pN=Jb-&3)7sUF)G`tszd6_EJom2;M;|ge>WG6^Y_NpheB)W(!-LnDQpfw90n;h;V#M4bMbHf;-pu>t5tO|(}MZQIh2BK-rDltT1 z-pTCSu2gaBbRTx{H&unda14aR+iwzS)hs8}NOWX-|w+j5fk%kiZCx|PknFQe~qK~@C>@C{@0isg;z<8zeGB{2z~Fbq6=zPkUu-GyV2f14l~oG+Hu2{totU+Tyv2@i0NfXHI6A%q*y4|usZhBUK2j}7sZ zI+<-GU-%Z>DKj3_yG4M9efQVczP3Ow7h4M_3|M}zvsd-s)uYyzgg>6WEnP&xmAp7( zLyE60h6{Yn=pHX;FG~hl$B^AM_c?p)dBzB5LbweKAGQmEiob*Bp)pM)E9O>aobIKp>=NV-8%Lq~l>t5)RO zXi-OVpM(3YK$bD1WKg;0D`0+n#te>-M$$b7Rn7J$XAa-YM?e~7{O4ALM3)f2|a#u$}6XZP}tMP+(l_Uh<6HL#pZAhAVY z+6WgxyWve1M}mJnZwiOXT><&1jDKN!+Axl@Aqku!BuBsQ4>BV<;fxm!Axg_!sf zQm-&^$^)NGM)j)zj}%IBjg6k^DtqxsR4vE&BCG|_)n8#ql|Wl3V@*L;BIeToW(MTV zURfE2D>}R=!9M7q46ajw<~mwUv6Xa`#ZRr^ihu>?u&q6}vK1hd9_ynFUhib`w#HY! z#ubI~NZ9o8HG$Xd>7dh>vXKaxl08`lVlt}Fk0k=+-E9POMS~tf*3C*Ev^w9axN}RB|zZj(? zJqcy>12S5aI{gM$l1GwtG}3TeB+O%!S+MX5u(z7|Sb0e(N!Hg;!{OwyB``z|nz4yM zKxjH3wE$>Fx+TJ&h6q^`fsRdqYcyibG3|_4F9C4P<=AMjad862*`HiMd7+-of^1&{UlM=-wlo z1IPlFR%@Ukg@-)R)0ia{23^#(5-APhuMndAW;Bb7!c1SBhj`0C8KSF8c6jwQws4SL zAqrc+3Fd$s%3y0bVe&99C|}2F@y=*C_X@;Y7|O7UoOozjRT54D78+_;DJBGgU{>y2 zl<{8YQHP6WaTJU)4=cp`KWXHIu53jKI|=wnM`NrdKInyxl{+h?vDb0*GqYJ-DW)By zZ8@QZX8BQ3a;3F2=%SvLNLJ8`I~u0P%e)Ljuy)z(_-xVQ z_;lU&MlgeyctQLqti4f?fwHX5;6hJqYk+|1nIN?c(6N9job``toIEvFrm(jj0u1bl zsLwPkV$_SahzpRzs#f6o~f^5oDYknT*uzwXk zpN;~mFk>YygEu3bO^|MS?cZh6yDmw9rG>B(K0q752(DHe*1o8eu6e;-2Hug3f|;bB z3HM3?kJQkh!;0F+G^SOxRV3My)N)BWUSp)x3cd&woLSCDv##r4hA)~cY!jv-WwsgU zDEkAvRA>Vkyqc0wWIK!vyN;L_B|jErxg?vu|87a!^1tn$8&J_mukKIpWfqT`x{K)m z)yUx*-Kcw!-YY70dKhVMgRaKxSJbo<^hJpE3 zj9BKRY%6>565FDwEGCMx3w|s!D`cD}OWUu4;7dI!^2|KG1P=Qd3tS+! zNJ0EnC)N#pobY_d+*L;dd_-`wFf>8>9MZ%$0fyaw4pXkx9?I*D*)AvaAW500aZ{m7 zjU3<|Rdlkm$^9#fjWFO#AXfAz;;Tr>gXR> z(WmJP@aqrnzu_kg$&mJs1pSfpJfF<2d)g-DKW=-6PMPl{d6JiJqE8D=olJ+5cJMd( zVXT|{SN!j*$y-BHUYtm>I9?k=XOxt8jcdNpPXy%W zVpTt50dldOKhe2oorO|)s;Am$+DyEe<&DlkQ*sqM;l})GjTvgul4D99Lcvk+&Me#e zH1alc7O!QKLm?le2pMnL_FLj!@X>Bx5=R$57#SNQSlFR?HsI%MhOPmXQITOfuXPNy zw}a{TF9l0CExbY3 zsY!-mn?ogZ+BT1?*Ou&i*9-k`Z_S$Qt4zmd{Ajz5fn81s{rs)yllo}#7D5mBP^jHU z;omb(k{!WexCy*?cH+}c0sP=1%WY`^J-{2b@o{LcXmLxr|tj zPD&@75=bGHJ{m>Vloa#UR8ESUd4&K$4}CjyvSqu%>0gKKQ2(yA@7c_jN$5#k@3+50 zT(r&6*E5=1ZnB7O!V)Au4kp#JeKloJ8n%TO-u(NiCwoOo z0Og}$q4EYnIY#o>i(3I!TCD1I6F9L7$JN3wBKvUt5*dW>p6k(M+%M7mFtESNuZtYXJDZwp znynky(_Z)Wcw=55FFCio;hSp6d(o~1H;+#&{7PyU`&9mxie(2BDlbnKONYBRoH#Z; z%5vHdRvj29xYn$a<&dAaINDf=vvSfBoNl5}6gl&)U(N?xX)TnFwM?-LheuZ`-Zc^L z)ExuMd;2Q_e1l?_(Bk6{pD=Fw#4la~A<6FzIFAyad92eGavcb;j|w>eU_%oXvTg!^ zM_)g*95}I=hCfZ-ex%OQr~lRh`B>*`MRanpl!y7DB>&4j#tWCgA=W3uXSiDoP=1VLDH33Cy834@u#I5#Rtl)fjsgRNyP*AX#5UD2HriiM{WYlKHIUz4Mkeey7d`k@X2Rm;w3(i zN@CoydN)0-UX|Q+uaIful`M->X?;s7`BNa;!c+Uz{*&+3fdPfqmRdQpvt~}Z^!Zyu ze_entq`M0|@N%-}C6dHnA~;5^`dMbxt&zZ8jmCyzlUxIlmXCEaA6tsO1?ClA$^#!} zpgQz)j2_ia&9}IObuBm{@R5vWn%1jUua;*Gy1Fy{i+S%ZZfY+CCBY&V<`eqkqO6&dN#X-~aJ1Np-_t0}>-V4x_ z^ur`^;p&E{l{lpiWuLig7pxyD=k4aDh>xyL4JqB#!~cbj{j$4Yy#lbYXG>|U&Nxaj zMmG4&9rpujJD#x+QuG)}J+_9hIvI>~4mvnhH?y%(vnM273X#Y3pzbnXrY$xhcb)u;gw zi;!&cVS5KHzy2U8)xziLTiW>4G9#JDq{YHP!LG@gCrFJ_$*6Sqa>Em!Z<6ZkOkIcw zFF<%9N(GK+;+Q6cE#lNRbUF0K#ju1+eKszJ?Ge4O`E{)fks4ioGvC<7WvR)^twr2i zNGXAZb0$a9%rH7&!9aOVq968g>Vc;23=>qU;l}>uFXsSu&0~X`>h)LWSLsKjbB%+O zMPsU@PSL$*?{XIjmqQ9>lsH29KfaVDC1pH^s7qrfc-d$riIo0x4Lkw=Ehc5L0 zt{mSC;`_R!+%;-HlHmZedSh4{fbIPJfhIdjt;WrT!}$*XyeFK^4-s(1>=i9uChCLs z+z#=(!z(_>>o>&*`vYp2l(Ec;j2|*gPSDYEzMuWIVzYmzI(PE&j3s+J3?^^3@%Kqu zOlJPrPrWg)E^N`KI*lGi=$FNXWcjpM^fO{x6d1YI__~IYFMO&U6~&T-xz-?EgLvtd z*``;}025g;GoCKJou-!0I#?1%&T4emfX*kP^0Q%~=b3<&Dw*+Ly`k_IlbzwI*Ic{$ zUWf(i>?`tz35aDB$Op>uWupyOLi2U>_of)geWK4vogZ#<8g++!lL<6FRO0`|D3(@` z?F3?f2RttuzL^DBu9|+Mz{r&M1vU`*QZ(q{MvD+-v38RQ{i)T7Q?WZ_E^af>zBGhC zf0iq!-^8%$W84b1q}=208mDM?$W)zVVBGa6XuxftSbV|7{ds1)hlP@|vRStls}h8h zO%7|AAz|Wl4>wBw24;Ok50760JaW}sRq0Ie<|lqy;9r_BsWCn1h2I8EVTO)4zjcR< z^z(KaFB@Z*pINakjhlEknkJ3`|K+TnRJ&yFQmVwGWiNiL+m$ifSBPoh?8g+CpLEbU z*A7QxLqm+k6D1UcTAnjH*PWR=w#1l!=t2V2T*>#mRXVMchy=-~_hT*r;1opO8_Gsq z))H93|79JWbHjIj>A)Yaf2D-IdLv6`VjQsdY2AWjS9>R}qMPvLrNq*0qp`a2*3yNj zy`{swfphH*|5<`p@gvQUh|0Skyi>YcPu_{&s1XvRR1vjI;v0q(a6RM!q$~Mu^bKcu zl&1fKD^ya`x3uJ~@Zo85SM^bo>peR#^@nMyn*hUbp9(zSauoU*(<0TLm7i%Xd#R5@ zH!e^K1tsPH@n5J(Nsc}$+SLR3#Jqed^kexzOu_L;Cxb`z9v69;iwfr?c*fd4Ve`c& z#gOXMb_<0i5r3Q2C*j?HF7CoE^*{A4e70PcSkVnExIU5)_+Slbyv1S|4%xmXlh}&Y zM%t@UQ9O!$MH;zJdAuH^RCHrh)R;Xcl+_EKM)V_HjYoxI0fFaSESn5esr5h;{Y3s^ zaE%((uaYYb;<~^xJ;f-h{X^Yuyg4hcoLM$lseFSUIk+fu(9v}!>O_3oR===b2E436 zRmJ6I10PJ=jCxAP*o$;!QU5%aa4Ur3TmS1nJC1B!;sD(9+PU@Y$rat!+tv$U{pN-_ zWUDCE@${y;q*Rcyda?0M4#V&|>(yAaewU^;qRN9xlx}*SMJIARBv^lNiE5hWXT95q zYtT=oUatQEt)6RwuPwXnA#-y61NzRE0fz<6tJd#@QI)Ew&KlC@p8RI6-{q%@vKTTA z;uq^q%;lQ|=&7kF{h8GUF5HZQjSW-7;rQav7w8=J$24P@nrBBs2R94hldBKGQ;aGq z!Ss3vhm%p1EC!jzQ!7YhYxXuNmjA%#nd|}5m3D3v#XyMY8 z1H}s$?~X)%m-XYJCswljd2y{UDrt$pz=oP`r%?Y6*O-0S)irml(9TilxuFiH z!hsuE39KO=WkFh9QWvpel(XL>Cd9OO0k)MYRV^zJ*7E4z{UAatLXactdi5oOlF07VGg@A|GniCzAHq*&)XA9 hr2o0T3~v3$l&kcGS$GPO^54C=5!_tAS=T-O{{hr?z~TS^ literal 0 HcmV?d00001 diff --git a/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/github.imageset/Contents.json b/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/github.imageset/Contents.json new file mode 100644 index 000000000..ffd65ace5 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/github.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "25231.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Requests/AccessTokenRequest.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Requests/AccessTokenRequest.swift new file mode 100644 index 000000000..d70cf2c6f --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Requests/AccessTokenRequest.swift @@ -0,0 +1,8 @@ +// +// AccessTokenRequest.swift +// issueTrackerApp +// +// Created by zombietux on 2021/06/08. +// + +import Foundation diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Requests/NetworkRequest.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Requests/NetworkRequest.swift new file mode 100644 index 000000000..98275779a --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Requests/NetworkRequest.swift @@ -0,0 +1,8 @@ +// +// NetworkRequest.swift +// issueTrackerApp +// +// Created by zombietux on 2021/06/08. +// + +import Foundation diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift new file mode 100644 index 000000000..d6f7f211f --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift @@ -0,0 +1,50 @@ +// +// Coordinator.swift +// issueTrackerApp +// +// Created by zombietux on 2021/06/08. +// + +import UIKit + +// MARK: Protocols +protocol Coordinator: AnyObject { + func configure(viewController: UIViewController) +} + +protocol MainCoordinated: AnyObject { + var mainCoordinator: MainFlowCoordinator? { get set } +} + +protocol LoginCoordinated: AnyObject { + var loginCoordinator: LoginFlowCoordinator? { get set } +} + +protocol Networked: class { + var networkController: NetworkController? { get set } +} + +class MainFlowCoordinator: NSObject { + let keyChainController = KeychainController() + let loginFlowCoordinator = LoginFlowCoordinator() + + override init() { + super.init() + loginFlowCoordinator.parent = self + } +} + +extension MainFlowCoordinator: Coordinator { + func configure(viewController: UIViewController) { + (viewController as? MainCoordinated)?.mainCoordinator = self + (viewController as? Networked)?.networkController = NetworkController(keychainController: keyChainController) + (viewController as? LoginCoordinated)?.loginCoordinator = loginFlowCoordinator + if let tabBarController = viewController as? UITabBarController { + tabBarController.viewControllers?.forEach(configure(viewController:)) + } + if let navigationController = viewController as? UINavigationController, + let rootViewController = navigationController.viewControllers.first { + configure(viewController: rootViewController) + } + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/LoginFlowCoordinator.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/LoginFlowCoordinator.swift new file mode 100644 index 000000000..fb1eb1700 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/LoginFlowCoordinator.swift @@ -0,0 +1,54 @@ +// +// LoginFlowCoordinator.swift +// issueTrackerApp +// +// Created by zombietux on 2021/06/08. +// + +import UIKit +import AuthenticationServices + +class LoginFlowCoordinator { + weak var parent: Coordinator? + weak var loginViewController: UIViewController? + private var authenticationSession: ASWebAuthenticationSession? + + func mainViewControllerRequiresAuthentication(_ viewController: MainTabBarController, isAppLaunch: Bool) { + let newViewController = viewController.storyboard?.instantiateViewController(withIdentifier: ViewControllerIDs.loginViewController) + guard let loginViewController = newViewController as? LoginViewController else { + return + } + self.loginViewController = loginViewController + configure(viewController: loginViewController) + loginViewController.modalTransitionStyle = isAppLaunch ? .crossDissolve : .coverVertical + viewController.present(loginViewController, animated: !isAppLaunch, completion: nil) + } + + func loginViewController(_ viewController: LoginViewController, didStartAuthorizationWithState state: String) { + let url = GitHubEndpoint.authorizationUrl(with: state) + print("URL", url) + authenticationSession = ASWebAuthenticationSession(url: url, callbackURLScheme: nil, completionHandler: { [weak self] (callbackURL, error) in + self?.authenticationSession = nil + if let authorizationCode = callbackURL?.authorizationCode { + viewController.performAuthorization(with: authorizationCode) + } + }) + authenticationSession?.start() + } + + func loginViewControllerDidFinishAuthorization() { + loginViewController?.dismiss(animated: true, completion: nil) + } +} + +extension LoginFlowCoordinator: Coordinator { + func configure(viewController: UIViewController) { + parent?.configure(viewController: viewController) + } +} + +extension LoginFlowCoordinator { + struct ViewControllerIDs { + static let loginViewController = "LoginViewController" + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/MainTabBarController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/MainTabBarController.swift new file mode 100644 index 000000000..2639c7604 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/MainTabBarController.swift @@ -0,0 +1,21 @@ +// +// MainTabBarController.swift +// issueTrackerApp +// +// Created by zombietux on 2021/06/08. +// + +import UIKit + +class MainTabBarController: UITabBarController, Networked, MainCoordinated, LoginCoordinated { + var networkController: NetworkController? + weak var mainCoordinator: MainFlowCoordinator? + weak var loginCoordinator: LoginFlowCoordinator? + + override func viewDidAppear(_ animated: Bool) { + super.viewDidAppear(animated) + if (!networkController!.isClientAuthenticated) { + loginCoordinator?.mainViewControllerRequiresAuthentication(self, isAppLaunch: true) + } + } +} From f8c254241546140b746dc3fc867e24fe7ad5140f Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Wed, 9 Jun 2021 12:52:23 +0900 Subject: [PATCH 11/46] =?UTF-8?q?Implement:=20#3=20LoginViewController=20?= =?UTF-8?q?=EC=8A=A4=ED=86=A0=EB=A6=AC=EB=B3=B4=EB=93=9C=20IBAction=20?= =?UTF-8?q?=EC=97=B0=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Base.lproj/Main.storyboard | 54 +++++++++++++++++-- 1 file changed, 51 insertions(+), 3 deletions(-) diff --git a/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Main.storyboard b/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Main.storyboard index 6c8392dc2..47da18152 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Main.storyboard +++ b/iOS/issueTrackerApp/issueTrackerApp/Base.lproj/Main.storyboard @@ -11,7 +11,7 @@ - + @@ -101,6 +101,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -130,6 +172,7 @@ + @@ -139,7 +182,10 @@ + + + @@ -147,6 +193,7 @@ + @@ -155,6 +202,7 @@ + From 2969620f7adf569c07631d8664c12b0bdec7fed8 Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Wed, 9 Jun 2021 12:53:32 +0900 Subject: [PATCH 12/46] =?UTF-8?q?Implement:=20#3=20GitHubEndpoint=20author?= =?UTF-8?q?izationCode=20extention=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Data/Network/GitHubEndpoint.swift | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/GitHubEndpoint.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/GitHubEndpoint.swift index 23328b44c..1521bc620 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/GitHubEndpoint.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/GitHubEndpoint.swift @@ -24,6 +24,8 @@ struct GitHubEndpoint { static let accessTokenURL = URL(string: "https://github.com/login/oauth/access_token")! static let serverURL = URL(string: "https://github.com")! static let authorizationURL = URL(string: "https://github.com/login/oauth/authorize")! + static let signOutURL = URL(string: "https://github.com/logout")! + static let apiRootURL = URL(string: "https://api.github.com")! static func authorizationUrl(with state: String) -> URL { var urlComponents = URLComponents(url: GitHubEndpoint.authorizationURL, resolvingAgainstBaseURL: false)! @@ -35,3 +37,21 @@ struct GitHubEndpoint { return urlComponents.url! } } + +extension URL { + var authorizationCode: String? { + guard absoluteString.contains(GitHubEndpoint.authorizationCallbackURLScheme) else { + return nil + } + guard let components = URLComponents(url: self, resolvingAgainstBaseURL: false), + let queryItems = components.queryItems else { + return nil + } + for queryItem in queryItems { + if queryItem.name == GitHubEndpoint.FieldNames.authorizationCode { + return queryItem.value + } + } + return nil + } +} From 28e0a028fd910076bc9bef45a1a3ddcb697375c6 Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Wed, 9 Jun 2021 12:54:18 +0900 Subject: [PATCH 13/46] =?UTF-8?q?Implement:=20#3=20GitHub=20AccessToken?= =?UTF-8?q?=EC=9D=84=20=EB=B0=9B=EA=B8=B0=20=EC=9C=84=ED=95=9C=20=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Network/Requests/AccessTokenRequest.swift | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Requests/AccessTokenRequest.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Requests/AccessTokenRequest.swift index d70cf2c6f..9b711a856 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Requests/AccessTokenRequest.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Requests/AccessTokenRequest.swift @@ -6,3 +6,43 @@ // import Foundation + +class AccessTokenRequest { + let state: String + let authorizationCode: String + let session = URLSession(configuration: .ephemeral, delegate: nil, delegateQueue: .main) + var task: URLSessionDataTask? + + init(authorizationCode: String, state: String) { + self.authorizationCode = authorizationCode + self.state = state + } +} + +// MARK: NetworkRequest +extension AccessTokenRequest: JSONDataRequest { + typealias ModelType = Authorization + + var urlRequest: URLRequest { + var request = URLRequest(url: GitHubEndpoint.accessTokenURL) + request.httpMethod = "POST" + request.addValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type") + request.addValue("application/json", forHTTPHeaderField: "Accept") + let parameters = "grant_type=authorization_code" + + "&\(GitHubEndpoint.FieldNames.clientID)=\(GitHubEndpoint.clientID)" + + "&\(GitHubEndpoint.FieldNames.clientSecret)=\(GitHubEndpoint.clientSecret)" + + "&\(GitHubEndpoint.FieldNames.authorizationCode)=\(authorizationCode)" + + "&\(GitHubEndpoint.FieldNames.state)=\(state)" + request.httpBody = parameters.data(using: .utf8) + return request + } +} + +// MARK: - AuthorizationResponse +struct Authorization: Decodable{ + enum CodingKeys: String, CodingKey { + case accessToken = "access_token" + } + + let accessToken: String +} From 5514d1b5a0f8cbe0085d2b6d720654cb5e297f15 Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Wed, 9 Jun 2021 12:54:53 +0900 Subject: [PATCH 14/46] =?UTF-8?q?Implement:=20#3=20NetworkRequest=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Network/Requests/NetworkRequest.swift | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Requests/NetworkRequest.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Requests/NetworkRequest.swift index 98275779a..51e263497 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Requests/NetworkRequest.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Requests/NetworkRequest.swift @@ -6,3 +6,52 @@ // import Foundation + +protocol NetworkRequest: class { + associatedtype ModelType + var urlRequest: URLRequest { get } + var session: URLSession { get } + var task: URLSessionDataTask? { get set } + func deserialize(_ data: Data?, response: URLResponse?) -> ModelType? +} + +extension NetworkRequest { + func execute(withCompletion completion: @escaping (ModelType?) -> Void) { + task = session.dataTask(with: urlRequest) { [weak self] (data, response, error) in + completion( self?.deserialize(data, response: response) ) + } + task?.resume() + } +} + +// MARK: - JSONDataRequest +protocol JSONDataRequest: NetworkRequest where ModelType: Decodable {} + +extension JSONDataRequest { + func deserialize(_ data: Data?, response: URLResponse?) -> ModelType? { + guard let data = data else { + return nil + } + let decoder = JSONDecoder() + decoder.dateDecodingStrategy = .iso8601 + return try? decoder.decode(ModelType.self, from: data) + } +} + +// MARK: - HTTPStatusRequest +protocol HTTPStatusRequest: NetworkRequest {} + +extension HTTPStatusRequest { + func deserialize(_ data: Data?, response: URLResponse?) -> Bool? { + guard let response = response as? HTTPURLResponse else { + return nil + } + switch response.statusCode { + case 204: return true + case 404: return false + default: + assertionFailure("Unexpected status code") + return nil + } + } +} From d42b75b9863eef9d19e59b9341d1f7f4d757ee19 Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Wed, 9 Jun 2021 12:55:36 +0900 Subject: [PATCH 15/46] =?UTF-8?q?Implement:=20#3=20LoginViewController=20G?= =?UTF-8?q?itHub=20Login=20=EB=A1=9C=EC=A7=81=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Login/LoginViewController.swift | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/iOS/issueTrackerApp/ViewController/Login/LoginViewController.swift b/iOS/issueTrackerApp/ViewController/Login/LoginViewController.swift index 9ab9a59d5..c877cfd55 100644 --- a/iOS/issueTrackerApp/ViewController/Login/LoginViewController.swift +++ b/iOS/issueTrackerApp/ViewController/Login/LoginViewController.swift @@ -8,15 +8,26 @@ import UIKit import AuthenticationServices -class LoginViewController: UIViewController { +class LoginViewController: UIViewController, LoginCoordinated, Networked { + @IBOutlet weak var gitHubLoginButton: UIButton! @IBOutlet weak var appleLoginButton: UIStackView! + private let state = UUID().description + + weak var loginCoordinator: LoginFlowCoordinator? + var networkController: NetworkController? + + var isAuthenticating: Bool = false { + didSet { + gitHubLoginButton.isEnabled = !isAuthenticating + } + } + override func viewDidLoad() { super.viewDidLoad() configAppleLoginButton() } - } //MARK:- APPLE ID LOGIN @@ -58,3 +69,17 @@ extension LoginViewController: ASAuthorizationControllerPresentationContextProvi //to do } } + +//MARK:- GitHub LOGIN +extension LoginViewController { + func performAuthorization(with authorizationCode: String) { + isAuthenticating = true + networkController?.authenticateWith(authorizationCode: authorizationCode, state: state) { [weak self] in + self?.loginCoordinator?.loginViewControllerDidFinishAuthorization() + } + } + + @IBAction func gitHubLoginButtonTapped(_ sender: Any) { + loginCoordinator?.loginViewController(self, didStartAuthorizationWithState: state) + } +} From 721b468e5bce5ae5a6189d334bfc2360adf1602c Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Wed, 9 Jun 2021 12:56:11 +0900 Subject: [PATCH 16/46] =?UTF-8?q?Implement:=20#3=20=EB=A1=9C=EA=B7=B8?= =?UTF-8?q?=EC=9D=B8=20=EC=9D=B8=EC=A6=9D=EC=9C=A0=EB=AC=B4=EB=A5=BC=20?= =?UTF-8?q?=ED=8C=90=EB=8B=AC=ED=95=A0=20=EC=BD=94=EB=93=9C=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Data/Repository/NetworkController.swift | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/NetworkController.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/NetworkController.swift index ac36b0be6..0e9efbe21 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/NetworkController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/NetworkController.swift @@ -9,8 +9,30 @@ import Foundation class NetworkController { private let keychainController: KeychainController + private var requests: [URL: AnyObject] = [:] init(keychainController: KeychainController) { self.keychainController = keychainController } + + var accessToken: String? { + return keychainController.readAccessToken() + } + + var isClientAuthenticated: Bool { + return accessToken != nil + } + + func authenticateWith(authorizationCode: String, state: String, completion: @escaping () -> Void) { + let accessTokenRequest = AccessTokenRequest(authorizationCode: authorizationCode, state: state) + let requestURL = accessTokenRequest.urlRequest.url! + requests[requestURL] = accessTokenRequest + accessTokenRequest.execute { (authorization) in + if let accessToken = authorization?.accessToken { + self.keychainController.store(accessToken: accessToken) + } + self.requests[requestURL] = nil + completion() + } + } } From e6d29d9529fc7f9ddee70c3b3796da572b83ac7e Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Wed, 9 Jun 2021 12:56:38 +0900 Subject: [PATCH 17/46] Chore: #none --- .../issueTrackerApp.xcodeproj/project.pbxproj | 36 ++++++++++++++++++ .../UserInterfaceState.xcuserstate | Bin 43693 -> 49146 bytes 2 files changed, 36 insertions(+) diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj index 0f46eca6f..4a5bbef20 100644 --- a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj @@ -19,6 +19,11 @@ 9343E2CA266EF9CD0086F977 /* KeychainController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2C9266EF9CD0086F977 /* KeychainController.swift */; }; 9343E2D3266EFBA70086F977 /* GitHubEndpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2D2266EFBA70086F977 /* GitHubEndpoint.swift */; }; 9343E2D8266F03E90086F977 /* NetworkController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2D7266F03E90086F977 /* NetworkController.swift */; }; + 9343E2F2266F5CC70086F977 /* Coordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2F1266F5CC70086F977 /* Coordinator.swift */; }; + 9343E2F7266F5E890086F977 /* MainTabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2F6266F5E890086F977 /* MainTabBarController.swift */; }; + 9343E300266F603C0086F977 /* AccessTokenRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2FF266F603C0086F977 /* AccessTokenRequest.swift */; }; + 9343E305266F60B50086F977 /* NetworkRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E304266F60B50086F977 /* NetworkRequest.swift */; }; + 9343E30D266F90EF0086F977 /* LoginFlowCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E30C266F90EF0086F977 /* LoginFlowCoordinator.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -57,6 +62,11 @@ 9343E2C9266EF9CD0086F977 /* KeychainController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeychainController.swift; sourceTree = ""; }; 9343E2D2266EFBA70086F977 /* GitHubEndpoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GitHubEndpoint.swift; sourceTree = ""; }; 9343E2D7266F03E90086F977 /* NetworkController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkController.swift; sourceTree = ""; }; + 9343E2F1266F5CC70086F977 /* Coordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Coordinator.swift; sourceTree = ""; }; + 9343E2F6266F5E890086F977 /* MainTabBarController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainTabBarController.swift; sourceTree = ""; }; + 9343E2FF266F603C0086F977 /* AccessTokenRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccessTokenRequest.swift; sourceTree = ""; }; + 9343E304266F60B50086F977 /* NetworkRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkRequest.swift; sourceTree = ""; }; + 9343E30C266F90EF0086F977 /* LoginFlowCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginFlowCoordinator.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -163,6 +173,7 @@ isa = PBXGroup; children = ( 9343E2D2266EFBA70086F977 /* GitHubEndpoint.swift */, + 9343E2FE266F60320086F977 /* Requests */, ); path = Network; sourceTree = ""; @@ -187,6 +198,7 @@ children = ( 930FAEBE266E128700422968 /* UseCase */, 930FAEBD266E127B00422968 /* Entity */, + 9343E2F0266F5CBC0086F977 /* Coordinator */, ); path = Domain; sourceTree = ""; @@ -208,6 +220,7 @@ 930FAEBF266E129000422968 /* Presentation */ = { isa = PBXGroup; children = ( + 9343E2F6266F5E890086F977 /* MainTabBarController.swift */, 930FAEC4266E12E900422968 /* ViewModel */, 930FAEC0266E129C00422968 /* UI */, ); @@ -253,6 +266,24 @@ path = ViewModel; sourceTree = ""; }; + 9343E2F0266F5CBC0086F977 /* Coordinator */ = { + isa = PBXGroup; + children = ( + 9343E2F1266F5CC70086F977 /* Coordinator.swift */, + 9343E30C266F90EF0086F977 /* LoginFlowCoordinator.swift */, + ); + path = Coordinator; + sourceTree = ""; + }; + 9343E2FE266F60320086F977 /* Requests */ = { + isa = PBXGroup; + children = ( + 9343E2FF266F603C0086F977 /* AccessTokenRequest.swift */, + 9343E304266F60B50086F977 /* NetworkRequest.swift */, + ); + path = Requests; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -391,8 +422,13 @@ files = ( 883F5148266F3EAF0055EC9E /* LoginViewController.swift in Sources */, 9343E2D3266EFBA70086F977 /* GitHubEndpoint.swift in Sources */, + 9343E2F7266F5E890086F977 /* MainTabBarController.swift in Sources */, + 9343E30D266F90EF0086F977 /* LoginFlowCoordinator.swift in Sources */, 930FAE86266E112700422968 /* AppDelegate.swift in Sources */, + 9343E305266F60B50086F977 /* NetworkRequest.swift in Sources */, 9343E2D8266F03E90086F977 /* NetworkController.swift in Sources */, + 9343E2F2266F5CC70086F977 /* Coordinator.swift in Sources */, + 9343E300266F603C0086F977 /* AccessTokenRequest.swift in Sources */, 930FAE88266E112700422968 /* SceneDelegate.swift in Sources */, 9343E2CA266EF9CD0086F977 /* KeychainController.swift in Sources */, ); diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate index d17976d0907eae25a66e3488f3e61977979806d4..bdc130d7556d658552b280a4f43d16e510a86cba 100644 GIT binary patch delta 24248 zcmb@u1$-1o_&Mb@q8+<+|CtI~# zvRATCvR`sQa!_(ea#(Uia#ZrUx1>j^e{ur z2s6e^FjLGDbHY5Z5m+D=goR?NFf0m-#$vE>SUi@1C1R;qCYFWeVRB4?6=Fr06061< zuqjv@HWizJ&BW$l^RdO)5^OoP0$YW3VVkiX*naFVb_DwZ`w}~Woxv_(m$7fLtJn|N zb?gTA3-%CuiM__&-~h*P3a4=%?}N+m0r)^%4|h@FuDBcSj(gyqxEJn?`{2I#a6A|f z!AIdycr-p9kH-`6L_7sg#dGmIT#lFERrn-az?<=@_zZkDJ_nzVFUFVP%kfTpBfcHq zgCD?;;9uZhBJ0TCh-w5i*9< zO`Ibxs)$R(W#U`nDsh9jN!%rVChifx5s!)I#0wH936dl!k|r6FC3}(m$pPd*(ug!B zO-NJHjI<{0Nmp_t=}!ibfn*RFOpYeUkYmXhavT{;CXg9qCYeQMlf`5SSxT0X)`kWa{`&85`T zVrmK1Nv)!~sMXYFY72FY`hxnBI!=8>eNCO9PEx0+)6{wDJL(Gc6Lp=sN8P7>p?;-) zqn=XFXr7kRz3AR_A6iEDrTfwS=>hZ*+JrWx&1f6imUgAxXm?uWK@X#c)3J0MJ)VxI z6X--biB6_d=u|ortO6bM1X@WK)75khJ&{(?0=%oz*DlCff}85_oyv19BR2gZf*W_%c5W+da!gfZbv1QW?bF>%azrjRLOluR*G z!jv*)OgU4*R5BBp$xJiT!pvkoViqt9na#`=W-GIe+0J~z>|k~>yO>Xzz048jIP(>A zjyca_B!9Ys{LkUaU9k!}_v* z>`-cY|WSiJ2Y%@ERoyE>( z=dcUeMeItpgY9Hjv0dyYb~F1qdrZZC!G6geXTM^2su*;DK}_FMKx_8NPa{h7VT zK4c$pG{e~n zTe)rAXWSlcFSn2ToIA#S&t2ty;C|$;aX)d_xf|R~?iTkm_kerKJ>%YRe{*knnrC=p z-h?;h&3JR(g16+Ycx&E~jzsO(W zukt_eKl0D`=ll!)CI2V?ivNp$&A;LQ=HE&sQXs{oxRj8RQc5b5_LcUN_Lmw+t)$jc z8>y|-PHHdpaFBXQy`?@pZ0fQPETpdll{2Coi8{9lS(Pv*b^Ut4iI6)r${A;zobaeZ)DVw}99Mv*I*NiOt}_3foL?QP}b>mqwH)f`pr z->Yi?KX6c{tdF9yvRXdAB0IN8UJ+PUmKIYXuauWmWmhRmOJd_AE)3DrHxTRg)6^X< z1E{ud$(~Xc>0F(#l%%nBJ)9i*;vEL0j`qJ9|`YfO?5^FnPhz$yrmN zk67TrMO47mV3iy1uI6R>gr}Fc=B7;Zpb6-vuR)jJ&|!n#J*K8lZ(_tq|97Ii_%axk z3N&9Ggh~a!FH1&(LOwCLw4|z{RH>9#To@G^rm1T!KK}F$R5!w4Rpe09_iJ8=9z8}= z)JrV7@GUAD(`(H*@iDRQmre~XEv?8?lw?zmG7E*GIcvDT5Zr-Gf};~w>^2GuD+p%s`sFqjRtEbtAs(YNv8vwf7!=> z0FI9?%~zCMXl`lMJi|tm>&k4@%vAHPc9r`Fkh?H_#!OAwzP^6A`=U-%c2=*|vxl0_ znX3l9`wtu=ubNm|QIr%bFRzwYR#je@H-CYqye(?`$48&UdoU^gQ3Ux2R=fqw#C zVmzjgSzxx9BQ_Eng+*fN8vb36sSxj8g>A!jVP9dYZxOM+gZ+vqwG{7*TO#f}91lc% zIT268OYzBg8{)-kd^O_2pCT6g9exA9i#YIKgoNl%m?LuQO1KjtLf z*44xY;s7G0mx%9)Ys5q18RDFS5zDk9ZOKuHO(v3sh&48mZRAHPawYi*d5AniUL>!O zzmb1Y1jSOl5$Cf)j4zCeq2dv{E2gRuv716IK-6suwS(G?DBDTu9CeF&O#MYmXbO=r zBSgad>2P{9J&w+$3+M)V8m&g`Y8kzS-hmj@CB&a@A;$C?aisx>A~`Z{h!h2eGozU- z#C>WRh&WFhGn-K}%b3;7T4obsJI9!_TJ>U}Tj$;1yT3`8`#T2pvj^m2!9j3QkLo`b z&y*RdM{|SKo4MYq6_QO7`%RLSk`76yWR;{#vKlFNtz?~Ky<~%Aqu?gE3m$@};3aqq zK7y~{Ckz#a3Bxx@HcPgkW3$9cbJ$9DX+C`>j1c_MF#?Tx;xSkV(tHXQ>@#J3BSJ<6 zqfne(Rw>U5RVd|^nX(-Q12CXEF8OMuF!F+=R#GQ9Avqa8CN551)rme%x*+K-=_5HU zIkQp-(B3~MIiE2mZgh23c8*dWSW%H(w@PwOazQdFaZH@%D}mNWp8sirBxA{4IG4Bme*m;D7)mpa2aRAx;=C z#0v>RqL3sc3n@aXkS3%H8JhqHcpwG6khk>#GSC-&>kkH?b~A+{K`9gqB|@1{E>xgz zQz7s{RAtWKe9*@dSfh>sD0=jVluE0|=Xcce+ z?!ZIH74ii6D&QrtMQu$$D$Q3X=?x#%Eb9p+@CU)~RS7{=LInk?QYcuUID_;bBG0ML z&qq|FLY{3AAXi_}GvmjAu}H@kQIa4=P3qewm1-0XVnJN$n79a$+{7T7(+S2)CiT3a z>udr@l-RFaDcGlsEt8i-l#I{Lsk{VIL7JowNCz1p6J&vGkR#cpZqbirn}sT&O{f%t z)YtWWgC>CDH6R}p00k%nML;Q33$;SM&?u+`C`|bVl!7wUN;yKfG9@Ap@gl_pg}fqO z(=ABdnC_7+l3nQjWaK^*$A@HBW$Ug_)3hdNT6<(LK&5SMmgZ`cc=i2ou63IWU|y%_ zCEtSuU?Erp7K0^7vZY`d_!uk)E5J(7ffNu4I?*h!3mvOd^Gb88i;>9jvC+t%Dyy<9 zsuU&p$bqYiOU6_e=g2EEWvYJi62yG|bG2`7K{jHPRq~41?2>$Ww7eu!CR3K?YDnd% zlH5|U3c94N8?7jjYuih%QWT?MKD)RqQ`S%Sz<+L|2=bqXOZ9Sv78xZQEVRm4LDK(i z_rFY8rFx@fwEAFzO#Re%u!mMZ>%jU<+2D|b@#E#SRUzHdMR#{=71#haN+!K4px#$) z)2-LdV2heJaspe`enuX{woA@*fKP<>f4pTE*ekK`0-vI>?K7}Pm?lgYW(YI8z&@}a z8~_J}k09s=fw!T=4vE!0@wIY+%HomIX8ebiF2h$A96~wEAn)OdYEqa zC5+Ov_p#2J`z}E8EJLI~3c7?9!b(A+7Un9nTEJvjU-fyz!35S%G6{VcH0&E}fTRyL z5OiUKF&+hf=bY?HISLTY6>=rAv>G`QzEfDC(LJIW253}4rre3?qx$3Qozx2)uJdMzvXbQoT!*kr2{)y6H>N_Aw|p7bvME_v1pqZ zi~hstbtOh?s(vC?MRP*k)qq%V5UG8quuGWuuX%wC?=Av9pz}0MuRqi2e1KNx*&3bi z6?L8|D@4vaT>ZkbcZ7>ZD((4$vh}cmY>mG6B9)d^=O`7qTIroCORFn#x#OM}ST~$z8p{Un{sYFFp0lHcxA8PlWw_(K^MVBE(S74P$(VuG+eHbbF zv~cR*imt&Xb}RaXN;uL})005)YOE2PjL5ElLE)%yO!!hbE`0TmhKn^&eXdpTfG|Z> zcy-RGlDx7~G}r&PZre2_zYt3%c2AmgD)?t4v6-m5_5rml(6sRNf7G&6qn49ewG?Y& z>a*eIsvf8>)u4V7#pW6`+YV9Wp(KJly8^-b0o+z=a9f9P+kkCExLwfTb{66GqwvGO zaod7z?Z)kU;apGHc7kHn8ZP)-`t~%@xp3b_VS$FLNcz&b7^NJ47?$Gv~2G6US&{mo- zUe(<%7u^Kc<%1pV0rz(rxUZ&ES17ydylCBLhQZ)&YmUkv()c?D%x z{F8C{H_m@+!pvC*F!)fgS-HN>|Yj%CiG=mzlWd?M3W$qt82LlUX4r=ufZqcwRjy~4*?4S z2LTU(6y||m?+g?4VB9(j>Or@4m;Q;1|4UfJXNqf-fN;v}p4a^U3DgNKP=-37 z+};ODJL$&1!G9Dz=^}m!zl?v2@-BXnl{mH^0u2xNp# z9Rvn}v&M%AieQno6Er>+0vF^&1SdL?>xZ1EF99tAytK|D8`#}0(T^CYaTfw97`cll zau))bC~_Cq_uNp!O9=zQFjF>ALo(HWhRX0x!btr`sD}$-N?4&u1!0CVSQdmO1ildX zK`<18VO@kZVFLuh4uatj1PYTNh*XaY^A{6cUSb_Ll<)E&JRukX!AJ=FAqeP_SOFf7 zm55jtp$@6{hBfsg0*D}#5g-trK^;Ue1i@lXKt+V1oB$C{L_iP%LD;)_4iQbD5cBV> z05MKtMZ`fcN>oayV38CppHL+dHH(1h|H=;#NkrOvmD44*L?#5`0y5AD!6G?UkzY_{ zrLA6ZxMzBS$Rj3*U6n%+)q!R$Me1G=g9i{rl0JlzC>F_o9-1VN?Mt@q@Qug@nAK+W z(nuQ%16Q;(V=Au8pk*0vQ&;q-{o>cwTvMf7So`_ad zN+-ss1ERwDzR0PWc(JVa4t3NF0Q`2Cjy4CXHDEKE!HJWwXJ`uoj!97-(+XuW?J-wG z-vh7+w40z9t3d>>1)Ghj(Jq38XcxgUw2xpVwiY{zb_`rWdj@{Q3A8t0AWCZ5;Ld1k zfIHe2kct_I;DRw*r@em|HkhmTxOGO9-B$|jRL^IJsw2FF5g80;a5T6e5k0HJv;s+pp z2;zs;bz>i<6LX1$qCu*OdBl8T0R+hqq(G1gL0T8Fh*(T4A(ldr4#7kSWT*T`n#Q;GdLVhgdA*hXw8J|T7x zJBeKoWJ8bxK`sP&5FkUG06{(k1?!02#An1FVlT0e*pG6`2O&^EpoE|Vf>H>|ASj2R z8iE>8y1|ulCCVAf^TcUngz8;JsWMeNO%X4nY@#erUX`s-{==j)Wkbp;S|kZ64w~JFZEGoS5}3hga^vIiix-M(i(AX zP_CM&DWDmwh_8v09mEL;3Lz*$Y~I-=AI*TObDR~$+4*Qmuu5xRXNa?D@9YaDX;%?v z-lb`Y^I{WdNH6{$nm~Eyh@gnzZUv65QE7V7V~NfpK>2UC|Bkq#&F$%Q^8;~BRPc`w zRCEwOK}5t6s(s|OW!WfCs6{oTQY+9c$yXi3Z3wD_k>i{*w5W)vi3n($8_|cjPyF)l z2mDU_AwJ*%1hpN+LkQ~sZ9&hp7F3rhi%0Y_Di9eDGS{+-(n4JiUlMOboBxw|Mf^p) zhM)lg8 zv#2ubcX<`G;4ID@MR&TYhQIR2JILeu!g_%$?41#$O%!gpXDl&qM zB%>f$2*Dx<77O+n5kcLp#pPxz<(V?$cNe0O2aG8#adUNzk)w1#NmWW|X)$t^cLieQ zxr#D*rG@`P?VxVqe@^@1f<%RuAjmjTLns<9LHwy3fJ8C{jrL>`iNYF+W6L_pR5A^M zk0Dr&$Z;-my2|w2(vk^^{OSr#P9amK7ZDU(np>JZzO*{Gpu4ZyC+ix`A@e1Jy2xBI zkCc-r#H>KZvJ!$02s*pS0#bq2rO*J50$djaD8Q{jPg3M5N{bWn5RAFN03RMnNqoyB5`n1a$0xp$_Uq9nH z(njR&qT2br_<$Y_I!B8`cc#qz-_4Hwrw7h4r4>~b*$Na#L^x|iI8oSNCrn8RN=|X| z@O7$kMG0lgh@d#69ytp6MIsRpL!iBO{od)Hayqakk&}^elE}F>c96)YHmRqNGLEwd zD7miDovv6jIbCAEhHN2Q(R$ugvYng;!4?R%La+^j?GStd!HzY^nr4z8k+aCz5-W{O z?SudY{ZAp-jh1Wp*fv#agOj(9hodR#Y@=3+rT<8wd)5karPhJo8IbNy7m3ouTV(^W zd*m8&ExC?dk5!Tz$xY;DTuE*vw~^b?GUE<%C+0wYiftr6BlifuL9hpceGnXg;LuRv z6a+^g_#A>S&};yL;}Coe!AS^CLvR*?^8zaPjqn2mmmv5SJ&4>#?k5kB2gyU~bNIll z6XZ$q6nPr0W1_-WAovYp7{rD^%o$?A5KD$wF~pi7wg6)5AhsW3=OK0vVt+xrFT^b& zJ`CbxAf5y9s(*z<@}f2*?p6Qjd9?pO6KL{^_WFMH5%+zAdR)Jzy?!uLrqCpm&f6OI ztaeL#`>?t+p}uFed)n(qGi9^IYN^P3-fdKIiH~s6S&P3lnAIp?Y72A*df6@N`+U{d*yI*F?=7{b7D^dD?(eM8ur_!V2FSHN%DpR&gecf}7 z`ck~CCvLB`w@>J9&mZ6OHU+e|Pi4yL#qI@(EK!$*`X?)Sr#d?$I$yroDb4Q}(H*-*=q*_Pjk%d;8-52i!DCZC=+cH->Fvw{3m6kiFQ<)CP$=eHIvHG%yp@3&0P1_9`)6M@*(L|0aYOap`Z$>B1(xiNR&{e zR2hZX@b3^jfZz`Z5Wji^!D9%}6#gj$&(>3w-9SvFYBfMKK=51##48BiYI0|oL_7Vb z+C(4_pLwAJVmbnXnnBGJ4+u~O;7{!tP5*6W2D+}#qZWvOAQJIc2Zh+fYb_v4spVQg zJ{AFagC_438hHT(f4?_*@5?s4+hU_@bq%#%3&=VV5DfIFF9MQ5ZKd{zfNZ0-Q=gz6 zB0H&F)Td~l$Y&74A%<#@5ThVQLyUnK3o#C2{Ca9{Hy{V8L)2kp8Al-|?FIzv1F-=R z8;IuK*dPreqo^|?B4;6n(qUSqp_Rlg3MHe(17awTr8yxyymkHlp87#V<0`~t9n_By zEwdr>NT+U4x3y^8LTF(9L}~7dXkh){M}yjF5n!kpawRfDUAwRCW^2O83dm93|n z=qYqF-9oq0ZS+*Sot_4<5QvR}7!o@SV&M>rfLJ8Nq97K%o}SSy?QD7uJr}8e9>hlL zq(zd)Lo7jbhs17iSBm0xKx~Xo+%8dEv^FFj5F0B5X--J{zB(;!qPK|RZid*n4tguZ zVm0o7_Gf*H#G!Yh+#nW*a)b14DiLC6LU8|m-7}*t0=&E3!CcqwA^NBm4@BXR_LES& zq<4$)78|eC{#Wz`5s$Cw6ZA>?6n&aLL!YJ3(TIhmKr9tvX%It-%YaxW#Ihik4Y8c{ z^f%pjeA})4s}Rf8;W6Qz_KUjV_*sMlak@Mm9KRws5E#FUhlqt-dzvEaqwDq)`k4sF zQ;6kv(9a=OAi@z#zoOr0wf|bwzCu(kikZk2&`zKK3?6;S$nM4%f}u4SFq8%ZWshnI z1HJTK%wPlo)0^qT$e6xNKc+w02RD#G4qO7UQizp7tQ=w$5UYe(6~w9`R00ScR^0VI&A5&=O_&e8!=ivW3l1xnXr6$3>e z5Ug`Lm?ntL6@k!iW!kksOcjAp|CzR5p({3?hjeSbc$jwW|lBZ(cZ?7 zndQt1W+l_1?vpzZ1-|7FTd|&5)h*Uq?b-md5n?NKVs*Y-8^G3Rjh)#o%7q5k4xL>4 zM7ch=HlUO3D057d?Q@8&>R`TrSeHh&ubER?*-nbGtwwzpllq7#xr!<>xWHV}%63sB z+uHx!PrJ(85oP;<`H{KC{KQ;mZZJ2QTg+{Ut%ukKh#@gHK@7#4Ef7QTW*fw|uV?Od z%leC!2Qd#I_K8kbG%M}qL3_JJeI<(e7sPhxMEzT|>9>Fv4~Xp)M}2fc7H!fkDoe2p z5|u@4-Cye|fI z)|9nJ!m?(pIcvdMvR14$Ys1>Ib`U!Nv4aph1hK;qI|8wz5JNB@gV-1ASqH7KtP6FB zb(2`JXoUMxC+yc6j&nxz;Il|tZxG^-gk=LDcD!3yHW&%Zh5%kXAoi6gEIJ`!19iei zv7<#{qak*pgB=60lcKQW*;qCnNyEm8G5r*Z>1+a8@4?V)`u#=IzMP@VTGw1Uo25k| zQ-i`e5rqT|N~gt8uE$Pb%S06N*#cI<7P3XGk}YOS*iv;sp=i!mAol%ww!B;FYPN=* zh@?i5=c-QXpCE?p;1Sz^|uIc>yBIfbnUKY*J&X@ zX+1QW{oJDk5rTAf3;US}!B%z~yPf@n-NEi;cd?(cyCHTTV!uG_SBRkm#P1M8mi-6B z9zyKVdUj7YBnPxs&muc{tb+v254x@XPYoggr$t20KIHMVdpG ztz*AqzZa1}*gxxF(J=X3L}DEK6MIvO#0?RN7osXr&KN-K<$FlTuIZ$|&;F*B{#T9k zuX@xHrO#j=v#&+zpRiBaXY6zK1^bfylYPY^7kv$}HxT<9Vs9ZXfjEFT25}tX#CrCP zR(cL_7>7%&I1=JyxAZsz@m>(`jSK?sqjCB$t}l|GLrX7cKcI%{bBOGAaf7sf5U1b$ zhb*Fhch5N^&IF;r8AF`y;7lRTY3zZsn$6b0OV;glowS7Y%U(9Uw+Ja)X;|@EFCREesu8GQ_B&pS*zG%N%jI%%5sf^E8+ULMAZ{X}5z7^F#TuL7l*lG5VwN3HNJ@AnuFy-XW9l(?Af#EfXO?>u@eQ2oV46;ySoa zbaX-772omdhqQ>GH8ErqLwnTMAo2xwRz&1W?l|`q_ceEdJIS5mPIG4< zJ{;mBAU+b}{typ z5D(QMat|Rw9cGNh1I?WgInSF%YF>L{E%^_;`rNLp%ZEiR*c^*n-w58ewwzNXcrNW7H^OpWcR4387%lQe3A&lSU!dy$H($< z{CGZ|Pv8;0xe!O*DTg@n&U}a$KwJUwLWmcw=aaiZNY}DlJ{#gn9S9{lmWx+tFbL#} zMGQ(HUaZ5Q9AWT3vRuBFuNM)hgLr8N-vIG45di~U#W!gYfFc6rNDy7lOccbBpUO|y zN{Ut(kffFWDUiX>;g^b%&gIqoJbpgEfM3Wj;urHvAYKje8i-GXcrC=yW9uP~9yUM~$bfTgylU@8Sz>5dO(aQsx z6N&*+ord=F2Sstw;(b#Ge+c4JG&awF&VPx-;g5;7*o%sULrt|4w|`w-9gd;IBY@np#?8m(O40?@I=4;D6$;^EddL z{4M@Ae}})z|IFWm_zZ~8g!o4gp9OIg1Lr_|F2vOkp9k^z8~9)NUnRB(mmu^M6aG8U=~4qF~kwZOCi2&$Fdp)u$IzN9xW+K87V8}Aif;pD0s#)sUE~TA-*2sC`xXF_>OnmW2A;sQ?W%O zsj<`q;;SHz)UT{UXUy8yeVhmd#zE!Y~9crq6WYAyjQbYMl zM@b_-P=}0=MoFW^g)bbL&L@I>uEf*|lbBu*H`z#Ih~gb%>k9@&0^NjI8YfLbi)u*R zcxi&vM4BW`)(E{5;=7RC5dRe7yVpp~B)g>P(hT%^7`nO!1seP_i0?(QCP)qDbf~2H zsPO`+LfpY4zWjmKuzlTwRvt$Vzels-Kw2bKYWJ?lJEcY9`x$-5m*!>HnPyj+y15PY zayJbeE&D~of23t-yPc%3fc>MADrt=by^Dpebx4tC9Te=fCF{FOrim|=q2);F-X`rKx5H4fa9P9ryoJMd8Q{-n4J_l0(?4Vekb=6sF<=RfNp(%G6t z0sN@?&D@2md-MbPF9t^`je(3lN>Lc2*ZQo`Zywk)~S)`3l6YuR~-O@GB+LcbF53;P@U0R2|LW5h3?BX0Q$ z{Z2q1t}oZ08^{gj^w4hwAfCsWah@tJ4E-EH2_hS_xYg(#e{rb2h~Dh~3BA>Si@Sr~ z>3_&QM(_1M=U(y#ybF47KbtQ>ujbeB4e0fJ6^dum_!<01=mq_`=;iza$a5ccziN+3 zdE^l$$b#LZLy-;SpttAq(cAM%^!9wabgp!(bh~uNU{%K8{K2yaFC2V$h}971At6Je zhLj9x7$OX58qz$ZeaQ47Gl$F?vU|u6Ltg8#dggkTde(ZjdiHvbdd_;TdhU9jdfs}z zdPDW%^y2jr^^)~c_0sh+^|JMH_2hc_dJ4TFy<$D6w^(np-f_K~dT;dg^nLZi^i%cA z^i}#(_1pEQtMupTFVSD2zfOO>{zm#&3+@n)EW!H*qrYF$pjkZ8F{@!6eBf z#U$G#*FT^oi-8rhl2fF@0;+ z-^|c#m|1{XrkT>L#H`G$!fb}wVzZ@YADgW(+hDfIY>(MKvjb+TLuSX!&YOK>cFF8p zv-@Vx&0d_+kCLOq4_BDapnc)jplRAyUcf+A2Gjd{)_o<<`2vtnm;ywYX02( ztwpuPWQ#=>D=hX{oVEDQ61QY5JuHV?`dbEC23y8hCR?UjrdwuOW?L3oDlJPbD=e!l zYb>W(uC&}_x!dxXj@2XUKGuD$`&$pR9&D{=ZD4I=ZDQ?d?QQLAJ=A)*^+@Y5 z>lo`;>+#kJ)=AbW*7?>7>muu7>sD*E^?d7v){Ct-T7PD}*LuJ8LF<#&s?*kIt8Jg@eT}2X> z?qum??PTlZ<>ce!=QPYI)+y5|+bP#cu5v1IYH(_FQaM4VkDO*Z&2^gR)Zw(sX|>Z@ zr=3opI(_D}*Xfkg6{o9CKRW&7oa8Kb&UaQg7dh8BFLYk)ywv$)=M~N!&a0ePJFj)# z?|jhtu=7#pW6obXpLPD;`3L7~&exr9I^TA_>-@y|nez+hKV1g7Sh!fZ*tpoac)0|* zgt(|eUBX?)x}>>exMaEHxRkn-yHvVVyR^B?b6McB$YqJ^AXf`lD_0v=J6CVl2-hgr z(XL}%$GOJ2#=9oECcCD(mbjL=R=8HV*0|QXHn=vrs$82~n_W9x54+xWqulJ>V%)0S z)NY@+?Q=WmcG&Hx+ex>JZkOG@bNk-y2e)f(*Hvye-TrWU?Do{{h1;KQf4L8Fw{o|4 zcXW4l_i*=i_j4cS9_gOop6s6Ep6f1mFL7^h7u=_~x4KVv|HyrgyV`xR`#Sfp-A}ro zc0cQW!TqB9W%n!YSKS}FKXHHV{?h%G`)d!vdy+@;m$^&|+Jyv>jdUScL@z~+9%VW349*=z< z$2^XEobWj1amnMM#}kj|o`XI0JPkaJJM`o^w6tc`oo=<+)nrxz=;N=ck^ZdG7Vx@Ap-+6!U{lbUvVSS`Ny?y%o4D!+QG4QeXaq{u@@%0(y6X`SBC&nkTS=xge0@9X0m z;2Z24>Kox3?Hli#=$q`D=9}T0H8V_+4;Hpx%+wgdHap<3-Al_8|4?~7vq=gH^Hyiuhg&HuhOsHuhCEC*W}mi_mSU1 zzb?PEejEHY`)&2x?)Qb?8NbW^S^l~HO8W2Sq|DXMT@&Dcbq5tCmHo!W-BOo%MF<@4}rhtP1R|4(^{1Nat z;90=SfWHEXKst~M>=h^r>=!s9aAM&0z#D-N0v`oF4SW&!D)4m>8^j0o3X%nt1T_TB z2$~f%H)wv)qM)Tg%Y!tP`YA-N%WA@Y#?kgAZ0A@w1RAwoz~$gGe#A?lC?ArC_S8byqv zM{%QijgpPh8)Z1kWR%K$l+`GkQHi5kN9`JQebkFkY3RVvA)yALMxoB3zM;cHM}`K5 zhJ-E)T^;&K=sBibWoM9hkq6R|L2dBpmNT@lA39z^O#`bUOG zMn#T^jEPK*Y>J!}IX7~Ccq717nvwW{cb=*iJA zx;eTndRp|%=-JWg=mpV>qnAami0+JD9lb7kWAx_ez0v!l4@Msu-86dE=sBa+qZf>c z8IwLHb4>P_yfNp-{5a;PF*nBC9-BV4aIA7{$=LE3BBpOl|CoU>Lt<9NY>W9MW@pUq zaZ%%v#-)r)8S65T*r%~C;;Q0c+?2SMxT$f!#=VSt756&s z?fA^`%JC)R%f?s6JI4FP4~riW9}s^r{zm+*_&f3U5;78s5{eT_6DkreCfrDPn(!jw zRl=J@Ng|$zlJ$ww#6F4UiB^d=iFSz&iOz{`i5`hwiN1+L6B83_5|4ByCGNo%DUuPf0hDZYSMO z`Yq{?q({k;WHy;gmL}^Z8z-A3TPE8jJ0`m%yCnxCk50}?&P|?>tVmWSmnK&vS0~pd zHza?QJSSP5JU@A1@{;6_lUF2nBzGmRNmhNHd^3egu}z6isYqFnvMc3c%8x16Q*Nc) zNqLa+BIQ-en^Z|Eo=T?Dsch0ovBAsFQ$H*`hDt;sn=6)rQS`wpZZ(sA8A+`nMS9v zsx&^WcUs@H0cnHM^wJE{eA5!s8qz*aJCgQuI-hQz9+4iK9-p3+o|2xMu1qgYFHf&Z zuSu^>uTO7FpO!u|eRjG!eSZ2U>4(yfrGJ_Jb^4j~^XV7UFQ?y0znA_f{Yi!-gUnzu z_zYP_|BOKyLo#eKJTt;FA~Qy3#AL)}BxDRs&PdD1%*e^8&Zy0(&zO`kIRj=itDmg0 zQ{B$|IrEpy-!dO$KFoZRCCS3Gs4O;%&$7+(${LzAJj*{TBr7Z{GAlYOH7g@4KdUOM zE^AVjDyuoGEo)lVjI5$3J`9n3nCbu8<6)`_gsS?998$-10%KkK)w2U!oZ9%ntv zdYSbq>vh)KY>;i7Jt8|hdrJ1&?9T()#7UitY*^sj-XKT*RoZUHlbN1()%sG>DHRpQHt(?0#zvev1d6e@c z7t8IFYo2SBYn$tk>zwPB>zV75J2ZDhZcJ`mZhUTHZgOr~Ze}j}5v$z%Tt#kc?&{pH zbAQcK^~v+fOU|p!TbQ>pZ&lu!ymfio^Y-Q)$UBsGH1Am6mw8|1UCR3|?`qz)yc>D9 zBA&@(c2dD*0vk75P>9%L#)g44aTX0Zv#u;pBv0 z^4a`;`2+KZ56%Z zg^DGLj}k22S3RQ(og)N0s3#S);RM=72Rk)^bUEzkp z&4t?vKPlWRrGVw!=fie&x>9vfs#{7mA#cRWk2Nr zrJ2%FX`{4PIw@V0(aL0HhB8Z;t1M6!DNB@PN|kbka*lGIa-njWa)q)}*`?f}JgiiG zqr9xVqWnSmlk%qWj`E)JSLFkgqa})|Vy2iY?o})+?q58xcu28+u}^VAaeeW!;={#v zOSlrdlJJsoCF4sHOOi`+N{UKKO3F*BN+y=nm9&<$m&_=cRWi3^Udi^7gC(Drd{OdM z$?1}FCEt`>D!EJ`zuP8CV%y zIjSOtDaUpvwBwbqUw(7uIjbb8>%-~Z>`>5y`%bY_2<=J zR)1Z6s#&5@d8HDA`;nutxb zo)|t+IdSg9PbXfQ_;li%T1hQlOV;+T9bBtdYfx)cYoe+(t97n*tM#n)sU2E7yf(RZ zLTyoPacx;`b!}~JLv3U2jM|TCm)5SVT~)iLc4O_9+U>PFYLC{Qt-V=$r}kd$ueA?q zAJsmseNp?W_D!9vu7BOYy1{jNb%u2&b>?-JbvAW&b)j|gy7sz_b!Y3I)$7&!)+g3y z)#uhvs4u85uUFOAH`WXFQ|epmr`AuaUs%7S{^R$z~|E&IH18Be-WDNrwhBO#7m^N56SU1=<_%wtxBsQcpq&H+WHA4P zOu94a!K6o%o=$o(>D8pyjclW|u}@>a#(|B48$BBX8$%nz8>1Ry8si!h8j~9H8w(pJ zHco0(H8wT2HBM`s**L3ldE>^$gN;WTk2M}|JkfZ%@m%9Kjh7p*H2&83N8_W$Cymb< zUpD^L_@?pgWNb1q*=%yaWL4he*2x>Ri~PyQmL9$&8iO77S#^bF4bqM1FFNS&sATjE~>s&U040CdaQb;dZ~JY zlCQWx3IhZ)^s8k)=-0|d2mwN{5Q=`sD;oV6XO18j^3hLH6{*m#WR;_L%e6oFv{3j| z_+EGoO<^c3gza!0+zxlb-Ea>)3Qxi_@I1T-zlB%eU3ee<2LFJM;nSwRO~y?YP1a4e zO-@a&O&(2NO(9KTP2-!Ao6?#xoAR3Sn+lthO$|*`o0c{$Z|Z33YFgX0p=oo|wx%6T zpEjw!ZaUR;rs-VMg{DhQ-!)xr`myPH)6J&0Q;eqsP05=wb;_107p6RFmNn}&8#bFX zn>E`vdo+7D`!)}29?|UI9Nj#&Ikq{zIjK3Nd17;Ob9?jj=8u}y%?p|rH!p48(7d^M zYxDl*BhAN}k2jxcKHGeu`C{{}=7%kK3)RB5NL%`-TKcsNY#GvG&|=);*5cXX-QwFa zv}Hs~Kub_dNK05tM9YMhmX`G`CtLn#9oXvEn$$Y6RcM{k+S)p`bx!M&)@7~BTUWMr zwsy5{Z{69tyLE5tf!0H)9IX>)J$ zYzuCSY0GU>O=wfJDcefhD%z^sYTFvxCb!LLo7c9WZBg5jwvXFZwykPg-L|f6L)-DT zyHmNTj#Fc%)=XV8b$MxUo3xv^ zTeb(bk7z39b2LZw?t0N) zegBBhm%I%WX+WQc`kP9?F6|5tb#%%ZjW@QA*N~ zKZxNt;+Vo^+`ueuVh#x;kwO|7JU|u;$l)oT;W^gu0x$6jRlLDlG_Z*dy4Xe^yZD7Y z{KjAGFO6s_t7*-u=(6TCuPeH$MJ?;PR`j*j^qs!f5Bk%BcEV*0eA7!?vttZR=Uzc5L855BUKf^+SHxkNB8}J>pRx_X$7gaX&g7 RWCMZ!v~@5yB(7n+_79#lr%wO? delta 20877 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 From 1e0a77b8e464d40dd4ef887e3a0fdbdec30139c5 Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Thu, 10 Jun 2021 16:34:10 +0900 Subject: [PATCH 18/46] =?UTF-8?q?Fix:=20#3=20GitHub=20=EB=A1=9C=EA=B7=B8?= =?UTF-8?q?=EC=9D=B8=20=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UserInterfaceState.xcuserstate | Bin 49146 -> 63901 bytes .../Base.lproj/Main.storyboard | 6 +++--- .../Data/Network/GitHubEndpoint.swift | 14 ++++++++------ .../Domain/Coordinator/Coordinator.swift | 5 ++++- .../Coordinator/LoginFlowCoordinator.swift | 4 +--- .../issueTrackerApp/Info.plist | 13 +++++++++++++ .../Presentation/MainTabBarController.swift | 7 ++++++- .../issueTrackerApp/SceneDelegate.swift | 6 +++++- 8 files changed, 40 insertions(+), 15 deletions(-) diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate index bdc130d7556d658552b280a4f43d16e510a86cba..17e8d327cb4fd33cbca25ab478b7753466ba2e26 100644 GIT binary patch literal 63901 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 BJ5&Gw delta 24195 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 - + @@ -200,10 +200,10 @@ - + - + diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/GitHubEndpoint.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/GitHubEndpoint.swift index 1521bc620..1ed873fe4 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/GitHubEndpoint.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/GitHubEndpoint.swift @@ -10,22 +10,23 @@ import Foundation struct GitHubEndpoint { struct FieldNames { static let state = "state" - static let clientID = "95b344e62e5f1112ab47" - static let clientSecret = "dc838c3ec19ff9b748825c26a187045f7ad5cbda" + static let clientID = "client_id" + static let clientSecret = "client_secret" + static let redirectURI = "redirect_uri" static let authorizationCode = "code" static let page = "page" static let scope = "scope" } - static let clientID = "95b344e62e5f1112ab47" - static let clientSecret = "dc838c3ec19ff9b748825c26a187045f7ad5cbda" + static let clientID = "536d7504b702d01b8910" + static let clientSecret = "8473cd9ac4bb16ef2156ed80b89646d09d4db01f" static let scope = "user" - static let authorizationCallbackURLScheme = "issueTrackerApp://" + static let authorizationCallbackURLScheme = "issuetarcker://issuetarcker" static let accessTokenURL = URL(string: "https://github.com/login/oauth/access_token")! static let serverURL = URL(string: "https://github.com")! static let authorizationURL = URL(string: "https://github.com/login/oauth/authorize")! static let signOutURL = URL(string: "https://github.com/logout")! - static let apiRootURL = URL(string: "https://api.github.com")! + static let apiRootURL = URL(string: "https://api.github.com")! static func authorizationUrl(with state: String) -> URL { var urlComponents = URLComponents(url: GitHubEndpoint.authorizationURL, resolvingAgainstBaseURL: false)! @@ -34,6 +35,7 @@ struct GitHubEndpoint { URLQueryItem(name: FieldNames.state, value: state), URLQueryItem(name: FieldNames.scope, value: GitHubEndpoint.scope) ] + return urlComponents.url! } } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift index d6f7f211f..afbf80e19 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift @@ -25,12 +25,15 @@ protocol Networked: class { } class MainFlowCoordinator: NSObject { + let mainTabBarController: MainTabBarController let keyChainController = KeychainController() let loginFlowCoordinator = LoginFlowCoordinator() - override init() { + init(mainViewController: MainTabBarController) { + self.mainTabBarController = mainViewController super.init() loginFlowCoordinator.parent = self + configure(viewController: mainViewController) } } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/LoginFlowCoordinator.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/LoginFlowCoordinator.swift index fb1eb1700..822f40d61 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/LoginFlowCoordinator.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/LoginFlowCoordinator.swift @@ -20,14 +20,12 @@ class LoginFlowCoordinator { } self.loginViewController = loginViewController configure(viewController: loginViewController) - loginViewController.modalTransitionStyle = isAppLaunch ? .crossDissolve : .coverVertical viewController.present(loginViewController, animated: !isAppLaunch, completion: nil) } func loginViewController(_ viewController: LoginViewController, didStartAuthorizationWithState state: String) { let url = GitHubEndpoint.authorizationUrl(with: state) - print("URL", url) - authenticationSession = ASWebAuthenticationSession(url: url, callbackURLScheme: nil, completionHandler: { [weak self] (callbackURL, error) in + authenticationSession = ASWebAuthenticationSession(url: url, callbackURLScheme: GitHubEndpoint.authorizationCallbackURLScheme, completionHandler: { [weak self] (callbackURL, error) in self?.authenticationSession = nil if let authorizationCode = callbackURL?.authorizationCode { viewController.performAuthorization(with: authorizationCode) diff --git a/iOS/issueTrackerApp/issueTrackerApp/Info.plist b/iOS/issueTrackerApp/issueTrackerApp/Info.plist index 5b531f7b2..4ebff5387 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Info.plist +++ b/iOS/issueTrackerApp/issueTrackerApp/Info.plist @@ -16,6 +16,19 @@ $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString 1.0 + CFBundleURLTypes + + + CFBundleTypeRole + Editor + CFBundleURLName + com.zombietux.issueTrackerApp + CFBundleURLSchemes + + issuetarcker://issuetarcker + + + CFBundleVersion 1 LSRequiresIPhoneOS diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/MainTabBarController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/MainTabBarController.swift index 2639c7604..21188bbe3 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/MainTabBarController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/MainTabBarController.swift @@ -14,8 +14,13 @@ class MainTabBarController: UITabBarController, Networked, MainCoordinated, Logi override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) - if (!networkController!.isClientAuthenticated) { + guard (networkController?.isClientAuthenticated ?? true) else { loginCoordinator?.mainViewControllerRequiresAuthentication(self, isAppLaunch: true) + return } } + + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { + loginCoordinator?.configure(viewController: segue.destination) + } } diff --git a/iOS/issueTrackerApp/issueTrackerApp/SceneDelegate.swift b/iOS/issueTrackerApp/issueTrackerApp/SceneDelegate.swift index 3322bf8d1..61efacde2 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/SceneDelegate.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/SceneDelegate.swift @@ -10,9 +10,13 @@ import UIKit class SceneDelegate: UIResponder, UIWindowSceneDelegate { var window: UIWindow? - + var coordinator: MainFlowCoordinator? func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { + + if let initialViewController = window?.rootViewController as? MainTabBarController { + coordinator = MainFlowCoordinator(mainViewController: initialViewController) + } guard let _ = (scene as? UIWindowScene) else { return } } From 5a95c0d64274aba2667f0f1ea928922c62e2f5d2 Mon Sep 17 00:00:00 2001 From: JUNGYUN-Daegu/JUNGYUN-Daegu/jungyun Date: Tue, 8 Jun 2021 17:34:19 +0900 Subject: [PATCH 19/46] =?UTF-8?q?Implement:=20#8=20Bar=20Button,=20SearchC?= =?UTF-8?q?ontroller=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Issue/IssueViewController.swift | 41 +++++++++++++++++++ .../issueTrackerApp.xcodeproj/project.pbxproj | 12 ++++++ .../Issue/IssueViewController.swift | 29 +++++++++++++ .../Base.lproj/Issue.storyboard | 7 +++- 4 files changed, 87 insertions(+), 2 deletions(-) create mode 100644 iOS/issueTrackerApp/ViewController/Issue/IssueViewController.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Presentation/Issue/IssueViewController.swift diff --git a/iOS/issueTrackerApp/ViewController/Issue/IssueViewController.swift b/iOS/issueTrackerApp/ViewController/Issue/IssueViewController.swift new file mode 100644 index 000000000..beeb8fb06 --- /dev/null +++ b/iOS/issueTrackerApp/ViewController/Issue/IssueViewController.swift @@ -0,0 +1,41 @@ +// +// IssueViewController.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/08. +// + +import UIKit + +class IssueViewController: UIViewController { + + let searchController = UISearchController(searchResultsController: nil) + var filteredIssue: [String] = [] + var isSearchBarEmpty: Bool { + return searchController.searchBar.text?.isEmpty ?? true + } + var isFiltering: Bool { + return searchController.isActive && !isSearchBarEmpty + } + + override func viewDidLoad() { + super.viewDidLoad() + + print("a") + searchController.obscuresBackgroundDuringPresentation = false + searchController.searchBar.placeholder = "Search" + navigationItem.searchController = searchController + definesPresentationContext = true + + searchController.searchResultsUpdater = self + + } + +} + +extension IssueViewController: UISearchResultsUpdating { + + func updateSearchResults(for searchController: UISearchController) { + } + +} diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj index c583539e5..6a2fe572d 100644 --- a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj @@ -12,6 +12,7 @@ 883F5161266F505E0055EC9E /* Label.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 883F5160266F505E0055EC9E /* Label.storyboard */; }; 883F516A266F508B0055EC9E /* Milestones.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 883F5168266F508B0055EC9E /* Milestones.storyboard */; }; 883F5172266F50A40055EC9E /* Setting.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 883F5171266F50A40055EC9E /* Setting.storyboard */; }; + 883F5185266F5F090055EC9E /* IssueViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 883F5184266F5F090055EC9E /* IssueViewController.swift */; }; 930FAE86266E112700422968 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE85266E112700422968 /* AppDelegate.swift */; }; 930FAE88266E112700422968 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE87266E112700422968 /* SceneDelegate.swift */; }; 930FAE8D266E112700422968 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 930FAE8B266E112700422968 /* Main.storyboard */; }; @@ -54,6 +55,7 @@ 883F5160266F505E0055EC9E /* Label.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Label.storyboard; sourceTree = ""; }; 883F5169266F508B0055EC9E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = issueTrackerApp/Base.lproj/Milestones.storyboard; sourceTree = ""; }; 883F5171266F50A40055EC9E /* Setting.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Setting.storyboard; sourceTree = ""; }; + 883F5184266F5F090055EC9E /* IssueViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = IssueViewController.swift; path = ViewController/Issue/IssueViewController.swift; sourceTree = SOURCE_ROOT; }; 930FAE82266E112700422968 /* issueTrackerApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = issueTrackerApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 930FAE85266E112700422968 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 930FAE87266E112700422968 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; @@ -111,6 +113,14 @@ path = Login; sourceTree = ""; }; + 883F5182266F5EE80055EC9E /* Issue */ = { + isa = PBXGroup; + children = ( + 883F5184266F5F090055EC9E /* IssueViewController.swift */, + ); + path = Issue; + sourceTree = ""; + }; 930FAE79266E112700422968 = { isa = PBXGroup; children = ( @@ -253,6 +263,7 @@ isa = PBXGroup; children = ( 883F514F266F3F060055EC9E /* Login */, + 883F5182266F5EE80055EC9E /* Issue */, ); path = ViewController; sourceTree = ""; @@ -445,6 +456,7 @@ 9343E2D8266F03E90086F977 /* NetworkController.swift in Sources */, 9343E2F2266F5CC70086F977 /* Coordinator.swift in Sources */, 9343E300266F603C0086F977 /* AccessTokenRequest.swift in Sources */, + 883F5185266F5F090055EC9E /* IssueViewController.swift in Sources */, 930FAE88266E112700422968 /* SceneDelegate.swift in Sources */, 9343E2CA266EF9CD0086F977 /* KeychainController.swift in Sources */, ); diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/Issue/IssueViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/Issue/IssueViewController.swift new file mode 100644 index 000000000..5a7eacdba --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/Issue/IssueViewController.swift @@ -0,0 +1,29 @@ +// +// IssueViewController.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/08. +// + +import UIKit + +class IssueViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + + // Do any additional setup after loading the view. + } + + + /* + // MARK: - Navigation + + // In a storyboard-based application, you will often want to do a little preparation before navigation + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { + // Get the new view controller using segue.destination. + // Pass the selected object to the new view controller. + } + */ + +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard index f35af27c3..b7d5623db 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard +++ b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard @@ -11,14 +11,17 @@ - + - + + + + From 5f29c68b86f3d3676b766df7a630b2094850e129 Mon Sep 17 00:00:00 2001 From: JUNGYUN-Daegu/JUNGYUN-Daegu/jungyun Date: Thu, 10 Jun 2021 10:44:26 +0900 Subject: [PATCH 20/46] =?UTF-8?q?Implement:=20#8=20=ED=85=8C=EC=9D=B4?= =?UTF-8?q?=EB=B8=94=20=EB=B7=B0=20=EB=B0=8F=20=EC=85=80=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewController/Issue/IssueCell.swift | 40 +++++++++ .../ViewController/Issue/IssueCell.xib | 83 +++++++++++++++++++ .../Issue/IssueViewController.swift | 34 +++++++- .../ViewController/Issue/TagLabel.swift | 72 ++++++++++++++++ .../ViewController/Issue/TagStackView.swift | 17 ++++ .../issueTrackerApp.xcodeproj/project.pbxproj | 20 +++++ .../issueTrackerApp/UIColorExtension.swift | 50 +++++++++++ .../Base.lproj/Issue.storyboard | 15 ++++ 8 files changed, 327 insertions(+), 4 deletions(-) create mode 100644 iOS/issueTrackerApp/ViewController/Issue/IssueCell.swift create mode 100644 iOS/issueTrackerApp/ViewController/Issue/IssueCell.xib create mode 100644 iOS/issueTrackerApp/ViewController/Issue/TagLabel.swift create mode 100644 iOS/issueTrackerApp/ViewController/Issue/TagStackView.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/UIColorExtension.swift diff --git a/iOS/issueTrackerApp/ViewController/Issue/IssueCell.swift b/iOS/issueTrackerApp/ViewController/Issue/IssueCell.swift new file mode 100644 index 000000000..57ef89a70 --- /dev/null +++ b/iOS/issueTrackerApp/ViewController/Issue/IssueCell.swift @@ -0,0 +1,40 @@ +// +// IssueCell.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/09. +// + +import UIKit + +class IssueCell: UITableViewCell { + @IBOutlet weak var titleLabel: UILabel! + @IBOutlet weak var descriptionLabel: UILabel! + @IBOutlet weak var milestonesLabel: UILabel! + @IBOutlet weak var tagStackView: TagStackView! + + static var identifier: String { + return String(describing: self) + } + + static var nib: UINib { + return UINib(nibName: identifier, bundle: nil) + } + + override func awakeFromNib() { + super.awakeFromNib() + + } + + override func setSelected(_ selected: Bool, animated: Bool) { + super.setSelected(selected, animated: animated) + + // Configure the view for the selected state + } + + public func configure(_ issue: String? = nil) { + let tempTagLabel = TagLabel() + tempTagLabel.custom(title: "sdf", colorCode: "#f69e7b") + self.tagStackView.addTag(tagLabel: tempTagLabel) + } +} diff --git a/iOS/issueTrackerApp/ViewController/Issue/IssueCell.xib b/iOS/issueTrackerApp/ViewController/Issue/IssueCell.xib new file mode 100644 index 000000000..cab9ff1db --- /dev/null +++ b/iOS/issueTrackerApp/ViewController/Issue/IssueCell.xib @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/issueTrackerApp/ViewController/Issue/IssueViewController.swift b/iOS/issueTrackerApp/ViewController/Issue/IssueViewController.swift index beeb8fb06..b3bb186e3 100644 --- a/iOS/issueTrackerApp/ViewController/Issue/IssueViewController.swift +++ b/iOS/issueTrackerApp/ViewController/Issue/IssueViewController.swift @@ -9,6 +9,8 @@ import UIKit class IssueViewController: UIViewController { + @IBOutlet weak var issueTableView: UITableView! + let searchController = UISearchController(searchResultsController: nil) var filteredIssue: [String] = [] var isSearchBarEmpty: Bool { @@ -20,15 +22,26 @@ class IssueViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() - - print("a") + searchController.obscuresBackgroundDuringPresentation = false searchController.searchBar.placeholder = "Search" - navigationItem.searchController = searchController definesPresentationContext = true - +// navigationItem.searchController = searchController searchController.searchResultsUpdater = self + print("aa") + configureTableView() + } + + override func viewDidAppear(_ animated: Bool) { + super.viewDidAppear(animated) + + navigationItem.searchController = searchController + } + + private func configureTableView() { + self.issueTableView.register(IssueCell.nib, forCellReuseIdentifier: IssueCell.identifier) + self.issueTableView.dataSource = self } } @@ -39,3 +52,16 @@ extension IssueViewController: UISearchResultsUpdating { } } + +extension IssueViewController: UITableViewDataSource { + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return 3 + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = self.issueTableView.dequeueReusableCell(withIdentifier: IssueCell.identifier) as! IssueCell + cell.configure() + return cell + } + +} diff --git a/iOS/issueTrackerApp/ViewController/Issue/TagLabel.swift b/iOS/issueTrackerApp/ViewController/Issue/TagLabel.swift new file mode 100644 index 000000000..dc812c87d --- /dev/null +++ b/iOS/issueTrackerApp/ViewController/Issue/TagLabel.swift @@ -0,0 +1,72 @@ +// +// TagLabel.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/09. +// + +import UIKit + +class TagLabel: UILabel { + + init() { + super.init(frame: .zero) + self.layer.cornerRadius = 10 + self.layer.masksToBounds = true + } + + required init?(coder: NSCoder) { + super.init(coder: coder) + assertionFailure("Init with coder should not be called") + } + + public func custom(title: String, colorCode: String) { + self.text = title + self.backgroundColor = UIColor.hexString2UIColor(hexString: colorCode) + self.textColor = .white + } + + public func openIssue(of number: Int) { + let textColor = UIColor.hexString2UIColor(hexString: "#04009a") ?? .red + let backgroundColor = UIColor.hexString2UIColor(hexString: "#c0fefc") + + let font = UIFont.systemFont(ofSize: 30) + let attributes: [NSAttributedString.Key: Any] = [ + .font: font, + .foregroundColor: textColor, + ] + + let fullString = NSMutableAttributedString(string: "", attributes: attributes) + let imageAttachment = NSTextAttachment() + imageAttachment.image = UIImage(systemName: "exclamationmark.circle") + let imageString = NSAttributedString(attachment: imageAttachment) + fullString.append(imageString) + fullString.append(NSAttributedString(string: "열린 이슈 \(number)개")) + + self.backgroundColor = backgroundColor + self.layer.borderWidth = 1 + self.layer.borderColor = textColor.cgColor + } + + public func closedIssue(of number: Int) { + let textColor = UIColor.hexString2UIColor(hexString: "#3b14a7") ?? .red + let backgroundColor = UIColor.hexString2UIColor(hexString: "#ac66cc") + + let font = UIFont.systemFont(ofSize: 30) + let attributes: [NSAttributedString.Key: Any] = [ + .font: font, + .foregroundColor: textColor, + ] + + let fullString = NSMutableAttributedString(string: "", attributes: attributes) + let imageAttachment = NSTextAttachment() + imageAttachment.image = UIImage(systemName: "archivebox") + let imageString = NSAttributedString(attachment: imageAttachment) + fullString.append(imageString) + fullString.append(NSAttributedString(string: "닫힌 이슈 \(number)개")) + + self.backgroundColor = backgroundColor + self.layer.borderWidth = 1 + self.layer.borderColor = textColor.cgColor + } +} diff --git a/iOS/issueTrackerApp/ViewController/Issue/TagStackView.swift b/iOS/issueTrackerApp/ViewController/Issue/TagStackView.swift new file mode 100644 index 000000000..f6a16412e --- /dev/null +++ b/iOS/issueTrackerApp/ViewController/Issue/TagStackView.swift @@ -0,0 +1,17 @@ +// +// TagStackView.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/09. +// + +import UIKit + +class TagStackView: UIStackView { + + public func addTag(tagLabel: UILabel) { + tagLabel.translatesAutoresizingMaskIntoConstraints = false + self.addArrangedSubview(tagLabel) + } + +} diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj index 6a2fe572d..c9e42aa03 100644 --- a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj @@ -13,6 +13,11 @@ 883F516A266F508B0055EC9E /* Milestones.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 883F5168266F508B0055EC9E /* Milestones.storyboard */; }; 883F5172266F50A40055EC9E /* Setting.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 883F5171266F50A40055EC9E /* Setting.storyboard */; }; 883F5185266F5F090055EC9E /* IssueViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 883F5184266F5F090055EC9E /* IssueViewController.swift */; }; + 883F519E2670940E0055EC9E /* IssueCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 883F519C2670940E0055EC9E /* IssueCell.swift */; }; + 883F519F2670940E0055EC9E /* IssueCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 883F519D2670940E0055EC9E /* IssueCell.xib */; }; + 883F51A42670AAAB0055EC9E /* TagStackView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 883F51A32670AAAB0055EC9E /* TagStackView.swift */; }; + 883F51A92670ABDC0055EC9E /* TagLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 883F51A82670ABDC0055EC9E /* TagLabel.swift */; }; + 883F51AE2670B2F70055EC9E /* UIColorExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 883F51AD2670B2F70055EC9E /* UIColorExtension.swift */; }; 930FAE86266E112700422968 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE85266E112700422968 /* AppDelegate.swift */; }; 930FAE88266E112700422968 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE87266E112700422968 /* SceneDelegate.swift */; }; 930FAE8D266E112700422968 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 930FAE8B266E112700422968 /* Main.storyboard */; }; @@ -56,6 +61,11 @@ 883F5169266F508B0055EC9E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = issueTrackerApp/Base.lproj/Milestones.storyboard; sourceTree = ""; }; 883F5171266F50A40055EC9E /* Setting.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Setting.storyboard; sourceTree = ""; }; 883F5184266F5F090055EC9E /* IssueViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = IssueViewController.swift; path = ViewController/Issue/IssueViewController.swift; sourceTree = SOURCE_ROOT; }; + 883F519C2670940E0055EC9E /* IssueCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = IssueCell.swift; path = ViewController/Issue/IssueCell.swift; sourceTree = SOURCE_ROOT; }; + 883F519D2670940E0055EC9E /* IssueCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = IssueCell.xib; path = ViewController/Issue/IssueCell.xib; sourceTree = SOURCE_ROOT; }; + 883F51A32670AAAB0055EC9E /* TagStackView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TagStackView.swift; path = ViewController/Issue/TagStackView.swift; sourceTree = SOURCE_ROOT; }; + 883F51A82670ABDC0055EC9E /* TagLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TagLabel.swift; path = ViewController/Issue/TagLabel.swift; sourceTree = SOURCE_ROOT; }; + 883F51AD2670B2F70055EC9E /* UIColorExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIColorExtension.swift; sourceTree = ""; }; 930FAE82266E112700422968 /* issueTrackerApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = issueTrackerApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 930FAE85266E112700422968 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 930FAE87266E112700422968 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; @@ -117,6 +127,10 @@ isa = PBXGroup; children = ( 883F5184266F5F090055EC9E /* IssueViewController.swift */, + 883F519C2670940E0055EC9E /* IssueCell.swift */, + 883F519D2670940E0055EC9E /* IssueCell.xib */, + 883F51A32670AAAB0055EC9E /* TagStackView.swift */, + 883F51A82670ABDC0055EC9E /* TagLabel.swift */, ); path = Issue; sourceTree = ""; @@ -158,6 +172,7 @@ 930FAE8E266E112900422968 /* Assets.xcassets */, 930FAE90266E112900422968 /* LaunchScreen.storyboard */, 930FAE93266E112900422968 /* Info.plist */, + 883F51AD2670B2F70055EC9E /* UIColorExtension.swift */, ); path = issueTrackerApp; sourceTree = ""; @@ -423,6 +438,7 @@ 930FAE92266E112900422968 /* LaunchScreen.storyboard in Resources */, 930FAE8F266E112900422968 /* Assets.xcassets in Resources */, 930FAE8D266E112700422968 /* Main.storyboard in Resources */, + 883F519F2670940E0055EC9E /* IssueCell.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -453,12 +469,16 @@ 9343E30D266F90EF0086F977 /* LoginFlowCoordinator.swift in Sources */, 930FAE86266E112700422968 /* AppDelegate.swift in Sources */, 9343E305266F60B50086F977 /* NetworkRequest.swift in Sources */, + 883F51A42670AAAB0055EC9E /* TagStackView.swift in Sources */, + 883F519E2670940E0055EC9E /* IssueCell.swift in Sources */, 9343E2D8266F03E90086F977 /* NetworkController.swift in Sources */, 9343E2F2266F5CC70086F977 /* Coordinator.swift in Sources */, 9343E300266F603C0086F977 /* AccessTokenRequest.swift in Sources */, 883F5185266F5F090055EC9E /* IssueViewController.swift in Sources */, 930FAE88266E112700422968 /* SceneDelegate.swift in Sources */, + 883F51AE2670B2F70055EC9E /* UIColorExtension.swift in Sources */, 9343E2CA266EF9CD0086F977 /* KeychainController.swift in Sources */, + 883F51A92670ABDC0055EC9E /* TagLabel.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/iOS/issueTrackerApp/issueTrackerApp/UIColorExtension.swift b/iOS/issueTrackerApp/issueTrackerApp/UIColorExtension.swift new file mode 100644 index 000000000..b5762e7c3 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/UIColorExtension.swift @@ -0,0 +1,50 @@ +// +// UIColorExtension.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/09. +// + +import UIKit + +extension UIColor { + + static func splitHexColorCode(hexColorString: String) -> [String]? { + let array = Array(hexColorString) + var result = [String]() + + if array.count == 7 { + result.append(String(array[0])) + result.append("\(array[1])\(array[2])") + result.append("\(array[3])\(array[4])") + result.append("\(array[5])\(array[6])") + return result + + } else if array.count == 4 { + result.append(String(array[0])) + result.append("\(array[1])\(array[1])") + result.append("\(array[2])\(array[2])") + result.append("\(array[3])\(array[3])") + return result + } else { + return nil + } + } + + static func hexString2CGFloat(hexString: String) -> CGFloat { + let scanner = Scanner(string: hexString) + var intValue: UInt64 = 0 + scanner.scanHexInt64(&intValue) + return CGFloat(CGFloat(intValue) / 255.0) + } + + static func hexString2UIColor(hexString: String) -> UIColor? { + if let hexStrings = splitHexColorCode(hexColorString: hexString) { + let r = hexString2CGFloat(hexString: hexStrings[1]) + let g = hexString2CGFloat(hexString: hexStrings[2]) + let b = hexString2CGFloat(hexString: hexStrings[3]) + return UIColor(red: r, green: g, blue: b, alpha: 1.0) + } + return nil + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard index b7d5623db..21a49165b 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard +++ b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard @@ -15,13 +15,28 @@ + + + + + + + + + + + + + + + From c0e870402634bc87028dc90adcb012f29de8f9d0 Mon Sep 17 00:00:00 2001 From: JUNGYUN-Daegu/JUNGYUN-Daegu/jungyun Date: Thu, 10 Jun 2021 11:07:28 +0900 Subject: [PATCH 21/46] =?UTF-8?q?Fix:=20#8=20IssueCell=20UI=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20=EB=B0=8F=20=EC=85=80=20config=20=EB=A9=94=EC=84=9C?= =?UTF-8?q?=EB=93=9C=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewController/Issue/IssueCell.swift | 34 ++++++++++++++++--- .../ViewController/Issue/IssueCell.xib | 6 ++-- .../Issue/IssueViewController.swift | 2 +- 3 files changed, 33 insertions(+), 9 deletions(-) diff --git a/iOS/issueTrackerApp/ViewController/Issue/IssueCell.swift b/iOS/issueTrackerApp/ViewController/Issue/IssueCell.swift index 57ef89a70..4fdd7318b 100644 --- a/iOS/issueTrackerApp/ViewController/Issue/IssueCell.swift +++ b/iOS/issueTrackerApp/ViewController/Issue/IssueCell.swift @@ -23,18 +23,42 @@ class IssueCell: UITableViewCell { override func awakeFromNib() { super.awakeFromNib() - } override func setSelected(_ selected: Bool, animated: Bool) { super.setSelected(selected, animated: animated) - - // Configure the view for the selected state } - public func configure(_ issue: String? = nil) { + // will fetch issue data type from server later on + public func configureAll(_ issue: String? = nil) { + self.configureTitleLabel(with: issue) + self.configureDescriptionLabel(with: issue) + self.configureMileStonesLabel(with: issue) + self.configureTagLabelStack(with: issue) + } + + private func configureTitleLabel(with issue: String? = nil) { + self.titleLabel.text = "issue.title" + } + + private func configureDescriptionLabel(with issue: String? = nil) { + self.descriptionLabel.text = "issue.description" + } + + private func configureMileStonesLabel(with issue: String? = nil) { + let fullString = NSMutableAttributedString(string: "") + let imageAttachment = NSTextAttachment() + imageAttachment.image = UIImage(systemName: "exclamationmark.circle") + let imageString = NSAttributedString(attachment: imageAttachment) + fullString.append(imageString) + fullString.append(NSAttributedString(string: "issue.mileStoneName")) + + self.milestonesLabel.attributedText = fullString + } + + private func configureTagLabelStack(with issue: String? = nil) { let tempTagLabel = TagLabel() - tempTagLabel.custom(title: "sdf", colorCode: "#f69e7b") + tempTagLabel.custom(title: " issue.tagTitle ", colorCode: "#f69e7b") self.tagStackView.addTag(tagLabel: tempTagLabel) } } diff --git a/iOS/issueTrackerApp/ViewController/Issue/IssueCell.xib b/iOS/issueTrackerApp/ViewController/Issue/IssueCell.xib index cab9ff1db..1d71e9bd2 100644 --- a/iOS/issueTrackerApp/ViewController/Issue/IssueCell.xib +++ b/iOS/issueTrackerApp/ViewController/Issue/IssueCell.xib @@ -24,13 +24,13 @@ From 01c5c48629c41f02583e14bb32f47ea4becf7920 Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Thu, 10 Jun 2021 17:36:51 +0900 Subject: [PATCH 24/46] =?UTF-8?q?Fix:=20#3=20GitHub=20=EB=A1=9C=EA=B7=B8?= =?UTF-8?q?=EC=9D=B8=EC=95=88=EB=90=98=EB=8D=98=20=EC=97=90=EB=9F=AC=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UserInterfaceState.xcuserstate | Bin 63901 -> 62772 bytes .../Data/Network/GitHubEndpoint.swift | 2 +- .../Coordinator/LoginFlowCoordinator.swift | 20 ++++++++++++------ .../issueTrackerApp/Info.plist | 2 +- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate index 17e8d327cb4fd33cbca25ab478b7753466ba2e26..79760882f3550fcecac07d4298e19a0972cfa166 100644 GIT binary patch delta 26542 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 delta 27315 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 ASPresentationAnchor { + return ASPresentationAnchor() + } + weak var parent: Coordinator? weak var loginViewController: UIViewController? private var authenticationSession: ASWebAuthenticationSession? @@ -25,13 +29,17 @@ class LoginFlowCoordinator { func loginViewController(_ viewController: LoginViewController, didStartAuthorizationWithState state: String) { let url = GitHubEndpoint.authorizationUrl(with: state) - authenticationSession = ASWebAuthenticationSession(url: url, callbackURLScheme: GitHubEndpoint.authorizationCallbackURLScheme, completionHandler: { [weak self] (callbackURL, error) in - self?.authenticationSession = nil - if let authorizationCode = callbackURL?.authorizationCode { + + let session = ASWebAuthenticationSession(url: url, callbackURLScheme: GitHubEndpoint.authorizationCallbackURLScheme) + { callbackURL, error in + guard error == nil, let callbackURL = callbackURL else { return } + + if let authorizationCode = callbackURL.authorizationCode { viewController.performAuthorization(with: authorizationCode) } - }) - authenticationSession?.start() + } + session.presentationContextProvider = self + session.start() } func loginViewControllerDidFinishAuthorization() { diff --git a/iOS/issueTrackerApp/issueTrackerApp/Info.plist b/iOS/issueTrackerApp/issueTrackerApp/Info.plist index 4ebff5387..73401050a 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Info.plist +++ b/iOS/issueTrackerApp/issueTrackerApp/Info.plist @@ -25,7 +25,7 @@ com.zombietux.issueTrackerApp CFBundleURLSchemes - issuetarcker://issuetarcker + issuetracker From e02e300eaee72fbe4f95f6822682965bbdc1becf Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Thu, 10 Jun 2021 18:02:27 +0900 Subject: [PATCH 25/46] =?UTF-8?q?Chore:=20#23=20=ED=8C=8C=EC=9D=BC=20?= =?UTF-8?q?=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../issueTrackerApp.xcodeproj/project.pbxproj | 76 ++++++++++++++---- .../UserInterfaceState.xcuserstate | Bin 62772 -> 86396 bytes .../{ => OAuth/Endpoint}/GitHubEndpoint.swift | 0 .../Requests/AccessTokenRequest.swift | 0 .../{ => OAuth}/Requests/NetworkRequest.swift | 0 .../OAuth}/KeychainController.swift | 0 .../{ => OAuth}/NetworkController.swift | 0 .../UI/UIControl}/CustomBarButtonItem.swift | 0 .../UI/UIView}/Issue/IssueCell.swift | 0 .../UI/UIView}/Issue/IssueCell.xib | 0 .../UI/UIView}/Issue/TagLabel.swift | 0 .../UI/UIView}/Issue/TagStackView.swift | 0 12 files changed, 62 insertions(+), 14 deletions(-) rename iOS/issueTrackerApp/issueTrackerApp/Data/Network/{ => OAuth/Endpoint}/GitHubEndpoint.swift (100%) rename iOS/issueTrackerApp/issueTrackerApp/Data/Network/{ => OAuth}/Requests/AccessTokenRequest.swift (100%) rename iOS/issueTrackerApp/issueTrackerApp/Data/Network/{ => OAuth}/Requests/NetworkRequest.swift (100%) rename iOS/issueTrackerApp/issueTrackerApp/Data/{ => Repository/OAuth}/KeychainController.swift (100%) rename iOS/issueTrackerApp/issueTrackerApp/Data/Repository/{ => OAuth}/NetworkController.swift (100%) rename iOS/issueTrackerApp/{ViewController/Issue => issueTrackerApp/Presentation/UI/UIControl}/CustomBarButtonItem.swift (100%) rename iOS/issueTrackerApp/{ViewController => issueTrackerApp/Presentation/UI/UIView}/Issue/IssueCell.swift (100%) rename iOS/issueTrackerApp/{ViewController => issueTrackerApp/Presentation/UI/UIView}/Issue/IssueCell.xib (100%) rename iOS/issueTrackerApp/{ViewController => issueTrackerApp/Presentation/UI/UIView}/Issue/TagLabel.swift (100%) rename iOS/issueTrackerApp/{ViewController => issueTrackerApp/Presentation/UI/UIView}/Issue/TagStackView.swift (100%) diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj index 0e3e5bb5c..0a50976f1 100644 --- a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj @@ -66,12 +66,12 @@ 883F5169266F508B0055EC9E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = issueTrackerApp/Base.lproj/Milestones.storyboard; sourceTree = ""; }; 883F5171266F50A40055EC9E /* Setting.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Setting.storyboard; sourceTree = ""; }; 883F5184266F5F090055EC9E /* IssueViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = IssueViewController.swift; path = ViewController/Issue/IssueViewController.swift; sourceTree = SOURCE_ROOT; }; - 883F519C2670940E0055EC9E /* IssueCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = IssueCell.swift; path = ViewController/Issue/IssueCell.swift; sourceTree = SOURCE_ROOT; }; - 883F519D2670940E0055EC9E /* IssueCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = IssueCell.xib; path = ViewController/Issue/IssueCell.xib; sourceTree = SOURCE_ROOT; }; - 883F51A32670AAAB0055EC9E /* TagStackView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TagStackView.swift; path = ViewController/Issue/TagStackView.swift; sourceTree = SOURCE_ROOT; }; - 883F51A82670ABDC0055EC9E /* TagLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TagLabel.swift; path = ViewController/Issue/TagLabel.swift; sourceTree = SOURCE_ROOT; }; + 883F519C2670940E0055EC9E /* IssueCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = IssueCell.swift; path = "issueTrackerApp/Presentation/UI/UIView/New Group/IssueCell.swift"; sourceTree = SOURCE_ROOT; }; + 883F519D2670940E0055EC9E /* IssueCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = IssueCell.xib; path = "issueTrackerApp/Presentation/UI/UIView/New Group/IssueCell.xib"; sourceTree = SOURCE_ROOT; }; + 883F51A32670AAAB0055EC9E /* TagStackView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TagStackView.swift; path = "issueTrackerApp/Presentation/UI/UIView/New Group/TagStackView.swift"; sourceTree = SOURCE_ROOT; }; + 883F51A82670ABDC0055EC9E /* TagLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TagLabel.swift; path = "issueTrackerApp/Presentation/UI/UIView/New Group/TagLabel.swift"; sourceTree = SOURCE_ROOT; }; 883F51AD2670B2F70055EC9E /* UIColorExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIColorExtension.swift; sourceTree = ""; }; - 883F51B52671E1710055EC9E /* CustomBarButtonItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = CustomBarButtonItem.swift; path = ViewController/Issue/CustomBarButtonItem.swift; sourceTree = SOURCE_ROOT; }; + 883F51B52671E1710055EC9E /* CustomBarButtonItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = CustomBarButtonItem.swift; path = issueTrackerApp/Presentation/UI/UIControl/CustomBarButtonItem.swift; sourceTree = SOURCE_ROOT; }; 883F51C6267200EA0055EC9E /* Issue.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Issue.swift; path = ViewController/Issue/Issue.swift; sourceTree = SOURCE_ROOT; }; 883F51CB2672041A0055EC9E /* Milestones.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Milestones.swift; path = ViewController/Issue/Milestones.swift; sourceTree = SOURCE_ROOT; }; 883F51D3267204520055EC9E /* LabelModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LabelModel.swift; path = ViewController/Issue/LabelModel.swift; sourceTree = SOURCE_ROOT; }; @@ -137,11 +137,6 @@ isa = PBXGroup; children = ( 883F5184266F5F090055EC9E /* IssueViewController.swift */, - 883F519C2670940E0055EC9E /* IssueCell.swift */, - 883F519D2670940E0055EC9E /* IssueCell.xib */, - 883F51A32670AAAB0055EC9E /* TagStackView.swift */, - 883F51A82670ABDC0055EC9E /* TagLabel.swift */, - 883F51B52671E1710055EC9E /* CustomBarButtonItem.swift */, ); path = Issue; sourceTree = ""; @@ -212,7 +207,6 @@ 930FAEB9266E116300422968 /* Network */, 930FAEBA266E11BA00422968 /* Storage */, 930FAEBB266E126100422968 /* Repository */, - 9343E2C9266EF9CD0086F977 /* KeychainController.swift */, ); path = Data; sourceTree = ""; @@ -220,8 +214,8 @@ 930FAEB9266E116300422968 /* Network */ = { isa = PBXGroup; children = ( - 9343E2D2266EFBA70086F977 /* GitHubEndpoint.swift */, - 9343E2FE266F60320086F977 /* Requests */, + 931BADFE26720B7D00CD9244 /* Issue */, + 931BADFA26720B7200CD9244 /* OAuth */, ); path = Network; sourceTree = ""; @@ -236,7 +230,8 @@ 930FAEBB266E126100422968 /* Repository */ = { isa = PBXGroup; children = ( - 9343E2D7266F03E90086F977 /* NetworkController.swift */, + 931BAE0326720C0900CD9244 /* Issue */, + 931BADFF26720C0200CD9244 /* OAuth */, ); path = Repository; sourceTree = ""; @@ -301,6 +296,7 @@ 930FAEC2266E12C800422968 /* UIView */ = { isa = PBXGroup; children = ( + 931BAE0426720C1500CD9244 /* Issue */, ); path = UIView; sourceTree = ""; @@ -308,6 +304,7 @@ 930FAEC3266E12CF00422968 /* UIControl */ = { isa = PBXGroup; children = ( + 883F51B52671E1710055EC9E /* CustomBarButtonItem.swift */, ); path = UIControl; sourceTree = ""; @@ -319,6 +316,57 @@ path = ViewModel; sourceTree = ""; }; + 931BADF626720B6600CD9244 /* Endpoint */ = { + isa = PBXGroup; + children = ( + 9343E2D2266EFBA70086F977 /* GitHubEndpoint.swift */, + ); + path = Endpoint; + sourceTree = ""; + }; + 931BADFA26720B7200CD9244 /* OAuth */ = { + isa = PBXGroup; + children = ( + 931BADF626720B6600CD9244 /* Endpoint */, + 9343E2FE266F60320086F977 /* Requests */, + ); + path = OAuth; + sourceTree = ""; + }; + 931BADFE26720B7D00CD9244 /* Issue */ = { + isa = PBXGroup; + children = ( + ); + path = Issue; + sourceTree = ""; + }; + 931BADFF26720C0200CD9244 /* OAuth */ = { + isa = PBXGroup; + children = ( + 9343E2C9266EF9CD0086F977 /* KeychainController.swift */, + 9343E2D7266F03E90086F977 /* NetworkController.swift */, + ); + path = OAuth; + sourceTree = ""; + }; + 931BAE0326720C0900CD9244 /* Issue */ = { + isa = PBXGroup; + children = ( + ); + path = Issue; + sourceTree = ""; + }; + 931BAE0426720C1500CD9244 /* Issue */ = { + isa = PBXGroup; + children = ( + 883F519C2670940E0055EC9E /* IssueCell.swift */, + 883F519D2670940E0055EC9E /* IssueCell.xib */, + 883F51A32670AAAB0055EC9E /* TagStackView.swift */, + 883F51A82670ABDC0055EC9E /* TagLabel.swift */, + ); + path = Issue; + sourceTree = ""; + }; 9343E2F0266F5CBC0086F977 /* Coordinator */ = { isa = PBXGroup; children = ( diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate index 79760882f3550fcecac07d4298e19a0972cfa166..4223f57743bb8305e2c5702da00e4617a351e18d 100644 GIT binary patch literal 86396 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

LvDQ`eaZiB{2tFAJy2#Uf&0s6 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 B7_|TZ delta 31574 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 Te*OM8N8bAXaOeL=eEa_a-w~$E diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/GitHubEndpoint.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/OAuth/Endpoint/GitHubEndpoint.swift similarity index 100% rename from iOS/issueTrackerApp/issueTrackerApp/Data/Network/GitHubEndpoint.swift rename to iOS/issueTrackerApp/issueTrackerApp/Data/Network/OAuth/Endpoint/GitHubEndpoint.swift diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Requests/AccessTokenRequest.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/OAuth/Requests/AccessTokenRequest.swift similarity index 100% rename from iOS/issueTrackerApp/issueTrackerApp/Data/Network/Requests/AccessTokenRequest.swift rename to iOS/issueTrackerApp/issueTrackerApp/Data/Network/OAuth/Requests/AccessTokenRequest.swift diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Requests/NetworkRequest.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/OAuth/Requests/NetworkRequest.swift similarity index 100% rename from iOS/issueTrackerApp/issueTrackerApp/Data/Network/Requests/NetworkRequest.swift rename to iOS/issueTrackerApp/issueTrackerApp/Data/Network/OAuth/Requests/NetworkRequest.swift diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/KeychainController.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/KeychainController.swift similarity index 100% rename from iOS/issueTrackerApp/issueTrackerApp/Data/KeychainController.swift rename to iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/KeychainController.swift diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/NetworkController.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/NetworkController.swift similarity index 100% rename from iOS/issueTrackerApp/issueTrackerApp/Data/Repository/NetworkController.swift rename to iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/NetworkController.swift diff --git a/iOS/issueTrackerApp/ViewController/Issue/CustomBarButtonItem.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/UIControl/CustomBarButtonItem.swift similarity index 100% rename from iOS/issueTrackerApp/ViewController/Issue/CustomBarButtonItem.swift rename to iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/UIControl/CustomBarButtonItem.swift diff --git a/iOS/issueTrackerApp/ViewController/Issue/IssueCell.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/UIView/Issue/IssueCell.swift similarity index 100% rename from iOS/issueTrackerApp/ViewController/Issue/IssueCell.swift rename to iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/UIView/Issue/IssueCell.swift diff --git a/iOS/issueTrackerApp/ViewController/Issue/IssueCell.xib b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/UIView/Issue/IssueCell.xib similarity index 100% rename from iOS/issueTrackerApp/ViewController/Issue/IssueCell.xib rename to iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/UIView/Issue/IssueCell.xib diff --git a/iOS/issueTrackerApp/ViewController/Issue/TagLabel.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/UIView/Issue/TagLabel.swift similarity index 100% rename from iOS/issueTrackerApp/ViewController/Issue/TagLabel.swift rename to iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/UIView/Issue/TagLabel.swift diff --git a/iOS/issueTrackerApp/ViewController/Issue/TagStackView.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/UIView/Issue/TagStackView.swift similarity index 100% rename from iOS/issueTrackerApp/ViewController/Issue/TagStackView.swift rename to iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/UIView/Issue/TagStackView.swift From 211788fb780ff63b302a270b298d00abefeee863 Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Fri, 11 Jun 2021 11:50:16 +0900 Subject: [PATCH 26/46] =?UTF-8?q?Fix:=20#3=20GitHub=EB=A1=9C=EA=B7=B8?= =?UTF-8?q?=EC=9D=B8=20Mock=20API=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OAuth/Endpoint/GitHubEndpoint.swift | 11 ++++-- .../OAuth/Requests/AccessTokenRequest.swift | 39 +++++++++---------- .../Repository/OAuth/KeychainController.swift | 10 ++--- .../Repository/OAuth/NetworkController.swift | 21 ++++++---- 4 files changed, 43 insertions(+), 38 deletions(-) diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/OAuth/Endpoint/GitHubEndpoint.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/OAuth/Endpoint/GitHubEndpoint.swift index 5d89357b0..be7b5743f 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/OAuth/Endpoint/GitHubEndpoint.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/OAuth/Endpoint/GitHubEndpoint.swift @@ -14,25 +14,28 @@ struct GitHubEndpoint { static let clientSecret = "client_secret" static let redirectURI = "redirect_uri" static let authorizationCode = "code" + static let client = "ios" static let page = "page" static let scope = "scope" } - static let clientID = "536d7504b702d01b8910" + static let loginURL = "https://f88e009a-3e2b-4862-838e-1f2cde9b95ed.mock.pstmn.io/api/login/auth" + static let clientID = "34a66f51f68864c9adfd" static let clientSecret = "8473cd9ac4bb16ef2156ed80b89646d09d4db01f" static let scope = "user" - static let authorizationCallbackURLScheme = "issuetracker" + static let authorizationCallbackURLScheme = "issue-tracker" + static let redirectURI = "issue-tracker://login" static let accessTokenURL = URL(string: "https://github.com/login/oauth/access_token")! static let serverURL = URL(string: "https://github.com")! static let authorizationURL = URL(string: "https://github.com/login/oauth/authorize")! static let signOutURL = URL(string: "https://github.com/logout")! static let apiRootURL = URL(string: "https://api.github.com")! - static func authorizationUrl(with state: String) -> URL { + static func authorizationUrl() -> URL { var urlComponents = URLComponents(url: GitHubEndpoint.authorizationURL, resolvingAgainstBaseURL: false)! urlComponents.queryItems = [ URLQueryItem(name: FieldNames.clientID, value: GitHubEndpoint.clientID), - URLQueryItem(name: FieldNames.state, value: state), + URLQueryItem(name: FieldNames.redirectURI, value: GitHubEndpoint.redirectURI), URLQueryItem(name: FieldNames.scope, value: GitHubEndpoint.scope) ] diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/OAuth/Requests/AccessTokenRequest.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/OAuth/Requests/AccessTokenRequest.swift index 9b711a856..1fb9058ab 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/OAuth/Requests/AccessTokenRequest.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/OAuth/Requests/AccessTokenRequest.swift @@ -6,43 +6,40 @@ // import Foundation +import Alamofire -class AccessTokenRequest { - let state: String +class JWTRequest { + let client: String let authorizationCode: String let session = URLSession(configuration: .ephemeral, delegate: nil, delegateQueue: .main) var task: URLSessionDataTask? - init(authorizationCode: String, state: String) { + init(authorizationCode: String, client: String) { self.authorizationCode = authorizationCode - self.state = state + self.client = client } } // MARK: NetworkRequest -extension AccessTokenRequest: JSONDataRequest { +extension JWTRequest: JSONDataRequest { typealias ModelType = Authorization var urlRequest: URLRequest { - var request = URLRequest(url: GitHubEndpoint.accessTokenURL) - request.httpMethod = "POST" - request.addValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type") - request.addValue("application/json", forHTTPHeaderField: "Accept") - let parameters = "grant_type=authorization_code" - + "&\(GitHubEndpoint.FieldNames.clientID)=\(GitHubEndpoint.clientID)" - + "&\(GitHubEndpoint.FieldNames.clientSecret)=\(GitHubEndpoint.clientSecret)" - + "&\(GitHubEndpoint.FieldNames.authorizationCode)=\(authorizationCode)" - + "&\(GitHubEndpoint.FieldNames.state)=\(state)" - request.httpBody = parameters.data(using: .utf8) + let url = URL(string: GitHubEndpoint.loginURL)! + var urlComponents = URLComponents(url: url, resolvingAgainstBaseURL: false)! + urlComponents.queryItems = [ + URLQueryItem(name: GitHubEndpoint.FieldNames.authorizationCode, value: authorizationCode), + URLQueryItem(name: GitHubEndpoint.FieldNames.client, value: client) + ] + let headers: HTTPHeaders = [GitHubEndpoint.FieldNames.authorizationCode : authorizationCode] + + let request = try! URLRequest(url: urlComponents, method: .get, headers: headers) + return request } } // MARK: - AuthorizationResponse -struct Authorization: Decodable{ - enum CodingKeys: String, CodingKey { - case accessToken = "access_token" - } - - let accessToken: String +struct Authorization: Decodable { + let jwt: String } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/KeychainController.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/KeychainController.swift index 42d64950e..aa7489dc8 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/KeychainController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/KeychainController.swift @@ -10,7 +10,7 @@ import Foundation class KeychainController { private static let accountName = "AppUser" - func readAccessToken() -> String? { + func readJWT() -> String? { var query = tokenQuery query[kSecMatchLimit as String] = kSecMatchLimitOne query[kSecReturnAttributes as String] = true @@ -28,10 +28,10 @@ class KeychainController { return token } - func store(accessToken: String) { - let encodedToken = accessToken.data(using: .utf8)! + func store(jWT: String) { + let encodedToken = jWT.data(using: .utf8)! var query: [String: Any] = tokenQuery - if let _ = readAccessToken() { + if let _ = readJWT() { SecItemUpdate(query as CFDictionary, [kSecValueData as String: encodedToken] as CFDictionary) } else { query[kSecValueData as String] = encodedToken @@ -39,7 +39,7 @@ class KeychainController { } } - func deleteAccessToken() { + func deleteJWT() { SecItemDelete(tokenQuery as CFDictionary) } } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/NetworkController.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/NetworkController.swift index 0e9efbe21..04ec8d2c8 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/NetworkController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/NetworkController.swift @@ -16,23 +16,28 @@ class NetworkController { } var accessToken: String? { - return keychainController.readAccessToken() + return keychainController.readJWT() } var isClientAuthenticated: Bool { return accessToken != nil } - func authenticateWith(authorizationCode: String, state: String, completion: @escaping () -> Void) { - let accessTokenRequest = AccessTokenRequest(authorizationCode: authorizationCode, state: state) - let requestURL = accessTokenRequest.urlRequest.url! - requests[requestURL] = accessTokenRequest - accessTokenRequest.execute { (authorization) in - if let accessToken = authorization?.accessToken { - self.keychainController.store(accessToken: accessToken) + func authenticateWith(authorizationCode: String, client: String, completion: @escaping () -> Void) { + let jWTRequest = JWTRequest(authorizationCode: authorizationCode, client: client) + let requestURL = jWTRequest.urlRequest.url! + requests[requestURL] = jWTRequest + + jWTRequest.execute { (authorization) in + if let jWT = authorization?.jwt { + self.keychainController.store(jWT: jWT) } self.requests[requestURL] = nil completion() } } + + func logOut() { + keychainController.deleteJWT() + } } From 51fd2ca2e9345a5c343b9adbb75de0c3702b4118 Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Fri, 11 Jun 2021 11:50:34 +0900 Subject: [PATCH 27/46] =?UTF-8?q?Fix:=20#3=20GitHub=EB=A1=9C=EA=B7=B8?= =?UTF-8?q?=EC=9D=B8=20Mock=20API=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Domain/Coordinator/Coordinator.swift | 4 +++ .../Coordinator/LoginFlowCoordinator.swift | 15 ++++---- .../Domain/Entity/Comment.swift | 31 ++++++++++++++++ .../issueTrackerApp/Domain/Entity/Issue.swift | 35 +++++++++++++++++++ .../Domain/Entity/LabelModel.swift | 18 ++++++++++ .../Domain/Entity/Milestones.swift | 21 +++++++++++ 6 files changed, 118 insertions(+), 6 deletions(-) create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Comment.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Issue.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/LabelModel.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Milestones.swift diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift index afbf80e19..5ab05fc76 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift @@ -35,6 +35,10 @@ class MainFlowCoordinator: NSObject { loginFlowCoordinator.parent = self configure(viewController: mainViewController) } + + func logOut() { + loginFlowCoordinator.mainViewControllerRequiresAuthentication(mainTabBarController, isAppLaunch: false) + } } extension MainFlowCoordinator: Coordinator { diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/LoginFlowCoordinator.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/LoginFlowCoordinator.swift index 4e1e389d6..fc56c0702 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/LoginFlowCoordinator.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/LoginFlowCoordinator.swift @@ -9,13 +9,8 @@ import UIKit import AuthenticationServices class LoginFlowCoordinator: NSObject, ASWebAuthenticationPresentationContextProviding { - func presentationAnchor(for session: ASWebAuthenticationSession) -> ASPresentationAnchor { - return ASPresentationAnchor() - } - weak var parent: Coordinator? weak var loginViewController: UIViewController? - private var authenticationSession: ASWebAuthenticationSession? func mainViewControllerRequiresAuthentication(_ viewController: MainTabBarController, isAppLaunch: Bool) { let newViewController = viewController.storyboard?.instantiateViewController(withIdentifier: ViewControllerIDs.loginViewController) @@ -28,7 +23,7 @@ class LoginFlowCoordinator: NSObject, ASWebAuthenticationPresentationContextProv } func loginViewController(_ viewController: LoginViewController, didStartAuthorizationWithState state: String) { - let url = GitHubEndpoint.authorizationUrl(with: state) + let url = GitHubEndpoint.authorizationUrl() let session = ASWebAuthenticationSession(url: url, callbackURLScheme: GitHubEndpoint.authorizationCallbackURLScheme) { callbackURL, error in @@ -45,6 +40,14 @@ class LoginFlowCoordinator: NSObject, ASWebAuthenticationPresentationContextProv func loginViewControllerDidFinishAuthorization() { loginViewController?.dismiss(animated: true, completion: nil) } + + func loginViewControllerDidSignOut() { + UIApplication.shared.open(GitHubEndpoint.signOutURL, options: [:], completionHandler: nil) + } + + func presentationAnchor(for session: ASWebAuthenticationSession) -> ASPresentationAnchor { + return ASPresentationAnchor() + } } extension LoginFlowCoordinator: Coordinator { diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Comment.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Comment.swift new file mode 100644 index 000000000..3e3344470 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Comment.swift @@ -0,0 +1,31 @@ +// +// Comment.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/10. +// + +import Foundation + +struct Comment: Codable { + let description, createdTime: String + let user: User + + enum CodingKeys: String, CodingKey { + case description = "description" + case createdTime = "created_time" + case user + } +} + +struct User: Codable { + let name: String + let avatarURL: String + let editable: Bool + + enum CodingKeys: String, CodingKey { + case name + case avatarURL = "avatar_url" + case editable + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Issue.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Issue.swift new file mode 100644 index 000000000..c116a17dc --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Issue.swift @@ -0,0 +1,35 @@ +// +// Issue.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/10. +// + +import Foundation + +struct Issue: Codable { + let title: String + let authorAvatarURL: String + let labelList: [Label] + let issueNumber: Int + let createdAt: String + let milestoneTitle: String + + enum CodingKeys: String, CodingKey { + case title + case authorAvatarURL = "author_avatar_url" + case labelList = "label_list" + case issueNumber = "issue_number" + case createdAt = "created_time" + case milestoneTitle = "milestone_title" + } +} + +struct Label: Codable { + let title, colorCode: String + + enum CodingKeys: String, CodingKey { + case title + case colorCode = "color_code" + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/LabelModel.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/LabelModel.swift new file mode 100644 index 000000000..9e039635f --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/LabelModel.swift @@ -0,0 +1,18 @@ +// +// Label.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/10. +// + +import Foundation + +struct LabelModel: Codable { + let title, description, colorCode: String + + enum CodingKeys: String, CodingKey { + case title + case description = "description" + case colorCode = "color_code" + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Milestones.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Milestones.swift new file mode 100644 index 000000000..0d67bf88c --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Milestones.swift @@ -0,0 +1,21 @@ +// +// Label.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/10. +// + +import Foundation + +struct Milestones: Codable { + let title, description, dueDate: String + let openedIssueCount, closedIssueCount: Int + + enum CodingKeys: String, CodingKey { + case title + case description + case dueDate = "due_date" + case openedIssueCount = "opened_issue_count" + case closedIssueCount = "closed_issue_count" + } +} From f1002e6d302cb0e3b84b7ec2d0327a90007445cc Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Fri, 11 Jun 2021 11:51:13 +0900 Subject: [PATCH 28/46] =?UTF-8?q?Implement:=20#3=20=EB=A1=9C=EA=B7=B8?= =?UTF-8?q?=EC=95=84=EC=9B=83=20=EB=B2=84=ED=8A=BC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../issueTrackerApp/Setting.storyboard | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/iOS/issueTrackerApp/issueTrackerApp/Setting.storyboard b/iOS/issueTrackerApp/issueTrackerApp/Setting.storyboard index ab7e809b0..bcd9f4922 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Setting.storyboard +++ b/iOS/issueTrackerApp/issueTrackerApp/Setting.storyboard @@ -11,12 +11,38 @@ - + + + + + + + + + From 755be9d5d6d11780023f5477455fa3e4cee90463 Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Fri, 11 Jun 2021 11:52:08 +0900 Subject: [PATCH 29/46] =?UTF-8?q?Fix:=20#23=20=ED=8C=8C=EC=9D=BC=EC=8B=9C?= =?UTF-8?q?=EC=8A=A4=ED=85=9C=20=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- iOS/issueTrackerApp/Label~.storyboard | 300 ------------------ iOS/issueTrackerApp/Setting~.storyboard | 250 --------------- .../ViewController/Issue/Comment.swift | 31 -- .../ViewController/Issue/Issue.swift | 35 -- .../ViewController/Issue/LabelModel.swift | 18 -- .../ViewController/Issue/Milestones.swift | 21 -- .../issueTrackerApp.xcodeproj/project.pbxproj | 34 +- .../UserInterfaceState.xcuserstate | Bin 86396 -> 101816 bytes .../Issue/CustomBarButtonItem.swift | 85 +++++ .../UI/ViewController/Issue/IssueCell.swift | 64 ++++ .../UI/ViewController/Issue/IssueCell.xib | 83 +++++ .../Issue/IssueViewController.swift | 0 .../UI/ViewController/Issue/TagLabel.swift | 72 +++++ .../ViewController/Issue/TagStackView.swift | 17 + .../Login/LoginViewController.swift | 2 +- 15 files changed, 345 insertions(+), 667 deletions(-) delete mode 100644 iOS/issueTrackerApp/Label~.storyboard delete mode 100644 iOS/issueTrackerApp/Setting~.storyboard delete mode 100644 iOS/issueTrackerApp/ViewController/Issue/Comment.swift delete mode 100644 iOS/issueTrackerApp/ViewController/Issue/Issue.swift delete mode 100644 iOS/issueTrackerApp/ViewController/Issue/LabelModel.swift delete mode 100644 iOS/issueTrackerApp/ViewController/Issue/Milestones.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/CustomBarButtonItem.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueCell.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueCell.xib rename iOS/issueTrackerApp/{ => issueTrackerApp/Presentation/UI}/ViewController/Issue/IssueViewController.swift (100%) create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/TagLabel.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/TagStackView.swift rename iOS/issueTrackerApp/{ => issueTrackerApp/Presentation/UI}/ViewController/Login/LoginViewController.swift (97%) diff --git a/iOS/issueTrackerApp/Label~.storyboard b/iOS/issueTrackerApp/Label~.storyboard deleted file mode 100644 index a46a543a4..000000000 --- a/iOS/issueTrackerApp/Label~.storyboard +++ /dev/null @@ -1,300 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/iOS/issueTrackerApp/Setting~.storyboard b/iOS/issueTrackerApp/Setting~.storyboard deleted file mode 100644 index 400b0c572..000000000 --- a/iOS/issueTrackerApp/Setting~.storyboard +++ /dev/null @@ -1,250 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/iOS/issueTrackerApp/ViewController/Issue/Comment.swift b/iOS/issueTrackerApp/ViewController/Issue/Comment.swift deleted file mode 100644 index 3e3344470..000000000 --- a/iOS/issueTrackerApp/ViewController/Issue/Comment.swift +++ /dev/null @@ -1,31 +0,0 @@ -// -// Comment.swift -// issueTrackerApp -// -// Created by 조중윤 on 2021/06/10. -// - -import Foundation - -struct Comment: Codable { - let description, createdTime: String - let user: User - - enum CodingKeys: String, CodingKey { - case description = "description" - case createdTime = "created_time" - case user - } -} - -struct User: Codable { - let name: String - let avatarURL: String - let editable: Bool - - enum CodingKeys: String, CodingKey { - case name - case avatarURL = "avatar_url" - case editable - } -} diff --git a/iOS/issueTrackerApp/ViewController/Issue/Issue.swift b/iOS/issueTrackerApp/ViewController/Issue/Issue.swift deleted file mode 100644 index c116a17dc..000000000 --- a/iOS/issueTrackerApp/ViewController/Issue/Issue.swift +++ /dev/null @@ -1,35 +0,0 @@ -// -// Issue.swift -// issueTrackerApp -// -// Created by 조중윤 on 2021/06/10. -// - -import Foundation - -struct Issue: Codable { - let title: String - let authorAvatarURL: String - let labelList: [Label] - let issueNumber: Int - let createdAt: String - let milestoneTitle: String - - enum CodingKeys: String, CodingKey { - case title - case authorAvatarURL = "author_avatar_url" - case labelList = "label_list" - case issueNumber = "issue_number" - case createdAt = "created_time" - case milestoneTitle = "milestone_title" - } -} - -struct Label: Codable { - let title, colorCode: String - - enum CodingKeys: String, CodingKey { - case title - case colorCode = "color_code" - } -} diff --git a/iOS/issueTrackerApp/ViewController/Issue/LabelModel.swift b/iOS/issueTrackerApp/ViewController/Issue/LabelModel.swift deleted file mode 100644 index 9e039635f..000000000 --- a/iOS/issueTrackerApp/ViewController/Issue/LabelModel.swift +++ /dev/null @@ -1,18 +0,0 @@ -// -// Label.swift -// issueTrackerApp -// -// Created by 조중윤 on 2021/06/10. -// - -import Foundation - -struct LabelModel: Codable { - let title, description, colorCode: String - - enum CodingKeys: String, CodingKey { - case title - case description = "description" - case colorCode = "color_code" - } -} diff --git a/iOS/issueTrackerApp/ViewController/Issue/Milestones.swift b/iOS/issueTrackerApp/ViewController/Issue/Milestones.swift deleted file mode 100644 index 0d67bf88c..000000000 --- a/iOS/issueTrackerApp/ViewController/Issue/Milestones.swift +++ /dev/null @@ -1,21 +0,0 @@ -// -// Label.swift -// issueTrackerApp -// -// Created by 조중윤 on 2021/06/10. -// - -import Foundation - -struct Milestones: Codable { - let title, description, dueDate: String - let openedIssueCount, closedIssueCount: Int - - enum CodingKeys: String, CodingKey { - case title - case description - case dueDate = "due_date" - case openedIssueCount = "opened_issue_count" - case closedIssueCount = "closed_issue_count" - } -} diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj index 0a50976f1..43d498b0c 100644 --- a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj @@ -31,6 +31,7 @@ 930FAE9D266E112900422968 /* issueTrackerAppTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE9C266E112900422968 /* issueTrackerAppTests.swift */; }; 930FAEA8266E112A00422968 /* issueTrackerAppUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAEA7266E112A00422968 /* issueTrackerAppUITests.swift */; }; 930FAEC7266E13F500422968 /* Alamofire in Frameworks */ = {isa = PBXBuildFile; productRef = 930FAEC6266E13F500422968 /* Alamofire */; }; + 931BAE1926725E3C00CD9244 /* SettingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAE1826725E3C00CD9244 /* SettingViewController.swift */; }; 9343E2CA266EF9CD0086F977 /* KeychainController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2C9266EF9CD0086F977 /* KeychainController.swift */; }; 9343E2D3266EFBA70086F977 /* GitHubEndpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2D2266EFBA70086F977 /* GitHubEndpoint.swift */; }; 9343E2D8266F03E90086F977 /* NetworkController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2D7266F03E90086F977 /* NetworkController.swift */; }; @@ -59,23 +60,23 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 883F5147266F3EAF0055EC9E /* LoginViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LoginViewController.swift; path = ViewController/Login/LoginViewController.swift; sourceTree = SOURCE_ROOT; }; + 883F5147266F3EAF0055EC9E /* LoginViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LoginViewController.swift; path = issueTrackerApp/Presentation/UI/ViewController/Login/LoginViewController.swift; sourceTree = SOURCE_ROOT; }; 883F5153266F442C0055EC9E /* issueTrackerApp.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = issueTrackerApp.entitlements; sourceTree = ""; }; 883F5158266F502F0055EC9E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = issueTrackerApp/Base.lproj/Issue.storyboard; sourceTree = ""; }; 883F5160266F505E0055EC9E /* Label.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Label.storyboard; sourceTree = ""; }; 883F5169266F508B0055EC9E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = issueTrackerApp/Base.lproj/Milestones.storyboard; sourceTree = ""; }; 883F5171266F50A40055EC9E /* Setting.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Setting.storyboard; sourceTree = ""; }; - 883F5184266F5F090055EC9E /* IssueViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = IssueViewController.swift; path = ViewController/Issue/IssueViewController.swift; sourceTree = SOURCE_ROOT; }; - 883F519C2670940E0055EC9E /* IssueCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = IssueCell.swift; path = "issueTrackerApp/Presentation/UI/UIView/New Group/IssueCell.swift"; sourceTree = SOURCE_ROOT; }; - 883F519D2670940E0055EC9E /* IssueCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = IssueCell.xib; path = "issueTrackerApp/Presentation/UI/UIView/New Group/IssueCell.xib"; sourceTree = SOURCE_ROOT; }; - 883F51A32670AAAB0055EC9E /* TagStackView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TagStackView.swift; path = "issueTrackerApp/Presentation/UI/UIView/New Group/TagStackView.swift"; sourceTree = SOURCE_ROOT; }; - 883F51A82670ABDC0055EC9E /* TagLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TagLabel.swift; path = "issueTrackerApp/Presentation/UI/UIView/New Group/TagLabel.swift"; sourceTree = SOURCE_ROOT; }; + 883F5184266F5F090055EC9E /* IssueViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = IssueViewController.swift; path = issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift; sourceTree = SOURCE_ROOT; }; + 883F519C2670940E0055EC9E /* IssueCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = IssueCell.swift; path = issueTrackerApp/Presentation/UI/ViewController/Issue/IssueCell.swift; sourceTree = SOURCE_ROOT; }; + 883F519D2670940E0055EC9E /* IssueCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = IssueCell.xib; path = issueTrackerApp/Presentation/UI/ViewController/Issue/IssueCell.xib; sourceTree = SOURCE_ROOT; }; + 883F51A32670AAAB0055EC9E /* TagStackView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TagStackView.swift; path = issueTrackerApp/Presentation/UI/ViewController/Issue/TagStackView.swift; sourceTree = SOURCE_ROOT; }; + 883F51A82670ABDC0055EC9E /* TagLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TagLabel.swift; path = issueTrackerApp/Presentation/UI/ViewController/Issue/TagLabel.swift; sourceTree = SOURCE_ROOT; }; 883F51AD2670B2F70055EC9E /* UIColorExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIColorExtension.swift; sourceTree = ""; }; - 883F51B52671E1710055EC9E /* CustomBarButtonItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = CustomBarButtonItem.swift; path = issueTrackerApp/Presentation/UI/UIControl/CustomBarButtonItem.swift; sourceTree = SOURCE_ROOT; }; - 883F51C6267200EA0055EC9E /* Issue.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Issue.swift; path = ViewController/Issue/Issue.swift; sourceTree = SOURCE_ROOT; }; - 883F51CB2672041A0055EC9E /* Milestones.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Milestones.swift; path = ViewController/Issue/Milestones.swift; sourceTree = SOURCE_ROOT; }; - 883F51D3267204520055EC9E /* LabelModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LabelModel.swift; path = ViewController/Issue/LabelModel.swift; sourceTree = SOURCE_ROOT; }; - 883F51DB267204DC0055EC9E /* Comment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Comment.swift; path = ViewController/Issue/Comment.swift; sourceTree = SOURCE_ROOT; }; + 883F51B52671E1710055EC9E /* CustomBarButtonItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = CustomBarButtonItem.swift; path = issueTrackerApp/Presentation/UI/ViewController/Issue/CustomBarButtonItem.swift; sourceTree = SOURCE_ROOT; }; + 883F51C6267200EA0055EC9E /* Issue.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Issue.swift; path = issueTrackerApp/Domain/Entity/Issue.swift; sourceTree = SOURCE_ROOT; }; + 883F51CB2672041A0055EC9E /* Milestones.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Milestones.swift; path = issueTrackerApp/Domain/Entity/Milestones.swift; sourceTree = SOURCE_ROOT; }; + 883F51D3267204520055EC9E /* LabelModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LabelModel.swift; path = issueTrackerApp/Domain/Entity/LabelModel.swift; sourceTree = SOURCE_ROOT; }; + 883F51DB267204DC0055EC9E /* Comment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Comment.swift; path = issueTrackerApp/Domain/Entity/Comment.swift; sourceTree = SOURCE_ROOT; }; 930FAE82266E112700422968 /* issueTrackerApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = issueTrackerApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 930FAE85266E112700422968 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 930FAE87266E112700422968 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; @@ -89,6 +90,7 @@ 930FAEA3266E112A00422968 /* issueTrackerAppUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = issueTrackerAppUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 930FAEA7266E112A00422968 /* issueTrackerAppUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = issueTrackerAppUITests.swift; sourceTree = ""; }; 930FAEA9266E112A00422968 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 931BAE1826725E3C00CD9244 /* SettingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SettingViewController.swift; path = ../../../../../../../../../Documents/SettingViewController.swift; sourceTree = ""; }; 9343E2C9266EF9CD0086F977 /* KeychainController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeychainController.swift; sourceTree = ""; }; 9343E2D2266EFBA70086F977 /* GitHubEndpoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GitHubEndpoint.swift; sourceTree = ""; }; 9343E2D7266F03E90086F977 /* NetworkController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkController.swift; sourceTree = ""; }; @@ -289,6 +291,7 @@ children = ( 883F514F266F3F060055EC9E /* Login */, 883F5182266F5EE80055EC9E /* Issue */, + 931BAE1726725DC600CD9244 /* Setting */, ); path = ViewController; sourceTree = ""; @@ -367,6 +370,14 @@ path = Issue; sourceTree = ""; }; + 931BAE1726725DC600CD9244 /* Setting */ = { + isa = PBXGroup; + children = ( + 931BAE1826725E3C00CD9244 /* SettingViewController.swift */, + ); + path = Setting; + sourceTree = ""; + }; 9343E2F0266F5CBC0086F977 /* Coordinator */ = { isa = PBXGroup; children = ( @@ -527,6 +538,7 @@ buildActionMask = 2147483647; files = ( 883F5148266F3EAF0055EC9E /* LoginViewController.swift in Sources */, + 931BAE1926725E3C00CD9244 /* SettingViewController.swift in Sources */, 9343E2D3266EFBA70086F977 /* GitHubEndpoint.swift in Sources */, 9343E2F7266F5E890086F977 /* MainTabBarController.swift in Sources */, 9343E30D266F90EF0086F977 /* LoginFlowCoordinator.swift in Sources */, diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate index 4223f57743bb8305e2c5702da00e4617a351e18d..7a8fb6cc8fb9402e171f77963db76548f8047ab0 100644 GIT binary patch literal 101816 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 U{QvxQdYk|I_y7Obkc*!EAG*Xa6aWAK literal 86396 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

LvDQ`eaZiB{2tFAJy2#Uf&0s6 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 B7_|TZ diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/CustomBarButtonItem.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/CustomBarButtonItem.swift new file mode 100644 index 000000000..f48388264 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/CustomBarButtonItem.swift @@ -0,0 +1,85 @@ +// +// CustomBarButtonItem.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/10. +// + +import UIKit + +class CustomBarButtonItem: UIButton { + + var customImageView: UIImageView = { + let imageView = UIImageView() + imageView.translatesAutoresizingMaskIntoConstraints = false + imageView.contentMode = .scaleAspectFit + imageView.tintColor = .systemBlue + return imageView + }() + + var customTitleLabel: UILabel = { + let label = UILabel() + label.translatesAutoresizingMaskIntoConstraints = false + label.textColor = .systemBlue + return label + }() + + + enum ImageLocation { + case left + case right + } + + init(title: String, image: UIImage, located: ImageLocation) { + super.init(frame: .zero) + + self.customTitleLabel.text = title + self.customImageView.image = image.withAlignmentRectInsets(UIEdgeInsets(top: -10, left: 0, bottom: -10, right: 0)) + self.addSubview(customTitleLabel) + self.addSubview(customImageView) + + if located == .left { + configureWithImageAtLeftSide() + } else { + configureWithImageAtRightSide() + } + + } + + required init?(coder: NSCoder) { + super.init(coder: coder) + assertionFailure("Initializing CustomBarButtonItem with coder should not be called") + } + + private func configureWithImageAtLeftSide() { + self.customTitleLabel.textAlignment = .left + + NSLayoutConstraint.activate([ + self.customImageView.topAnchor.constraint(equalTo: self.topAnchor), + self.customImageView.bottomAnchor.constraint(equalTo: self.bottomAnchor), + self.customImageView.leadingAnchor.constraint(equalTo: self.leadingAnchor), + self.customImageView.widthAnchor.constraint(equalTo: self.heightAnchor), + + self.customTitleLabel.topAnchor.constraint(equalTo: self.topAnchor), + self.customTitleLabel.bottomAnchor.constraint(equalTo: self.bottomAnchor), + self.customTitleLabel.leadingAnchor.constraint(equalTo: customImageView.trailingAnchor) + ]) + + } + + private func configureWithImageAtRightSide() { + self.customTitleLabel.textAlignment = .right + + NSLayoutConstraint.activate([ + self.customImageView.topAnchor.constraint(equalTo: self.topAnchor), + self.customImageView.bottomAnchor.constraint(equalTo: self.bottomAnchor), + self.customImageView.trailingAnchor.constraint(equalTo: self.trailingAnchor), + self.customImageView.widthAnchor.constraint(equalTo: self.heightAnchor), + + self.customTitleLabel.topAnchor.constraint(equalTo: self.topAnchor), + self.customTitleLabel.bottomAnchor.constraint(equalTo: self.bottomAnchor), + self.customTitleLabel.trailingAnchor.constraint(equalTo: customImageView.leadingAnchor, constant: 5) + ]) + } + +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueCell.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueCell.swift new file mode 100644 index 000000000..9f6923e3b --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueCell.swift @@ -0,0 +1,64 @@ +// +// IssueCell.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/09. +// + +import UIKit + +class IssueCell: UITableViewCell { + @IBOutlet weak var titleLabel: UILabel! + @IBOutlet weak var descriptionLabel: UILabel! + @IBOutlet weak var milestonesLabel: UILabel! + @IBOutlet weak var tagStackView: TagStackView! + + static var identifier: String { + return String(describing: self) + } + + static var nib: UINib { + return UINib(nibName: identifier, bundle: nil) + } + + override func awakeFromNib() { + super.awakeFromNib() + } + + override func setSelected(_ selected: Bool, animated: Bool) { + super.setSelected(selected, animated: animated) + } + + // will fetch issue data type from server later on + public func configureAll(_ issue: String? = nil) { + self.configureTitleLabel(with: issue) + self.configureDescriptionLabel(with: issue) + self.configureMileStonesLabel(with: issue) + self.configureTagLabelStack(with: issue) + } + + private func configureTitleLabel(with issue: String? = nil) { + self.titleLabel.text = "issue.title" + } + + private func configureDescriptionLabel(with issue: String? = nil) { + self.descriptionLabel.text = "issue.description" + } + + private func configureMileStonesLabel(with issue: String? = nil) { + let fullString = NSMutableAttributedString(string: "") + let imageAttachment = NSTextAttachment() + imageAttachment.image = UIImage(systemName: "exclamationmark.circle") + let imageString = NSAttributedString(attachment: imageAttachment) + fullString.append(imageString) + fullString.append(NSAttributedString(string: "issue.mileStoneName")) + + self.milestonesLabel.attributedText = fullString + } + + private func configureTagLabelStack(with issue: String? = nil) { + let tempTagLabel = TagLabel() + tempTagLabel.custom(title: " issue.tagTitle ", colorCode: "#f69e7b") + self.tagStackView.addTag(tagLabel: tempTagLabel) + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueCell.xib b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueCell.xib new file mode 100644 index 000000000..1d71e9bd2 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueCell.xib @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/issueTrackerApp/ViewController/Issue/IssueViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift similarity index 100% rename from iOS/issueTrackerApp/ViewController/Issue/IssueViewController.swift rename to iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/TagLabel.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/TagLabel.swift new file mode 100644 index 000000000..dc812c87d --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/TagLabel.swift @@ -0,0 +1,72 @@ +// +// TagLabel.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/09. +// + +import UIKit + +class TagLabel: UILabel { + + init() { + super.init(frame: .zero) + self.layer.cornerRadius = 10 + self.layer.masksToBounds = true + } + + required init?(coder: NSCoder) { + super.init(coder: coder) + assertionFailure("Init with coder should not be called") + } + + public func custom(title: String, colorCode: String) { + self.text = title + self.backgroundColor = UIColor.hexString2UIColor(hexString: colorCode) + self.textColor = .white + } + + public func openIssue(of number: Int) { + let textColor = UIColor.hexString2UIColor(hexString: "#04009a") ?? .red + let backgroundColor = UIColor.hexString2UIColor(hexString: "#c0fefc") + + let font = UIFont.systemFont(ofSize: 30) + let attributes: [NSAttributedString.Key: Any] = [ + .font: font, + .foregroundColor: textColor, + ] + + let fullString = NSMutableAttributedString(string: "", attributes: attributes) + let imageAttachment = NSTextAttachment() + imageAttachment.image = UIImage(systemName: "exclamationmark.circle") + let imageString = NSAttributedString(attachment: imageAttachment) + fullString.append(imageString) + fullString.append(NSAttributedString(string: "열린 이슈 \(number)개")) + + self.backgroundColor = backgroundColor + self.layer.borderWidth = 1 + self.layer.borderColor = textColor.cgColor + } + + public func closedIssue(of number: Int) { + let textColor = UIColor.hexString2UIColor(hexString: "#3b14a7") ?? .red + let backgroundColor = UIColor.hexString2UIColor(hexString: "#ac66cc") + + let font = UIFont.systemFont(ofSize: 30) + let attributes: [NSAttributedString.Key: Any] = [ + .font: font, + .foregroundColor: textColor, + ] + + let fullString = NSMutableAttributedString(string: "", attributes: attributes) + let imageAttachment = NSTextAttachment() + imageAttachment.image = UIImage(systemName: "archivebox") + let imageString = NSAttributedString(attachment: imageAttachment) + fullString.append(imageString) + fullString.append(NSAttributedString(string: "닫힌 이슈 \(number)개")) + + self.backgroundColor = backgroundColor + self.layer.borderWidth = 1 + self.layer.borderColor = textColor.cgColor + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/TagStackView.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/TagStackView.swift new file mode 100644 index 000000000..f6a16412e --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/TagStackView.swift @@ -0,0 +1,17 @@ +// +// TagStackView.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/09. +// + +import UIKit + +class TagStackView: UIStackView { + + public func addTag(tagLabel: UILabel) { + tagLabel.translatesAutoresizingMaskIntoConstraints = false + self.addArrangedSubview(tagLabel) + } + +} diff --git a/iOS/issueTrackerApp/ViewController/Login/LoginViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Login/LoginViewController.swift similarity index 97% rename from iOS/issueTrackerApp/ViewController/Login/LoginViewController.swift rename to iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Login/LoginViewController.swift index c877cfd55..1d67ff0a2 100644 --- a/iOS/issueTrackerApp/ViewController/Login/LoginViewController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Login/LoginViewController.swift @@ -74,7 +74,7 @@ extension LoginViewController: ASAuthorizationControllerPresentationContextProvi extension LoginViewController { func performAuthorization(with authorizationCode: String) { isAuthenticating = true - networkController?.authenticateWith(authorizationCode: authorizationCode, state: state) { [weak self] in + networkController?.authenticateWith(authorizationCode: authorizationCode, client: GitHubEndpoint.FieldNames.client) { [weak self] in self?.loginCoordinator?.loginViewControllerDidFinishAuthorization() } } From 81b80e09f030e86c1feebb7e57a714c1263e994a Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Fri, 11 Jun 2021 12:16:00 +0900 Subject: [PATCH 30/46] =?UTF-8?q?Fix:=20#23=20SettingViewController=20?= =?UTF-8?q?=ED=8C=8C=EC=9D=BC=EC=8B=9C=EC=8A=A4=ED=85=9C=20=EC=A0=95?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../issueTrackerApp.xcodeproj/project.pbxproj | 13 +++++----- .../UserInterfaceState.xcuserstate | Bin 101816 -> 106418 bytes .../Setting/SettingViewController.swift | 24 ++++++++++++++++++ 3 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Setting/SettingViewController.swift diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj index 43d498b0c..058595ef1 100644 --- a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj @@ -31,7 +31,7 @@ 930FAE9D266E112900422968 /* issueTrackerAppTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE9C266E112900422968 /* issueTrackerAppTests.swift */; }; 930FAEA8266E112A00422968 /* issueTrackerAppUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAEA7266E112A00422968 /* issueTrackerAppUITests.swift */; }; 930FAEC7266E13F500422968 /* Alamofire in Frameworks */ = {isa = PBXBuildFile; productRef = 930FAEC6266E13F500422968 /* Alamofire */; }; - 931BAE1926725E3C00CD9244 /* SettingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAE1826725E3C00CD9244 /* SettingViewController.swift */; }; + 931BAE1E26730C8600CD9244 /* SettingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAE1D26730C8600CD9244 /* SettingViewController.swift */; }; 9343E2CA266EF9CD0086F977 /* KeychainController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2C9266EF9CD0086F977 /* KeychainController.swift */; }; 9343E2D3266EFBA70086F977 /* GitHubEndpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2D2266EFBA70086F977 /* GitHubEndpoint.swift */; }; 9343E2D8266F03E90086F977 /* NetworkController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2D7266F03E90086F977 /* NetworkController.swift */; }; @@ -90,7 +90,7 @@ 930FAEA3266E112A00422968 /* issueTrackerAppUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = issueTrackerAppUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 930FAEA7266E112A00422968 /* issueTrackerAppUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = issueTrackerAppUITests.swift; sourceTree = ""; }; 930FAEA9266E112A00422968 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 931BAE1826725E3C00CD9244 /* SettingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SettingViewController.swift; path = ../../../../../../../../../Documents/SettingViewController.swift; sourceTree = ""; }; + 931BAE1D26730C8600CD9244 /* SettingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingViewController.swift; sourceTree = ""; }; 9343E2C9266EF9CD0086F977 /* KeychainController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeychainController.swift; sourceTree = ""; }; 9343E2D2266EFBA70086F977 /* GitHubEndpoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GitHubEndpoint.swift; sourceTree = ""; }; 9343E2D7266F03E90086F977 /* NetworkController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkController.swift; sourceTree = ""; }; @@ -373,10 +373,11 @@ 931BAE1726725DC600CD9244 /* Setting */ = { isa = PBXGroup; children = ( - 931BAE1826725E3C00CD9244 /* SettingViewController.swift */, + 931BAE1D26730C8600CD9244 /* SettingViewController.swift */, ); - path = Setting; - sourceTree = ""; + name = Setting; + path = issueTrackerApp/Presentation/UI/ViewController/Setting; + sourceTree = SOURCE_ROOT; }; 9343E2F0266F5CBC0086F977 /* Coordinator */ = { isa = PBXGroup; @@ -538,12 +539,12 @@ buildActionMask = 2147483647; files = ( 883F5148266F3EAF0055EC9E /* LoginViewController.swift in Sources */, - 931BAE1926725E3C00CD9244 /* SettingViewController.swift in Sources */, 9343E2D3266EFBA70086F977 /* GitHubEndpoint.swift in Sources */, 9343E2F7266F5E890086F977 /* MainTabBarController.swift in Sources */, 9343E30D266F90EF0086F977 /* LoginFlowCoordinator.swift in Sources */, 930FAE86266E112700422968 /* AppDelegate.swift in Sources */, 9343E305266F60B50086F977 /* NetworkRequest.swift in Sources */, + 931BAE1E26730C8600CD9244 /* SettingViewController.swift in Sources */, 883F51A42670AAAB0055EC9E /* TagStackView.swift in Sources */, 883F519E2670940E0055EC9E /* IssueCell.swift in Sources */, 9343E2D8266F03E90086F977 /* NetworkController.swift in Sources */, diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate index 7a8fb6cc8fb9402e171f77963db76548f8047ab0..1af117009032bf3d924998a20f767591181081ac 100644 GIT binary patch literal 106418 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%0A;6W0yAsN~Ae0`ceU7xWD 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 Mr~mJNA=jV#f9>0+MF0Q* literal 101816 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 U{QvxQdYk|I_y7Obkc*!EAG*Xa6aWAK diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Setting/SettingViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Setting/SettingViewController.swift new file mode 100644 index 000000000..a8a6eaa0f --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Setting/SettingViewController.swift @@ -0,0 +1,24 @@ +// +// SettingViewController.swift +// issueTrackerApp +// +// Created by zombietux on 2021/06/11. +// + +import UIKit + +class SettingViewController: UIViewController, MainCoordinated, Networked { + + var networkController: NetworkController? + weak var mainCoordinator: MainFlowCoordinator? + + override func viewDidLoad() { + super.viewDidLoad() + + } + + @IBAction func logoutButtonTapped(_ sender: Any) { + networkController?.logOut() + mainCoordinator?.logOut() + } +} From 6023e53641d1436606a80bc0c6759a223ca8ceeb Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Fri, 11 Jun 2021 12:48:36 +0900 Subject: [PATCH 31/46] =?UTF-8?q?Implement:=20#3=20JWT=20decode=20?= =?UTF-8?q?=EC=BD=94=EB=93=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../issueTrackerApp.xcodeproj/project.pbxproj | 17 +++++++++++++ .../UserInterfaceState.xcuserstate | Bin 106418 -> 107234 bytes .../xcschemes/xcschememanagement.plist | 23 +++++++++++++++++- .../Repository/OAuth/KeychainController.swift | 7 ++++++ .../Repository/OAuth/NetworkController.swift | 9 +++++-- 5 files changed, 53 insertions(+), 3 deletions(-) diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj index 058595ef1..6c8716a0a 100644 --- a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj @@ -32,6 +32,7 @@ 930FAEA8266E112A00422968 /* issueTrackerAppUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAEA7266E112A00422968 /* issueTrackerAppUITests.swift */; }; 930FAEC7266E13F500422968 /* Alamofire in Frameworks */ = {isa = PBXBuildFile; productRef = 930FAEC6266E13F500422968 /* Alamofire */; }; 931BAE1E26730C8600CD9244 /* SettingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAE1D26730C8600CD9244 /* SettingViewController.swift */; }; + 931BAE2F267310EB00CD9244 /* JWTDecode in Frameworks */ = {isa = PBXBuildFile; productRef = 931BAE2E267310EB00CD9244 /* JWTDecode */; }; 9343E2CA266EF9CD0086F977 /* KeychainController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2C9266EF9CD0086F977 /* KeychainController.swift */; }; 9343E2D3266EFBA70086F977 /* GitHubEndpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2D2266EFBA70086F977 /* GitHubEndpoint.swift */; }; 9343E2D8266F03E90086F977 /* NetworkController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2D7266F03E90086F977 /* NetworkController.swift */; }; @@ -106,6 +107,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 931BAE2F267310EB00CD9244 /* JWTDecode in Frameworks */, 930FAEC7266E13F500422968 /* Alamofire in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -415,6 +417,7 @@ name = issueTrackerApp; packageProductDependencies = ( 930FAEC6266E13F500422968 /* Alamofire */, + 931BAE2E267310EB00CD9244 /* JWTDecode */, ); productName = issueTrackerApp; productReference = 930FAE82266E112700422968 /* issueTrackerApp.app */; @@ -489,6 +492,7 @@ mainGroup = 930FAE79266E112700422968; packageReferences = ( 930FAEC5266E13F500422968 /* XCRemoteSwiftPackageReference "Alamofire" */, + 931BAE2D267310EB00CD9244 /* XCRemoteSwiftPackageReference "JWTDecode.swift" */, ); productRefGroup = 930FAE83266E112700422968 /* Products */; projectDirPath = ""; @@ -920,6 +924,14 @@ minimumVersion = 5.4.3; }; }; + 931BAE2D267310EB00CD9244 /* XCRemoteSwiftPackageReference "JWTDecode.swift" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/auth0/JWTDecode.swift.git"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 2.6.1; + }; + }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ @@ -928,6 +940,11 @@ package = 930FAEC5266E13F500422968 /* XCRemoteSwiftPackageReference "Alamofire" */; productName = Alamofire; }; + 931BAE2E267310EB00CD9244 /* JWTDecode */ = { + isa = XCSwiftPackageProductDependency; + package = 931BAE2D267310EB00CD9244 /* XCRemoteSwiftPackageReference "JWTDecode.swift" */; + productName = JWTDecode; + }; /* End XCSwiftPackageProductDependency section */ }; rootObject = 930FAE7A266E112700422968 /* Project object */; diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate index 1af117009032bf3d924998a20f767591181081ac..e3f9eff3ede7e3e854d4f9442d8dadaae7ded66a 100644 GIT binary patch literal 107234 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 z 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 Y|7p?e|NXVgi~sMh|Np;3u59*y0Bv60<^TWy literal 106418 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%0A;6W0yAsN~Ae0`ceU7xWD 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 Mr~mJNA=jV#f9>0+MF0Q* diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/xcuserdata/zombietux.xcuserdatad/xcschemes/xcschememanagement.plist b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/xcuserdata/zombietux.xcuserdatad/xcschemes/xcschememanagement.plist index 67eaefe98..34acbee64 100644 --- a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/xcuserdata/zombietux.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/xcuserdata/zombietux.xcuserdatad/xcschemes/xcschememanagement.plist @@ -4,6 +4,27 @@ SchemeUserState + JWTDecode (Playground) 1.xcscheme + + isShown + + orderHint + 2 + + JWTDecode (Playground) 2.xcscheme + + isShown + + orderHint + 3 + + JWTDecode (Playground).xcscheme + + isShown + + orderHint + 0 + SWXMLHashPlayground (Playground) 1.xcscheme isShown @@ -28,7 +49,7 @@ issueTrackerApp.xcscheme_^#shared#^_ orderHint - 0 + 1 diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/KeychainController.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/KeychainController.swift index aa7489dc8..3296eca73 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/KeychainController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/KeychainController.swift @@ -6,6 +6,7 @@ // import Foundation +import JWTDecode class KeychainController { private static let accountName = "AppUser" @@ -42,6 +43,12 @@ class KeychainController { func deleteJWT() { SecItemDelete(tokenQuery as CFDictionary) } + + func storeAvatarImage(jWT: String) { + if let decodedToken = try? decode(jwt: jWT) { + print(decodedToken) + } + } } //MARK:- Private diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/NetworkController.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/NetworkController.swift index 04ec8d2c8..e824abc8a 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/NetworkController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/NetworkController.swift @@ -15,12 +15,12 @@ class NetworkController { self.keychainController = keychainController } - var accessToken: String? { + var jWT: String? { return keychainController.readJWT() } var isClientAuthenticated: Bool { - return accessToken != nil + return jWT != nil } func authenticateWith(authorizationCode: String, client: String, completion: @escaping () -> Void) { @@ -33,6 +33,7 @@ class NetworkController { self.keychainController.store(jWT: jWT) } self.requests[requestURL] = nil + self.fetchUserAvatarImage()//test completion() } } @@ -40,4 +41,8 @@ class NetworkController { func logOut() { keychainController.deleteJWT() } + + func fetchUserAvatarImage() { + keychainController.storeAvatarImage(jWT: self.jWT ?? "") + } } From 3a2cba1fece9008a534926541436f6ce7db541ca Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Fri, 11 Jun 2021 15:27:39 +0900 Subject: [PATCH 32/46] =?UTF-8?q?Chore:=20#none=20Tabbar=20icon=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UserInterfaceState.xcuserstate | Bin 107234 -> 112612 bytes .../Icon-29.imageset/Contents.json | 24 ++++++++++++++++++ .../Icon-29.imageset/Icon-29.png | Bin 0 -> 1893 bytes .../icon.imageset/Contents.json | 24 ++++++++++++++++++ .../icon.imageset/Icon-20-2.png | Bin 0 -> 1088 bytes .../issue.imageset/Contents.json | 24 ++++++++++++++++++ .../Assets.xcassets/issue.imageset/Icons.pdf | Bin 0 -> 2522 bytes .../label.imageset/Contents.json | 24 ++++++++++++++++++ .../Assets.xcassets/label.imageset/Icons.pdf | Bin 0 -> 3500 bytes .../milestone.imageset/Contents.json | 24 ++++++++++++++++++ .../milestone.imageset/Icons.pdf | Bin 0 -> 2706 bytes .../issueTrackerApp/Label.storyboard | 4 +-- .../issueTrackerApp/Setting.storyboard | 6 ++--- .../Base.lproj/Issue.storyboard | 4 +-- .../Base.lproj/Milestones.storyboard | 4 +-- 15 files changed, 129 insertions(+), 9 deletions(-) create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/Icon-29.imageset/Contents.json create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/Icon-29.imageset/Icon-29.png create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/icon.imageset/Contents.json create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/icon.imageset/Icon-20-2.png create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/issue.imageset/Contents.json create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/issue.imageset/Icons.pdf create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/label.imageset/Contents.json create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/label.imageset/Icons.pdf create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/milestone.imageset/Contents.json create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/milestone.imageset/Icons.pdf diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate index e3f9eff3ede7e3e854d4f9442d8dadaae7ded66a..cfb86e94290eec52783aeb0e1662ce82443231b7 100644 GIT binary patch literal 112612 zcmeEv2YeLO_W#^FGdr`hv%9k`TR=KUOYd~jAP{O2N+>a9fk2XtyBmrK&b0ydid{)4 zilSIR1r-%huxn841q)*Dz5UOf*-ZzdkN1A>|M@&)!tTtS+s?V?-gD0PoGGuXt_p<{ z5?*2ugBh0L7@jdO0wc}px6~gDRRwBi_bUrlEUJQUMg78ox>@}K<%|6l;gFp{=WZxf ztdk2T`d9cX$3_ah$cT)wxG-E6_N!>SO*qP!7@2W19>&WIVTLlXOdJ!>Bru6g5|hm2 zGZUDJOaU{AnaoUKrZUr*=}aNxXBIFEnMF($vzS@JR5LZqO6GKC6|^>2lFRl5QlhVLw4jqPUJ#f)D3kIDqSL5Qp$8yc(Z@&&F%<1^8-w4Zap%hp)$*@MgRP-;1BX z&)`G&b^Hc?2fvFyz#rm|@hA8T{3ZSt|A>FWzv16m#0sp$npl}Nvo_Yp_F@OHgV{JX ziA`qH+2QO6c08NUPGBdp1?*II8athx#m;6+*v0G;wwkSBYuNx>$DYat*=6i07@+2`1o*f-gC z*~9FI>=E`8_EYvt_FMKl_9ymd_ILIVPTI z<)(4dxk9dpE9Pc!Gr3vZY;GP`$@#e@Ts0Tw>ba%dGVU~PC3iY^Hg^tpF1Loegj>&D z&u!ouxJGUZcPn=rx1GC_+rjPR?&Til9_OCnUf^EjUgi#QuW)a0?{M#OA8;RXA9J5@ zpK{-Ezwn6Xc>^!;CSK+h-pRXoFYn`f@Pqjw{7^oYkK>d0WIlx-#t-Kw@&)`PelkCW zpUO|;r}KsUEPgg$!q4YR`BV5ZelcIiFXd0;SMsOxDt|VA4!@2+kH3h&n7^98k-vrC z#^280#ox`}%kSp*@O$|u`2GCT{4@Lu{EPhS{JZ=o{1^O}{I~pf{7?LE2FAb{M1#>_ zHdqXHgTv6>(8n;u5N}8@q!=;`BMf5jL=i)FANdl zg=8UJ$Ph*dD+Gi(;Z$L%uuNDkoGz>q zh;XKGk#MnaiEycKnQ)_UldwT(5E_MBgssAM;Z9+v@UZZR@Tl;#@Qm=R@S^at@Tu^b z@VW4X@TKsT@U`%b@U8HjD2hf=5>28knnjCf6&10E*hlOu#)}DJqL?Hmi|Jy9m?@4H z$B0wKY2tLTP%ILQ#TnvEah5nwoG+G&6=J1WCx*p(aiw^^c!7AKc$s*)c!hYic#XJO z+#=pA-Xd-lZx`Or?IcGpK-8pm~psqgmJ7f%b0B(XB=;wZk%D9X`Ex6YdpnR zW?W*dHr5zxjR9lGxYVc`iSZocTH|HL%Z*nVuQhHm-eTNpyxn+*@owWi#wU$W8J{*j zV|>>5obh?%3&t0XO~ymUw~U94?-@TaekvgeORU66ykw9BNtBF|Bv~Yv6eD$)PLldd z1EiCsfzlu;QA(1=OZn0SX`)mhO_C-{Q>3ZVG^tpcE0s$X(h{j!3QP6UO6d$ql`fJl zmM)R5m9CSnmu`@5lp3X5rQ4)!((TeNX}9!%^q};Rv`2badPI6udRlr$dO>n^u@snO2+5G@WHyV_Ivvz;vPM zQqyIo^`@&#*O{(2Z7?;MHk-DXZZ+Lz+HShjw8OO1w9B;Hw8!+Y=`qtj(*e_yre{sh znVL)oO|O_#}U(4UfzsSFuZDzaKVRo8b<`}cv>@j=I zK64LqfAawI$>vydoH@;$ZXRYHZXRJCY0fq0ndh44ndh5J&8L{l%;n|^bEVmDt}@q| zmztNE&oHZIVqRxH&%D9hU~V*TG;cC*Hg7TCY`(?3)qJ~ohk2*@0rP|Aedfo_Pne%G zKX3lfe8l{b`KbA0^C#v{&7YY+H-BON#{9GS7xS+cWWg56VzS5&e!E)=}2c)-l$x z)+}qbHOHE3&9jcPPP9(97FuUpORVMA3Tvg+Z>_P`TFNJcI8gx zer1=kTX{fvOxdTruDqeVsl27Ut-PbWs~lF|Q{GoTQoc~WRK8b!Q2tQ5@Y`5F)ux+>9X}imIx9uL=4%<%K zF54rvM{WCU2W&6cUbHpY4%*(Zy=nW#_O0zZ+xNB~Y(Lt5vi)rP#rCW1PrJb`*v)o} zJ;v^~d+fdJz3u7t411=1n0>f?gngualzp^)j6KIb(LT*S-Ckm!W1nlUwEOKV?WfyU z*;m`ou&Z`rKhu7e{cQVM`^EN4?Cb4U*>AFMus7JZ+HbW#Vt>@W*Z!D&pZ#(B6ZZY~ z1NJBF&)Q$IzifZQ{-*r{`-k=;_K)me+P`ub9D+l17#)(s2Z3UK4&*)cjrmY9?qW5Ue12bAb)MoZbCx?RoRv<$v&vcLTs;5n?snbd+Tq&i zy4Q7|>wecR*KXGXu7_PuxSnx6>w4LB$n}cr9oM_AA6!4WescZn`o;CD>o?c$u0LFV z#;`F`j1psu@y7UK`o#2&$&48mGdyNQ%*dEgF{5L~#Egx}iph(a6f-%dD5f}OUd;TM z(wK!Yi(*#CoDrkOkeD-L&WbrZ=A4*wW7fo+A9GpEwig`2Ut(XsEj>LQs^QD`28{C3hbQ|50+vJwrX1B#{ zcYEDFcQYx3ioO5OWc>bFLPh+zQTQ_d%gQA_toxe+&8#4xo>sf=Dx?h!~LN9A@@P|OYWE5 zhup8YUvjS?xL3v&M6S z=SI&>o(-M`Porm}XOm~MXN%`n&t0CoJ@ub^*rTy+H=_Rp67kf2c8c-M?4>S zj(R@!eB$}S^S$R+&u?DN%X`gUi?^S*zjuK5WbZ)lAn#!B5bscLtT)k{;T`22?H%VG z@15$M=3VGrOduzP4-hj8x8}_dBp6)%G}Ck9Z&T?)5f#4|-qnzU)2ZeZ~8#_cib9-gmv-BPxKjmlF#CE`dmJ*&*$sr>*?$78{`}8OY^1sGJKi7 zVZPzM5xz0LJl{Cq6yH?eG~aYzp>LLNuCLrz;j8qW?px(s?K{J#`iSpL-&wx1edqYj z^{w%(^{w-r=R4nbf$u`!Rlciz*Z8jWHTt&sZui~c+wQy5cbD&O--Et~e0zKk`=0bY z<$K!qvhR@ZHQ&d+Pkf*HKJ$I<``Y)N?|a`5zF)dA-MDT-alhL7>gt1xnXxcdMqwOG z%*@G!aZCIwLM8BT#5ypeUqy9UDAdT<7`uv9wvll%E|nv=M4er#^h-@h$jKg?ni`u8 zA7WE-vyx)RrX^;?rsX9j=jLT6<)o!0lq$~roZOj#;F3^XS%p6*P*GpwuMJ0A_Az~! z!8bGAnC{F;Ob@0f(~Ie?@~S}C5zE`ZEKd$UvsQDywF7B*C+wj9VS4 z4xUe|ud1yKEXxa))%Z)5QLWo6Dl5+p)P{qB>S}+mG&3hBJAG_&Zfs_1c2;akdO}`o zR!U|pIH@NR9IEJu-XrIN|k}F zThjYbI=OJVKNJoG%b>VsKglTzmz63#q3GC(Fc@H(r=o4w6mLtbfk1V6Suj7^YN_IB zxu^B0)vcJ7D-(wHO3hp~wAaeSloa@!k(jn>Rdjw+m{H8&txPJD#-uYDOeQmo8P1Gg zMyeLosw%2YwW|)*sk+pdtuVV|n6XS2lg;EXx$tcqOt42?tFBWoQ7=_5hi~iE!KI1< zohe)tST?zAY1P6q7^;4$`RmxA9|mlLQpMq_>Z)*+KQyzdGQ3DHmR}pH1H)4w*ix+d zNv+u28CCveIsWqcg$sdVier+$CJNUPHelZDKpl{z3ynr6v6cxl zgEun)rj9w42{IwIkJ?x5r}kF|Y-Z|VM&~ihnHB2EFq^&9f$AVSX?>cz(`GufX=|R7 z-p4Bx8CU<~l_?Ad>npe zq6^hRE<^R)Oa;PO;nTAWHm)iRnye;ZOk>y zwaj(!(_i}?$TVo5u2VDAOm#T?jMRSJ>L~5ga9torxMO+X+JDzl@80PN$CVCq?6K!*r_O$J{@^nZ9F# z!7?E2eatRq9qi58SN)L(m_A!sE zW7M&Y%zoy8nx#&stJ8aGy+62OY8l-xVJbr{JLJ3t+T>0x3&Zu=XjRWLP0Zj;%yZ21 z%nQtmYPOoA=Bjy{n1jqq%*)Inb(}h0%~vPTs$=L(!fXS13M&G2{_I78K#0om?r@L@ z=az+56b15YVN(Fl!Zg~8YJ`nIqsdILds?d@{SNwqj9$GRthO(jtGbW_As& zB)cr+FQIFzQtM}lc3bO=I#r!0s*E~Co%Ryc_8Idz^9A!I)b}RyHT1&29Goo`RpFef zP+fJ|3Xnli`z)BQ8pOeIgJ&j9gJ zKhz%$C{=uLGN6KLD)rG#_eU0p#@1@7I)94ISyA56f2TR9X3nk(`)jmu0OQaVG`6Bb zlT>i3^v@4f&~xq7KnT`Tpmts;B4hL6nb3A+D!2eGj04WrJ>dX75IlBCa0(pGjD`bV z9(e2~gO_fGwtbg@r*1J*3w!%g<}~omodpwe0qhW0fbhQo1pa35&fNk2xck5#w+AH3 z0r14V04x7BSQ78Tk~<2Ef=pVc>@w zi*nF-G_eUhl;CD$%tdu&;YG7y9s8G$uc{4iWF+ctgym30PftZb5X%1G*t)uoSLROD z#f>f`Si0mCs;qQ2Td;7;YN;<&o6qF2k7b@$@Y!_}6cBE-A5O-;g>f-45ih5&V`Ck! zv}t~NasCYWA5O2u+NrN8qSJJ}GrJsmS9&q_%}j6TN*~aDI_XFe)hSAVl_=%maNMM+ zM<;iE*hiIn^_B+FmIi}Mw-0sdb{t^GD>Eni!^_|xIeW5ySubtNYl?V+yFAXL%ENl= z$+Y#9Nb9K`+bW(i7Gz~pRCDPnQI9J76{NQ?g0?VHYhhGp<7+dCy7u!ohVi`KNDgCf zU~)Tlzlj;gj0fj^** zJ0X7?{%(q>P+e`P;HdJo-q0Mzz6lhuNtDYv8-T8Vb+z6*cieqgueY4>Z)7S!R=^ps zy{wp#6R0Vxs#S1P1ccDl>I*(wcd=gm5?XyVbi1Zw_3dUx*NwW|#8I1FZz9C_8$r9O z@7MrraqXmEaefh47D7$TGOBNNnX3vud%IR|Y$fC0q#-c+FsnOju>BOaSsXfIqst@w zY{e11(X*Lhn{|DLGFexeZ8x>+03>q$-x%$-B)#DaX~P!*b5PNCamR*dP4~l@Pn%F( z6B^cK`C=QYH*qChKN`^XYcba=b1s2rR4uYEX^p`oA%z$BlY}H!{Pv zFgIx%!%(p4P~c8GCTTUQMrI?ksmqPrx#Qkf^+vW(Hld)LN@i=v20C7ulN|^IE30a$ zDX1xe;^{h{T=ux$>UP?y4*c&Mw%E< zwE%+D<$90WX6W@kOev)!mpsg4oo(VBTWd3ovnxC5AhK53Lw0?-0o3ZKp*1k zjDItL!XoRi<3O7tXt6HW{Mp{q^qLRT$pgI-PVt4ysuqNMO@*^)*+PG>9Dki3&a1T* zU`m^-o1DPX752m8rt0TM%-@hEs@~Se^sMqpe;&U7Mhny9jhOn--r4SKz1#=a3*m`TXmv9~h| z{lTSG75*k2rr70P7aX;1)oXXrxrl*YcXH%uLLLA;`uck8uwr+q$&9?&}Wxe4_| zy-@GJQ|oTM*1o_Is2??Df+Mki$C_ss=SQ~2CJmwq%1BqY;LmQ3(c2ip__v^;y4D65 z&$y1Qv=gL2f-tpCHK7EQh?4$Blh56wH<c@J`S+MX?c2q)kwy!s#T$G2#b-nJRwh#2WLBZLKCPe0= z6K%B#6`)CI^53cXbE=(Rvzzz^7?F`ChL%&GdfzGKe4 zMElf$X6YT9jplAdB}@#O(~&E{${1k;FwKDqT^=Y4Rw@$M0lc7dr-A>g5TxLr04cTr zl=x(n36nD(`cetN;M37+vTYDhJVH_SAg0wB!q#I{QwbsN_qvL zfj^jdlf~5Alwis)0O z%H<{Uasb_3E^m={%6sJf0IB;x{@l!%tpJ(pZ5{{^xoqmRhxs7@ zxjk<_1n{=6%s&H+t(&DEK-f|Mur|d~4luRT0GM{3<$B9zfT8WTya1rH4=g_b$jk`P zvLV(K>qzSa>s;#+Ysh-K^m14QeH@-slOY&IW&vHIC!ZD|0!%CSwdO|{LoodOW6HTojJSpOHz z)BlbBwXM_byMqvzSqFfFrCRq;PpJ=ASJnEdmZC%dsi87rIo*hcfMf;3XcxK6t%Pg=c1&vmanav)O*Ng6qY6@wv^MXbcNt!u3eZ92dyyp0>FJu`2g_oLTBeq(6>6pGR~Kwy`lEC>g$@LBBlS=%1Q&%{Jyi`-EAvSa z&(4(E>J|C5V7Lb*5E`Ld5j3N_pfv9z7#_i12-mc(Q0G)m*0^SCZ=}3#j;3~C>KvkV zf_JDE>dUGQR4mclNNt>9T1o0=ih7;EAUUI~y51ihSq{pl_Hs=cqw(q@wMt#AF4=@8 zpouV^NoutkfU(rkkx<8))>D`@&10rneoK|Ua6P*|7=*4Dl+}X=q!4Vz(9U%K0vK&= zg>F_)gi_7X|&`Sg^w7=-~7#lw#mi@J|M3QN%H(dt*wKp>V62A=*@yx!Sgiz zEjFxM$fL#1LTi}88)3}npmSlotJO2$3;lsF^k?v_Ea2>lMgCAxQQ5*!^s$T4rOh3= zOeN~<=#4AURn5&_t)8h4j^4Nq-9T@gqpog1H>zi~+-N`>>5WG9>;|n>;MHym{AJwj1pSrS;6GUi`+n|nSoCyl5C&9YEC3`^Rz0i?e~{uEnlUZWTI0rs!QWS2AEv(F zl)v+!F6zSI^-BLckAX0%1z$Ui0~(A161vpW!m88!&1b0S^zBDa(&;;(Ue>@21ZhL* zr}@6Ae2eff-7_N2`RHTMp%=mB4CkR2)GO308^J5lAA~Ppv_MofKVIN3TjH*x*iCVC4FT<@TF(P8u+dLMnDUZq~GUZY;C zUZ-BK-k{#7-lT3&8`Q>a=m>KV9Yr6bPtd36GxRxp`x1Qx-P#B{!glpe^)B@ub%(kW zzCA~9w%%8pF8%z$LU7B4={QT3Bz-|oDqCJv12aa2cUiD16sXnYe=)FDWLk6(lD;eS zihQZB4p-Fy9E?^sHCR;xKE;Bv6@mJ2Nt@D9vD1QM(w@ktelZX{0H6Z1!-6uXZ7L1w z3(@VWtv?ZnZ;i+!V1>f)ifWK(ee3ilqt$9*fR$|@oF5$+g+PSiAy>4tzf9{ybPIHV zXo_?~ns97fs7R9-a*rGGXIOCNFHF=u*OixS)ogV(oROTC!>xQ}`}u*)4$c^%~$Iw5_>)NIh|04+l& zbZLQqLAWR|y=vj2u)-X~gYaN*RX)nRiHE?*Cl@x;xWHe#P=m^~x~6RfDyZrJ48pNE zZceLvjX0iJ*ZM+qf)a6(E;37|fTb$G7SM*FmvI_SXRJ5_XX0UaI39sV;!&V-M?skd z0Ud2Izh&ZdzJn6fnbL9@FeF-+r!0s*+j38RQoT=oR=rm}P^!c?!?JX?gwrJ@tzKPR z^D2k^R0nctA{dXwTzDu_+0$+0zpbf?hWlx-bvV$E77L!!Fh)M14ekRNZ?F?NaYf1qRy< z#U8bsxb@CQn4l`yi2d~3ecUq9ZY%_DDpmJ^0E1TBpSGffsjK8gn~1&qTH!-Nwkj}@tOE69rAIE5`eP<5fObl`kY?(Irv;1`rC%3 zTZq|KvNqy1v?U4^?oxSu1*~IsHsJHr=UW8ch4?a13-CqwVtfg{RDD5xQEgHWZo-%2 zEAW-fLG>kqdlH-lB&M=dmu0Z#0lplO=nnnbc-S}K+yfUuJDEclKMqV8WxX~NO^@wx`lIYeVG~s6jG(dF z5(-uiFn72WtP&1AwHn4bBDLC=x3#%T+iA`G@N~34Er-lzMOJ-N{T!CYYwB0(m+GhL z7p+C}etdw6W+3WO^>s~>j?*XdSv>w`{2YEBzkpxFP52;wNqs|oOMOQ@tiG>)s2)-G zM;H7aZNa~(FZgbe-d)v5uqW4=#uIQ!jv~GXYxtuzvNu+xGGya7+s(!3~ zq5>%Jq7x}rT7!w=i}T~#PFQ?o8l(TVy{k{BE+PKFe|9cF8d-)4gU)2jK^8MsmSv8z zJpP%6Vw3|w5jOU?puZZ>O-ud2Et)wO#2YKJMgV<+gl%L+t-`wcasVajeTWTd2=G!R zwt4fVN{YVxqarPCs()cws6G@$OH)i;``tqu3~OP*kwIfP+Q<*O;u~3oHs0yIj>~l( z>tLO%3-1NXr-${zM)`~StNM-l6+tfbXM&uqmH^w0?H*YIKdIlgS^{iuJbokFhwaPu zQ@>NcSAS?>d2K(|x8Eo`b>uKMUgNMIkI!K%H4b}KHzXBV&w znf?Ts39=AmCCE;YgX(N0C4oRqUKtH5nUf7#5h(i9Q3{=>Obg)hKwW`Kr zyZy@al(e|i#H8ee#Dv7;goLEb#G$>CQZqB-GSZXMQZka0QxlR?(sc+p8^Yro*)UsA zkV24+&VTbMw8VdES!`;4Y+`U?biz+#SL!GGzN25zW)j3;)L5X0pR{Mn_G`a|RVwe? z!Svd;?|`erdSwaSUfHu@y`Iai!H*NWVsFxmcBe&~9psVq&u(HGXgxjP$g)?*5=QTA)gS9cAB!RyqxbI6pXx)O(vX(N z5hwTQ_4GfkJYgTC@`Rw1^)2i46S-y4BTak+k{PeTCF7$L72oN+wQMu&gH)bDw`PON zS~+26(ZE3+x!?(n3!Vfnc$$5NazUKV1w$woWD=ComJ6O|Ux;!+8bL!_bHU4a{AO@z zy~4iAzQ(>zP%J_51SJxbOu%>_J-M(?=(8V3XCF`(8el4~ng(e!gN)j8zE<9_62S@mkXhu;3Xc(jp9agW4N(g7MIQC5Hx|Hi3Al8G>IVC z;inKZm7r+^P2bApQ6nwWpPRr<cO|LX?LszB5=Tt z+N@wfnZ6xs(ZVD&H8?J?U_rA@6wDe4nF){yj71r2o^F%1FD3seIZ60Aqy zOW;c2OvTM1sEAsv=!N-s{3fnc{~@Tj`G0l4(j!X81>7R=f^Z87n%Tfr5j2aM7=1bZ z>TsDp?Yc>^dCbx0YPdQkrje`V0tC$_sHBlQl?xIC&CgY5&yVV&x`A;H9igV8`$IO~ zs&{TV9=}1|-*=3npDGl4wB}WuN^4%tok7qk1eG;%K@ODkxlp+}yLbVNIMl9waF?_X za~eo5G>aoj`C%2+)Vn$iPSbFdrp}8_Xqf3!FCvw|p*V$HT3%5;|698iOw&*RD;W%wr zVDK%g4lINt>+zIDt#)v3(V`vB2;6D>rw9rYw3MI~1fAAGrDye-uGeSUolhf#T0wYv4a@?) zc~EqZXyUY!7k`xazuK zU~zo=fwU(0VV&TssP5MJ^ifdB-?-noKe#^$I-8(#30g2|cnOhpL^9rWI-V z7@f2iMkF)elkW#+1-=*GoA1Me5_JhdmlAXtL6>jh`||_%llg%JT|v-#fj=7@pc@Ffk)WHl@Hu=gpU02m$20v2+CWePL5&1$CTPolkwxJ{|9eP$ z>H%s|NJ>nMOH0T|PfJWr%7p*ZQik?QOiN6UOHRqiOaa?MMsj*;vTjk}i@>757xQp} z+epwRnD*+Lak0UfvEvs{ELps;Cbn=&?DX24=!DJTAxj2@SG2My9CtNV?mDpl^u3#2 z+|)sW@a1$f;Qe?nzmQ)+gb?_{#4kl`5+(S zVISB=&~}3EY>^%1{BkM?ZYSstO|lo1mHVq($qhw3jtqzx816d03^-Sp0r%)KVD5>O z?CpEodX1l}ukm||H9^sFhA*KiIe$6K@Rj^}3<}$BT_wMd&hQfiJ>EuN1MKIu(FuNx zp!-`-@J(Qt0c2S5r*e z+7jESZTua2`3GrvJ@zR|lvYlK=%rR(gy^MKE`;c%jy7HXF};<&$EW52otpb}YMyr@ zsreUv18tggExyyqYSHQV13K;Z&Crj=9f{wh5&vZ%{ww^el=x5U#6LiZ{|Z5e+7kZ_ z{>>=yUn1zq*2F(diT@t|KK}v#A%BGbhzAQ5oVlJM=sAL(C+G!&UL>fgh4@YSG(W9R zvqz6aFA6O21Fleuq-#t2uXF|fS*qYSN2Num*v2v!z1G?$7roXsCEmd6T|0PO4lqbM z2fVCvfO;Z1pc6A(G`ukWm=o1PcY~zU{pAy^yOAV ziEhp@%;zQ=PGR~Rzr)SUC3X3qJRnsa{spE(CyMR6gpQ2h;aj-eLLv4#LaUq{S2 zh9Iaoh7bf$z%N1H5cIA77tA>cO3x@IR~lAckFXSP$~#YQr@kPp&gu5Ap;vAWyJJ(C;8ma1Vlow({gA!-j}F z!8}2KwAy+Mo9VP|G2Cpp#jus2KM6(zV*)_Hs29MnUR%e|gysSAO#%s`gISItM{t); z3Wi;JwcPQ=!yZjMV1q6mLMKu@v^gmpXH>1^!X8a7U_+F=`walH-D)^sc+&8c;b{og zdDifp;d#Rg1RDvK2sRNc6Kp2fLa>!!g<#uO1I-WuKZZkwSI}_y_jQ8p5xIb42<`?p zbjYdL{eNQNpNNGcR4jZ%0DG!ic@3XX{{GbP8T}>LNw7=*3t~Z0Vxoln*6=+Q3*Qm! zZZP~nu&0Y+;TOa2R4n`oVgZAG1!Cb35DVDXsaRm+`i>c>+jArB3cMg{@<9-&e84AB z`S1so57^gD)g|E z4pm*TNyC11?19CG?I8m4O8JZ6#EM0iZ1kCkq1w zc)B0K{Rtk>EKhW>=3jwBgcMyooP1pI0BA^xKhn`5dj3>lq(IRf!YE<1Fh&?l@L+<6 z5ImIN*iAyVkOT2^c?8E1oIr3Q!O8zOW*C7YJcP*v$Adkf1ta^HW*DJRpa>74h~T8Z zVTKV(gfcM02y=wF!aQNVP$~ekr4XD-a2mns1ZNPOxdnm>D}+kHFDzhyV#5d?PVfkV zM-x2ezsL-8OkhWHa!O`9U`JYdazdtVh7sU=&?tn2Fu@>QN6~3N4zNR5A)MCE45J~i zgw?_sdaPHQRRx}^iY1MLN+DP@5Uk@(Ky*d%ou&HSs0cVqSWEf!Y~dUT=UhW@4#Bwu z1CNf|B&-w8L&Jp&2p&)HBoze96bKli@O7%Y&ejm@^izrMh0+5Zv<#2YV2S3qfM{!% z3y^tolW>J_rLbPOir{>LClEZ5;DSxCDIMg35Mwe@9Y^Jt9%?cJLMvz>qJ~q_!b7H) zEz<*{z!TQ?ZY1ZKmc$PNB--4h{VWUw!#RF%?p4)+YzMbpOq(KF?GzIl?d(PY5@Iz7 zn+TrV00>MSP79}wP@p;z&P9hDEq$x7jh4QR;HeG5?F3JwOZym+48mOy$spV<+(Ynm zf{UA>y~4f1?)DJ|!UIfy;UR*-7fW!FI=h(weaD=yyXT@k*eg8I;o<$vK;cP(XQ*z1 zXR5PXh}L&Z@DXh@XcC?Sk^Q{z0!12D!r5<%jlZxt3mw8N#~Xx!|Mcxq?H-i$69hD6HssI?>4;#Zxh0*GLvUM*n3+@-TB7Ay)%(#Lq>!JZH#;s^r?o>t&Xvm{ zU#DJfay<=1P?5?)X6kODQH78dLFH7*rdlDRwGZ;rjs14J(tXh2Awy&1;uF#{Mvb35 zWoqHfS+h$|DXUymwYa8M&&mx5js(c)+>54jrrDf(CBTpVB|Wv*4Cwc;#FS1$4B#S2 zg61CU9h<7lhbZ#1!P}N763&7t9CQ>rvqd*KH+CLn^=(V^fm!tm293X_2hr0D7QzX_oQWR2U6SXB!z? zqTaxg>NZ)38<&inpRhcAL0MX2N)HOm0`7r(;Xd#hwxKu? z4wt#`lC>&$z1j-UNH2hBi%aq4cs;yc?OJ%X+C~UEIEY`yui)2M240$GV|xJ5Z6JZ|_-Y3EbL^wi(kLbqc%mSp~5-kT&NK0l9kXVRi0&I#Fm8hRFGz3j3FAxNH zdT6dz%wGt>#xx4UsegqCdDxO6=w3snLBJ{n+0u|oK!NxxTZD)H81;HrY7bV0S5VVh z5b!(Js5sLX4(#hb{S!@-T)PljtA%YJlE~-RE(k#JD4x2xxJSnIzwZ>mk12p@B7`1#TKPYt-R~z3g2T7iUmPHw zEP~E_D#3834-p*RBo2m@Ekngvg6j!hM(}ciPy4@7O~n*YO-0ZQmx7Kob;;7$aZ6(- zq$d5PYAOyBN5J`81f_As-%w4(vEq18O~ouRTg(x2#XNBw!7B+qo#0gjuO|2mg4Hcz zK4i0*C>Ds5sA@_GK9k_H2tJqKHUCYjY4K~j@BSKrXjqw&oD!FqkeQj0nwpf6l$@SE zv=`{2acLO|iRsB{fE&n6NKVu>Q*kzErecW*d&AiTp98a=HFh@i^10SH9z_{GJ?WUnQ_UNvGZ!Rs{kIv@5^b+BeV62Z0KAOar(7^oE@ zBwFcGad~^HMsJ-ip4A1)oh_ato(ma>)>6t{NH8o{*ibJc_;O0QzN7yktU|nq&f3M| zB?QC&mqOo<2dfaT6xSbP)~*$AqO*3Lc)fUocq74A61<*ZP>rwNByJFI6dT2j1YZMR z3BHct8~%?L<*k%RpxRyw1ND~|#O9>N=4D4!Uvay57bVi21YiGmmfpSMLzIB`iT8`U z#NFZp;)4Xk4BSNU27((1ZX|f)7IBaGu=t4hsJNFB5Ond)1aBdD8^JW@{=X&M=Ux4< zHfLpQY9_qXAt^a2vbdfDf2sJq_yT0VY7!5MFA;n*!MDIf61`o&YkR z>S6!`OG!>jNJ>de%S=p7ONnrzaU@KYag=d1!H*COK%SDK#iz#RgQTB1y<|%5q}bHT z*woy@=s0qW5JAwHn1^(2lOUy#ae{H8v4BwL-+qFh+-RI^oMN0x@Y4i05qzl4iN{#1 zpLm`qRc4&X6AwMl$APIa6mE6AGM4C#LB@#_iK^Dp;l_8~VyWKZQ>DtH6FIzg;Ltcw zW2j+_sxwi|#8_@zK#5UdtTg%weum&@34U%P7c?$1R%w2m=Lvp+?in;&SLxJ({KBHr z+?@QPDbq^}a|?2_i}I&TE}fVQQ3bs^6qu1;n4eXUI~_{tMLO1zJ8SA#u(Cz#Xl-jq zOoKB=N)o((Oxxy-b&v_n2q(@LRmh7A@ejtZmd-26Z_A7j$=KOIRvE!fK9}Hw1VY?l zAjfOtOxgyV%U+JQac-M7))_DCyp4;EmuPLgLh!49)y5UH4cMe#i?(rfn>Ma9!gjvV zc)jrkBWz`F5d0Rw?`$+~fV_sVogF6lYr+a`SI5md`@C6d!>=umT~1A8u{D9pdM!sr zVc7z(fJbu0hT;nIC`f^Ff}WlwlFe;&H7L6E;ISX6t5Q)ts?uK&xe=%3EFKWj;=yAn zn~sbJKORJiYl?R$lAQ%2nIYZ`qGo}|;vuTlUkxwr3C2%_xN{mt7K*Q$x(HC&g;h26 za0ze|@ZKBkPOHL&ITJgSOH7GNjtf;TiPsg(_=2kPAf!Hu*KAnJ=of9i$t4i8Id+m(CHwA(*q6};;z~)x7hN^ zV6bx0seuK7)0Wr5>z9@;stKrp89?NViRl;10>LNo@Yro4IuB!&r5e^#kRPvGpfSqn$f#DM9^ z8I@^il?em1k{T0@FAFUinFxW@=?Nfu(vv{>f!ONQw8U0r!0@a+o{>x_l-w1*oE;!4R-Mrz%CewIhYIh*!IzR(MLWr{y@3mbK@7rFO6Rr zzczkj{MPuL@q2>5A^2N@zatnv19ap^f`20TXM%s(YWy+64Zj+HGyV?T@F&5)M!De+ z!m@<3}Wx9s*k$On*3aCadAoT)}4`C57jMSGNSyt>XE-G<+VWs2 zR%1D7C}la;aJ(9#&m>DDf#;+YDOF07(xnV3QyL}>mqrj)B&?CJ5@Ah*l?iJmtc9>v z!YW&(Q992_Svt>2d4#n^c#d_n@SNt||DOo@n<7Y>PI<17u=Xg=%{T_nMQJ!sDy1AZ zpRmpb2?+1%BF9xq3w4fLpm7{9-?2F^+E$IEMIEn}0Hg{{dAjn5+u~!ES)KxrP$Pl$J!hYri(fV7iy3; z5Vn7_jY!%kZ2^vvHc6WaJAkk!H%d24w-6R)Xb?n(S5UOYyovz4s&Qd`Fyick)PdQ7 zia=RWpuS>Jq=$NY(E;8e-NVFelD12CN_R zge@SD`HG!N*y#ikS;6#Uz{X|}b{1h_=Y<^?L@5Zja>7;;b^&1*5q2?Qs|j06*gC=n z2^*$XF?K0omlO6h!k$jp)r3`52+tS~sgekLCSf508t8B?Vb>D&JP5xbEQpJXVC<%W zra`8`rXi-GrdU&)DIQ*GkZ4LWC7V)Asirhjx+w!*axly^+%&>8(lp96+BC*A7G8Rg zZOSp_n(|EJOyf=YrU|BrrUG~o!erAF(^S(m({xjzsmN4pnqiu0nq`_z*h>fti*z?( zUm)yJ!v0D)E8+SPE}d`_2{)f`A;PUCkQss7Mz}qMdx>x#6Yh7y+X(~_^CJmAjqsI( zUrzW73BQ5x_YnR7;a?~G7sS92gOeCeCWcI6m_i`z#1JNiwZw28G2BiJj}gNmVmL|+ zzY@Vrgq}o5B0>%kX0(y}run+uA6=@H{ws37?K;sVdORdLkHlPRSr1!0v!)8Y)v=|@ zy&YRU;Wh-_NE3OBR45*B5fw`yfe9EoG$W1v4ynkOHrF(LS2K-FD4a4GvZ~e9ha&-Z ztp>A5A53db8t7l{NoLv+YbwU_a7ckgaV>$4N5TwznN8WtrZ){8DA{ztX$5%|sSUc0E8Z zYqH9MS@mJa$Iv-dPS-my@!!z_jVf)s)^P@i-T}Y_*8D3o(4IbRLOK5;g_=o^)n=!Z zDoamzA6i8bwtQ?k0Cb#?^Ysatc48^g_2^~OC3*)6{~fat&2iTpRvWp{HukvH^1V{; zOmV4lLbG?YVGljwUYEOct=^@XrONUX$t~?AivAMn$XY&*fV)ZW4)}pidG(DvE2h{C~ ze`Q+QQAJzC^b8B8f(lI$>`0KkddrZ?>ym$^<@SrGy>MyQvsOG3PiLs}RGqEF@_xOW zRi(<#j@|rkJZ@_~R6w4FI!^gB`dA=ZH5L+Z%%nLGaN&qc~S2b7IAY;ly=MTBKcRu_+A*l* zSQ<@1e7xi7hk8%y0g~Ox97Wz50*bKye%7{frXy!SZgxms%)+ag{$sm#Sr>NgFZFK0 z`@8QbVX+MuE1Ms=AFo{fUWwN2VYs#+dS)Ew5wE6$4RR!m4C5vWwYMw zIsaz&PDBfu>|fSDDPdeNP+!-|xzk<=knMV>)|}uK(osyd^rkCp;nuqaA>RL2`(Kxi zy>fTGpXZk<|H;H^x`6451eEpo8}`CdC3qs&S9=NATJ`Q!=E(!}nYy@CxvyhK{wvSF zE5L)cT+8zo*@bn_lRQXH2Bd&ISRNt|m1E%z%kgr8oG63$^HRcIM%c><3;xL~3A>)a z8z0!K346^}IYmbb$Qg1b)4=qX0atKs6e(~6VH*Jr1K^a6{{yG|18|Bw9z1VyK4Gtm z00ra%01C*HxKjE{Sjc`_tp5dgiX-BilZ)gT02Ywp&W#Q7Ov2vOHL!p@N1hL^UwJO1 zpIIszT12QD^1ZP`A2Y5@g zuK{@lWw|=}R5>VzXFO`?c;B(tT*qaG^3t_hs_Ey5)M%ZnHy`8XkY?V)ou-t0- z3<{5v!47GB{^U-I1GaD$={Vx9@|7m8-$c)Xb znKSc*eUY$Dggr>umk0}U0Dyv52>U8wU)yRHbfz<#%(B_c^fv=E@AW9ty-ipc@`rS9 zJ@P-U`v+WS?gm_E?oQY@B3x(g30!CHCBJU&Wd^|2n;O@_-?xD43X~xcN}30n2Lsoc z2NCw21~Z_T-t8LKnd8k#8rPW`;eh4}E)9Gz({q08!FGj&UUBP@2{$ohNnJ7p*_Hk`?)5fLWI}xwxbdAA{GYJTi{pkS30bS#r_WO-1~=G8ng-da#@6aw^DgY1m`(% zu9SY;(SKbmw9K^;oXS`mab3jq5jRBK7;#g?%@NBZZi%>6gr5@Oe~R$GMEKuAmV|5& za+r|Ag)G-btOz=GSJ1J0g{%Y}lNoXZ#&dE+eK&V8j_KEYM?5HGHRRYMx??pFkLpwp z7P1z2*O-p6%2w3>F#Kf*Np7~t{M5dTgbH@r(Nq)@7hJUX6%D&#=b)4zNh}7 zlCj@~wwuOS<1idE4i$3G8e^Q`IeT?_{+e;PaU`-BM=&8G^GwUkRmNl{MC9IRb{@wb z4EZw7m=)$dqe-LYi9n!V3iEVN9fF;{nNvT=%Ws&Sez%Q)SbZJc4u5ps->`w6+f zkOv5PppXX%nLc}nkYj6&zMx};f$gSowvdO09OGo@;C3^q-m!~uY`*T;0wE6zIkp(b zZUCdazc%fbFUNYXxeo~{SNQO>vhw(Z7QbSq?^W> z=I1f3L3${=6~;RQrrqH;ZKQ6R{~CCC#J`$$pRraq?S5m8ag}kkagA}Uah>r2<9Z>F z67p!l^CIOGA&(XEI3bT0a;lKiYK2nY0vAXy&&ZD zkZId6Eim8K?6NtQ!lhwXqnH9-{_uwZaiZA!uX}}sPUNbE8}tF z*Mf;_nPFbGkY@;)4lY;7J|X7`IltEUZP2qHj6WKGlG+)65pqGuvzbC)J4%`HkmuBk zb`heP!Vt|AF66?XXeL!3qMdifBiM?j2$KoXOhzHksxdLNE~=YoCcDYy7tQ4Ki#8i$ zOx)U@;aTyyqBXv>O>Cdw3`asJ=SWippbS5r4r zcT*2jPg9hTD}-Dr!x1yZ?Xo7r4y>S;~oPGeyM5u2G8K)n>IUSGx?9LA>ge13rqzK?Zk4~2yPb&(e9`AS{@s^a(?fx7?LmLHc4u9d zdEB&BckBt%lcr6k&8DYJTTD-zo-sWu?#<9J+WBY`>Hslx=<^KD`t?47vL0zzqh5SH`=@TKZ zucKg}nf!McDKT+}kxU`i(jooV46NyE({};EczzhetOx6|%+IF3b-{iy{c8Hn^tew`2X`!c(WbB%nl(x6%@?uMzHfgfhgFEnOmA$A(=T+$WPapTMPM_x=ChkZ|;OJ z<_`K+lLv+BPalfl!gVhl*}rY|%-zlYgIP<=9Lz$p=jg>$ruMm|(Ya3?3Y9O$%p-Mb z&Hc>%%>&E>&4bK?%|pzwW@csB_jyssF9~^@kY5(^b|KSQy(;7#wdS~>WWyV7Hz!H$ z%v{*~T1YbPllQHV_v(YQef5@IL^o!hs9TmHw?GM@hZQ; z=q%FQE7X#?<~-dr_S)X8G3N_;cO6ZeWiIw_FU_<4-Pv1MV=nb?FZY~dnx&y+ZW79{ z$~@oSri%eme>wA^FnC-qM4alKRfT<_G(oAg})wxj3U6|l95b)U5>VBTte zAz<9|e&dd^6*cp$>nS90j;f(NUopR>8~3Vthxs-0PV?*LH_W@tZ<==t`70qG7cx^H z-w2s5>pLNz5c2mz{-M^qCurQ;!L2Ax@<31hpOAk!y%jxK-@jc<|Ms~q+z}!F6cX;J z-oG7da*K|TfA;Ts>aQrr%$Wc59`gzF54v(R&#yIR`ah15*Gaiw&3^=XH=ZKEVC{EZ znNxmc{y0Y&OV|~`>?{V0>^IF4?lQFrZf_Y$^XPi#awUNMVMyk zglU$}LTL~*&C(UqEZx+vb%fGTe`2Kn71P|IX6$2$#xzS`p){_s#0Z6>))$|;r$EgvfDSWBj^+&Ig4 zOR6Q!GQpB=nP|zdOcIJsD0ZPxJ*QAyLU9YlBNVStn$}t-2bIgROt*AHxg4Q13n>>V zly-!Keokp$@7%>WSE4&tDwO6S=gM{GDlC;cLTMqCmVsBC>tG%oYRN^GCAxKsh0?0V za;Z>S*U`GmEz1JdUE#M*KXh)nO7Gv4w&z->{L&`2+u7FLV7WP99Y?6JuET|v50&+H zOO0;b9hN&ScUe|i?zY@xxz}=^<$j@b5(=x^B|_;Ul&(VQCY0_%=^>P!wU$*u>((_q zWm%7P8-x-SvaXMQ??R=&Zry-->n_H+&AN3@38h!ax@Q8`ZN<8+e&2crUa>AT9J6e* zY}cK8StxyLEUyS9x{l86wCute%j*o|lo)*&XL*x-Q-#}=ox5*p(c;aPkT`E!-VMn1 zj$gKcdKdSmzl-d5j;x_&KDKajNSn`Uk5H*M^N77G=zwY3YTS=(6KTH9IMTRT`gT02=gTj|Zl z3nf)3X+oJGlysp?6iS9r*vMwqTDt~Jv-S*}QDp5Sl*u8}riRWaQfAbfb`iarbttA; zS+%ExOiREtj?J9^OkC?I>lod!(L$M4V@(lCRvjHnwQ^*OH>y zLSeL7Efi5}-5m7nnI`?LTcvi^=Y?`v$g?ZBXjCZI=tHz?>qWa5(O%a@dqXIfheYG? zRcowoN&9t#vXpr?{e_L@&`>MBV|`B-?OmZPtFgW>lq>5f+Q-&I7-K!C575{d$XsPT z%siWNHLjg2TBBy>_Mr@qTKyMcEwOSD7G2tPx@w30hF*Qnf}v%;x1Q8h`@#C7^(X7k z)?ci@T7R?tZv8_jHwfiMq1+^tn}x#4a*I${S#A@`idyTbfND0$W{7AbwX-oFa(hU% zJB4zOet{3F-CM8PMW|*oqngbklskf|**I|Z@7qmVQ(JR1vo#aST{X5ALRnci&1|i0 z?fm_jt*yU5yPM%WmliYQah^+y+r+j#Ysb^p#n#>5tJ%8wRlDy(3kOxR^|1{>HCta> zv@OQg&(_~Iz&6k}$VMk!BNV!))k0Y#l(j-xCzJ<-vR){)wYJ!xYVm;)nr(zoHiT5; z;^n|aqRM0Srd^C_X}W2Qih0tW|D11I2BxXgrTsb_sG?KTUrwJRY0I)@>#otcJX~X& zA(Thz=vto5e-==QjkAE5UE4^{WSiyhnI1i-XR@f)kTIn;F3w_7%~s~O?C}dN7FuS$ zjb~rh+7{Rr+7{Us+m_fawN=}M?J}XT`P?Lw%|c;Mdy7z>7Rob1c~&S}Yi&z|mR)7L zT0KsOcAZe33t9G}P+nn=Nbk^It=H^gG`mCBjP1hnAewspE{bO$fh*ys+n)lszvZI9rL?IC^Z`Le$Cv~AS4p4-p6^=#m66B~JU&$ik2 zbilbSe&=@R&TaIoy8RqgLuGxzwo`ZRMcYfZZMK(f+ikDdUbXG8y(W~MLU~;%j2m_d zdEyjQQ>#VB`BSMC#`><=mT=>@l; z$83z8YHVK#gT53@HxFnhRNwkvkkuGt&d8`>M$8w=$_p?oBikA-qjDAf0mP!0=){6DL;M+5}3 zTkKZ-;FR4Vl+QzgF#&fxaB%ADdciJ2FncQmv$qz?k)UAqb_m9P*M1#+SBw1tUQTa1 z?Op8MP|VJ}`j<8K?m{_QH^uC|?0x-;+57kvJ4SzGXWDj(P`)~+KeEW8O>ERz{h58R zeW+hIyZ@?o<(msFA5_#n+^%2MZXaP!vX8VU+eg_)+sD{b>|=%UoluyK{az?P2<1ni z{3Mj0h4PC~eyz2S59*d47^&IW&i@wD?T^zVwZH0hyBOW{tJ>}PLis(Un|@Wh(m>kZ zVXsY@ALo}ON4N3E=eP=+l*L2ZTo8FgkUHlZ5J*O`WE%TQBeOeg)!0u7wT?&E z9g-tl*QLY}rf)jcHuOsl?hZs_p6BR#SYgl@MuBo0rjA1GB-GAAy+o*8gxXc8-Gtg*s6A>OEdrJ~THCI+R7mX{?STGOm<9hOm$3i zWC^vuPzMNgpiuFJ;tvrj#UCovVYQCzpk=;>ryTiMRw&fCkYywEQ#aI6x@Dv5ExQ=Y zDs{`Mgc={RjBDK2I2Je-!eXH&2sP3Fsvj8`Xihed54Hd04();iV+b*xaw33a?sQ-zu))CodO7wSZzX4E>?2W@-EW(b>xZI23dQpmQ+ z4AH7z(q)@oFWbe)wpEwyIiY5TWP8!yr6~;}e&Rlo+z*EPNcvw-Z#x}391NLi9Ipv= zN{!=np-!!%X1g7G5ytVBK1O5km$}NZPamV{mu{Xj)Uv31L(aVC_%Ptv2Y%18>D3%u z7e9q1&si+A%wflI-Lp>}pE*8v9C3W%_|kFIam?|RP;-QuD^#CQ^Msl&)B>T>dCe5+ ztXjv{LC;PEJ^M+hMIq0MPkUBY@7YCo=H!&18YlZ+Bwo%-Ks$R_00VoY6vE5|T^^!&G5- zMDNY&FJr%$JM}r^bj#v}%601gqfgG^Sk`2;Gf79k1+!WmcxBTW5o-Gs=Q!Onwm_HF zIN1VSUPsT;os)FWChDFo)je}&>irq#-JYjE3x7P6-E?P8K(!fu)%45Potggr?23Qu z&zyzMa$U8V&RNbP=WJ)Ov&32IoZ}?7tA%=vP_Gs0bwa&fs5c1pMxov$)SGLajQ{n2 z&Ut}7PA39}E?-w~JH5wwXMKNmG5y(9x@iPIbosjTI!u#loHqpT*QeeZx?i6hYWQ27 zD|F9p6Y7c@=j}qhy^fx(bl$5AQ{v>*Aoe-$&<9%ocE7$*UTd5W1SI1&%}i_DRhMNR zc0Q#`_K0(%^HJwx&c~fkIG=QGa&8tX>&-nvy;rFB3H5%V)(CZ#P*)3eO|5fFP_nIZ zvOEgeUKHxuP=EG-zdxI%_h%2*TXr#)?b0oKQ>g1g{n;KYld}T3`zYFydp>7l^qx;8%`nXV^5bBdc-6Yh_ zwa$}4%l>vrx@9i*FrNxp_N-7})aQ1v?4^3kF2XXG3Cmn&p>7FU=Cb)Mb2;QJmrGYn zecJ!}3|q}k=3&7;#?{Qln5o9qT&P=XTrGwAT-{7_wQ;rg_h+tl{{HNFtZ{YJtx;b% z#~Mq+=51nopLO`j)y>t@Z=I`$-@0uVT0T_PXxC7zbH%v&x%#^XxCXigxdyw2xR}w{ zF4R|q`l?WO2$fx$okC@o<_)3ls&x$uSm#O%9DZ_*6zZEH>)r|-ep27Am+oSuOV_1i z2Y+`+x=f_wOqu;U`pGfF{V%6GHdnTbaZ`Ln)wtFR_47I^_K<5MvbY}Bx1C4yZD+({_5{LzJKvr_ zNR~}5?%vFaXs)OHf_;f#|8>(C*YmE|birP5z36($waxXiYrE?e*Q+jiu46*|N~p&L zSFx(!2=!Z`ekaruLjAthwKFK#n{sj!4nn#13iXGOU_a?2wD2AJwzK};@E5bk>H1hV zj5YbkkYR^0ETT=5(K?*8tnY66U;pXIj=C5%)wpP~pKDw+Ssm{W@A}Tg74Pf^xW4yy zWWVa$J?`z#cJth6T8q*tB--z;z{x=_|H(n>9~W9IxQsi@t)Cp^4tL9L#jUzEcLR4r zcO!RWp`H@zpMsmnsDBGh5}HA1VL}TRnq2D+o*d-11m@4&4xuSQ(KIbIf2K9A@5wHr zCv)p32f14dEp&f)w|;VvK1chn^R(_RZvFHicUPe`sBw1}TEn{aX6|0@!0AD5|LH+m zBYLL)ns9Xwbo;M$U*hIk_vu1wQkP{C+$p+biSFU<5$+`SNO!V(lzX&$jL?iiGYQQs zG>g!zLbD0YE;Mv<*1E?AdNX%g;6hG!hR|Fg$vmM8Iko2Xl3k2sxw>RNp}B*dnY+M0 zCOhASoS~kg#63rstW;>;8h4q{n$}UWD!2b$K_%{adS|9JLzsWPj5CzirS8l8n@l$o zrAXGIF3ViyUam`awfh?PweIWO*Sl|U-{`){eY4Oah1N=FtWs@+)>dfkgw|eY9fa1g z)_qG*vfBe=GWSZMbqYz=B{U|}delpHF_Jx?OSWEUokNm6h-B`ElzBQryM!6=z$<&3 z(V?b)!o5k?>`9?@t#NM_TDLlC_Kf>ElyN`H$V}_5kIak>^mETzU0_zj{j&SjfM&1w zHS5U+lSA)pXV3G@f>8N(x!=(>d(*w!{g!)=d#`(+d%yc__W_~x5?XJe^$}WMp+yTV zMri$n)?a7?YTfS!HTzIb=IV%c?oWg^Fr*p%D8~Z0$B@v5)q8d^o*mac`&wv&LZ0#H zi#6QBO23WOe*F$s{@Ymnb2_d27x!Is zOA^{hp(P7#l+Z@kdb|P0JS_rUnTP&vOvo`FDHYhg)Y9q|y9mWR-B8TK$SNhMn1>UD z{(bk-)6X*i!91+|<7zwug*Lu!f_Y*+ameBss&`_kdMEbZyO*9M&!~W4Jko+~C{i#?a>mMsxlZjGl}XudjHw$#HzG1$HIEc16`c^Ko-FAx@5{yFnx7WK(cb~ku# z4v6NzUyxRKp~XVW-0rzc>b%Nxhv!bA%@W$|Ri2feyM>0{3#vQs4-b<};o;KJaK%&O ze`vE-lx6Nauj{;=l3ZWcxg}+@3XAh|N=oPV@7}%pgmPb5dH31bIo;!Z<+CbEO1t|X zi{7=OEIVhGuk6gk)&&wP&N8pPxWtCUr>CWsRF>uV;!27u%1Vlcm1P&_6eQ*PiYp59 z3VmffS$t5QFT0{^VM=OOe>p~E7v~mH+|(Rjv9JC4mrp6J;FgHx`ocZhSIjT<4VvLk zHx#W}&!bZ3b)F5L2R#pY9`-!q*(fx|+jE4580A8%5L)Fr&tpw)Y4VEaNzWz^!=oxr z-DiSYXmf?em}i8)PaSeeEG#RpAd7#3on`J+hvodw&!$`*F8Es> z7w=0fEUNI8+5QgxFU#DqN6(x-IlW{0M)k|--7~L8RG*k$zMj2j%;*)B*E`ym-Ft>F zCoj5RRF4!(Sp1CAqQdfu9zEVRgoVqBsx``JTZNg_Z&KUrvYdiK{z_|$pBZgSX3QkW zz;{L$V94b#d>N-C-i>l-(5HEq?lL+1%?iz|zY4n!DDW{cHk zcR17A<`iX@mrp4v^_6AQt)wAMmf2BJGRs$-Sm-OtP4Q=uo?TSQ=aw=b_EiMxmsH`K zO*mTkinC`F`ErLhOKdnzv|~ z87M+=_H189;H|HG;+WK-Wo6m(SG9=D7?T<(1IxE=bAPqMLhag58?;|GU-g zT14`F$KdyubfH{XtRsQqB+M%<^OfrnOs$}K{FPbLwOjYd|NK>!+4D~_egXbT;oR^1 z0rRIWHIOWlS86MDlA@$&DM=b7jgwNPDbfsSwp1Yr=}zfkX}7dT+9$m&y(7IReJmZ7 zj!DO*6Vge8Y-nOI8Qg~Eh8BiMLpwunLyTdNVXz_AkYLC&%rabOSRXiy6=n$hSLzY` zZ}2~c?Wx&CMWL1cWzXySO26Inisx0&4$o_zokCkEv_(Q&EHwJ|ONCaguk;_V((m@X z6em(m|#rX1i$M|~o&5nxc*E74o^n5IJuHmsGhTW02H{xt>>`kE2;B( z&!?WxJfC}xc)sv_={f2-CbTPrwoGVO3hgSPT`jb0gm$gau3PUp?)lpDjptj>cb*fT z?>#>V?RufzD7585yG3ZX3hg$bG2XgM9}Bq3{Tq5;uD&@qqu-xg?jPO+HxlMtUqyCd zQE;$RdFWoMbqft0%HTgBi< zCd{cwEXk=X*SB`Q?5QPe6RQe+bN%1@&)4((X-Kc}{3Wy-su>qpyLC^>DJkw6)vsIO z?CgABxv#?iD{q(~eU&%dD+}!=q22s1KV{R}t$QKMpI$i2+&pPmQe0eiMRrk1eo8R+ zf2!9ew&+EFXB=z+Z)0y0sq_8!pKcPb$!nptyv$6msPS5bcDo)-lW$%r!@OWH6x6D8!^;(D0Zsu)%cG{8N)_U5^N#0%KWloY?-JCIc^>z%5Uhl~= zPsl4Q^3`GN+nrHpU^JW-7z__B4UUfg`MaBcP+eM9GBZ@JOT0a#&TG6~yj{KByxoO% zpV00XT8+?Ft?~BsMtOUAna)}*v^7FoE3`-S0CdgJN9Mi8k_rQxz({gznXjs_q_X_1 z599Q{Bg@?70>4koF3a}?)40IT0|QlGZag~8W^gmABq!THil!?+PwH90&)6r>Jqi>t z%WOaY$L7GtNyT|3fnNq%bP)Su-oZlSWURNnL&GY==1L~-FmIfqvV1;6^A~fbU z9}wC-LVLK)(3ksNRUJ0xbfb^(CbQ$?P4Y5DQ!BI$tGuJUqlNaM&>pJpJTVxn^ic6k z{#}TF8tY#QyiZyxUExjhPQdT8>i)mMS?x{tPL!_xub*X^Z4AQxcj1s9lf0Q{dpp&e z#r~#un$RAt@iNu$SoNf-47SHGGEA)~qeoy3`Jak}((-vrCFcfjo;TlH;4Spd^v?1Y zd1rfzz3d4-A+#rjwn=F0&O9ZwEkb)*XwL}kS)py+;GN?wlR8T6yp`T6?_BRZ?|iAF z(4G_8^VJ*;650zwdr@dF32mFuUgo1olPdgPrN$={#K8M_1kLe{Ey}LQD=C|uSy-M> zRG44L*fh)RJo6VxF0S~W)Iu84cLjdwAJtc|R#cXeZt%lE z&WYKx3ybFK!*+ks0w0cMMWVyaJ+}~aQ#ob63cj!vmKKy0`^pPvS5o+rvYx%W_0nT} z_NV9jWN>a(MXtZvUH|9T{d@O~i;nA=kk~aUX4ufK?DWKRjfslu(>0FI;}hb0#Ka6s zNS_zeH>+>&^un=v{+WUQ^z79oD%74gcsbaz+Iyq-CNBqAUJ=@>Lff(0dyDs0FB_lN zg!ZY>_Uk=H4+I&?j%HP1#r*NU(vq@@xRTkWMLvBMPOY3hJG*Rtz@1cIzP@@BdiObt z1oxY1u5-RhE37E;1=iY?(x$cEyS?{#@Acm2r6*$?y+>$o3+-K@eNf#$RP@zeu1s3( zUE^KrT_?2Hh4zNfcCGfV_ttth2#rDYZlS%U7rp&CnVnVAv1NrNWz;Ime947>IE=n1 z)mNJB-+>G4%bp#Pvyu(`;onPX6WbuL$B-jMwhNQk9s0M`>j^I>^qyO%E#9Z~=GZH= zeg5WX6B|fR8W%ZXSY=^RZYU-%dbgivc{$nps&|KectSfMw0EjIkMDnhGVJp1IZql5 zw|n<_Im_!?p}i-x_p3Vx>#|SVO`rO%wkO5n%=!OemwKbQW#c9`dyAHloiFL$um6B{ z17k-djZ7XjK7HckX$2*v6>|go+WQ0h+U&&!10USsW(T)|K5a&2g|D3b;}+H7lTs^l za(q6v{`(zHqs!Zzo#1Y>eDllC*k@kl_EgK&%BrT#s?};wwLN`IY9bRz{4%bjsHE&b ztJZDW8r!w+(6JNWq!uplk#AmNQFea$lrgDHYvq&`ma?AnrQWHwiESTfFUwWt>IT(X zwVO4d8{76GU+VmF#&Z*r^wfuy6y@$ScIn!U>*oXc{gcuem2g!z)C=CDck|Ufqk2_0 zs%~7}WObju(bW;v#%gD^o$e;Ev|g^$%Vn7(DSVoqPa^YObZ)7>iVFJr@-u$o4*g_8 z(u8t0yQja}=QIu)QZu;PRPE679va_#)v&l~bG2nvLSnVG+NS5)l+;5h>vK{iXG~8p zem(uIKK1d>0M;y-)qSJKq>Me^^n@PFLjUX*-OH+!asSLwj2@Gk_P=uzsT0P9<}+Bs z0(I46>aPlUWN>2w^Zy2RRpz+!e9EtM?Kk=jShdblK$)J-yF z=aiQY9XocEu2(T-321ia>o4y}{@IKDUG=oi{H6}?m0VQjcQ3;H-13~+l4KYtNe#R? zrDYY8)G&k3+sv&f)!#4Ty?s{N_&DC*#BZ7em*r!r<#6Uw%L;QMhcnj{IXs)qMPyXB zs7QuS`p8)S$^Wa$_a^rl%(%kHL{e6GlKc17FkjncQ-hW+H zm_CO0v62+lwzOi{c;1iXeQxEf2}60$BQ3)o$tz2o!27|x|Dd39g#MmWox|M=3eqO> z-pl(@vr3ZnWn1$;uXx6o6yB3p_*FUOahbgD$op*tz9hZPxSwM9S7jyR_1|=sB-xnj zi%;M^<&a|vE0WTJ@0XQVrRtwkPWkNx1#x;g$xCT6GkfG%-qXD(?R`bV^?XT38C6;_ zR!@_^m8#;RF?wFHynl^>v|eBSRvT0lq>bQx6z|h2%F^^@DUZ4=uP`x*_ldmUP*65P z|D5`&CrXR_o)HtRTXtE(a6Ts{+Pt#L@p>GnqqfFZJV8$%N3?@dx*=QgNhQq1`J^1F zSUN04O65|aRONq{FJ&`Fm(6EUq!T3#=U2s0#xKgHS$v+)`y;2n*ZHr$w~Y=2F5Ex&FKY%jxwDlr4@j7fTEHPA{9k z?y^hnA@_m-@+f(b+{2$+8NZk>b@hKf(EnK|*MDlR*X`KpT<1{MGi!fl#6nSiiFj3z zauGEw4#uaP(ww5)vw}Xstk zx$ecCQshJCr(g5eM~_V80eQ=m{Y`c(x`@LX zZ%dK<_jBcda+G%;Dj)Ih{nO?7rww$c3i&+XM8LKjL%9E!x`jiDOp*WF*+fHcDWAWc zhO=BY@hvBMm3XJObyo~Hvn|dxL{II^?{y;rx#yE^;IDs-&+&hv8=~j0+j4Gv{x56D z8S6)0@lD>+(rN1!o%EFk+D~sg-<4y286#cRrN^T^zV5N6$3s1S>~YW^1%LbXc(=zl zJr4A!;hW>(w}fvBe=hv#@MpqzNs;{ZO!!OTPy63J6uy;zkDXrb>@^|~<Eg5Dl_I(lp9zYoQ5W^m0u(^Wm3bs2`i%A7n8z%eP@H~#H{nZX?g4%&)1HDzG8n2E}6QxMCr~bLx zT^-5$e)_NE7IIHHiC!;7ij;@SedO5Sd%Y(d$UnUw48*9bJcMrt%kgrI-bbEUTS^j$ zt=?Onzouudg^V>SeDfHuNRoaGwX86|pd!*g5|2zO&gs@AGO9;Uwut&TOaF}|{W#7) zelj?B5~u(j;jbr7NH<%ZTkF zjz%q$u9a?*ZjoR_P__Rp||mQXP;!WD9h}e|+i}j!+p4njykq zGk6RwIX-oXA&MhZgE=}i$}rwA$uQlJZzwiY8WtHYH(YC2Zn(=(W2iMeW_a50l3}M| zui<^eVZ$-Q4~9R&!o!+`*~6NLwGZna785o!EIBMKY-(73*qpEhVN1hq2)iR}RoFve zo5NlTdn4>X*rBlFVLyjU;f=$c;jO~EhR1}*g{OpPhUbNsg)a%eCVWNss_;kX1$Kn* z4?h(Cb@=bHD%<2pxhrimLY^S!$aCZ+@^$iE@_Ko*yj|WeAC^zZe<=}4GvyMczmlY6 zDEZ1Q zDO$Exp)J$y)E?4a(DrFZwBH&uZqTwpRD;9@nGK2?T-IPkgAEOyZ?LbymkmxfG&gM5 zuz$mphPe&rH@vaonugCbe5>J+h9?_Y8g*zis8L#@nT$h3iM2`RCUH%sG^uQILz4%Zyx8RZCO<|*M6{2HjmV6s zh`1r5Hsa-ogAuiZu<#`)zRCL?wIFT>3Gg@$QjP94U)Lx{6;PYe#iNT ztGR2a%jde<^@wYq>sNPEcdXmTd9@qe2i$*nB0UM7S)Q9cPkBD}%HGc2am>rz>wU%h zbyIuO0Znt7UeomPrXMs5Yu35h_+|^6t!}of+0V^eG#}o)wE3OQUvB<&3ulYi7BgGi z+T!^Z$6DH24sKc4^469wwEQa45jixnDDsZT?U5&1HET7ZRb{K1R=ZoBY~7*tgw~g} z-q`x%HjUcEw8?98YnyFtPPA>=c68fCZ69p=LA!?SV%in7yS?3xcE7go(0*e3E89QS z{%8kxholY*Iy~6nqmB_Bhjg6NaaG5+JE@&wI?d{IPp3Vd!#elrT+n%C=eI5iyQJ?W zg_qoO$=)tXmwsJ}yR7Q+Zr3JVhjy*%`e4_?-JIPAua zK0S)qzJ1u!+H+*j%X&W3^M|O;Q8`g7qu%Zn(JQgnrMLs|{V9dCpZ5sA#T>rSmaWBS)#}ALcCVqEqzy~E zG3~<%9Vb*y*p_ZepORji{_Di}iOVM*%IKc4IOB~;-bsa%wq$CV>6z;?f1aE$`L@YN zru3PzY|1-RJ4~H7b>}qiw4!OxWtpv9&D!gj<)xEC1^Xk8@$-UP@I^7cb_ zjJjjXoo(;D>CRJk72I`T<*=0-?{0SY)p!4TPwqYY?v1_ok^7q8ckO+D++TSAdo{yr zHm_>GYQ<`Gb=B%G)}*i5u{LIH?KTf-ttJ-M`|`YH(vXw^l0UyUp+Scv3DL%etg>#F;6`5WVq z`I}EXRq)iIEt9tFeR|~6+nyQl%%*3%J^R4cR$Es-=XmbM=Nmo0^!dMESn$HnFP6Ue z^-K9LeYP!Y+lMb_y!`g|aocyllKjeRuO`0w@{XZ9UU+TLYg>2r-}&_GF|R-MM&CC! z@9MK_)0=(X+_byz?#*vSzqMsgzdg_F9k}=TeM9!Wv_F3Tt8XX0{lJIPHC6_OqczPBHoqWXB=@< z`ceAB5N63cf-jrPgt+8K4H;e1H*=gjb#KeJ*+USIBYRb47)mP zW!U{;PcVkq8Md1-#Cu_%F^c#tTnYDvH)j;lCcIsEhwvWZeZmJYnn(yA9-d@BX8+cH z(*BpDvBS*05}P_A9eo_kaOnRFGX(xiUC;WTW3&jH6q@Y*z!Xq>cvxOy=EI5yDw!c+c%)3pBM zNBXH~fz#D4a5zB!QEJ6}{aBTLV%r6NnO3MDhU1s}yx%gl{+;&(8g;ASQ~luNioZTf z9U`jy8W4IH>Zgw5dk2Fav)2 z_{mA{pB%l`KdbR_{QgLFXa6so8czQ*@V6puy1%-A;C+Lz5gWL~@CNxgr9l2cRvK%n zH*CANRW*<1Ef$6)!tkUpaApLz6r3UqN2-r=XuNs{O{gCL;iP+gR!pBYl6nF&M$!-% z2k9^crb&{S@wXWd%*=S1M?(f=K`!J$0WcG3E`c&&G;dxBkHZVF8}`6HcpKh<_uvEg z2#&)y@Ev>)Kfy2X8~g#Mn0ajs%#v9u;eOZ#2jO=~;%Ro0m03k=6!eC^KzXgy$I8r? zmDw_DEDVEqU}n%d2`0l-pf1*IV20Al{)jan3Sky3ftz71Y=K?yK2TO$7?{BVEubrO zhn~<2`am@Fg8{%yosBx!m@Tw1OK2MpX+W%P8ITFZPz}`4_BQK9 zIsvhB5<4fekWOYPoz%riU7Xa#NnM=O#YtV9l+j6DoYaLIE=f+>%Q+Y31Nk`@!=)gA z@;WK6lkz$#uaojRDX;TxpuEo4;8XZhl3Z@+4XH2#sI!aTyY7R{@B+LD+u#lO0EnH7 z`f$y!~incT$JO{K-y8H9YsB&ewUP7f+Pd#8K>7Pp z_P%$+y>LHlfe(Q4MN_uuFu>Pn6&e7(Mw3@GzDDC~v=!_?`J>&?6M6v^izb2SelP%t zdo<;X9tx~a(Fs6VqiKuiQ9ym7DNi){N52fjD2BMi5RVv^i5Uw8umoyhGdvB?!t?MV zY=d{;6ZjnTG>*bofUhxsNfO18`cbET)Tv)%hyW8<0FU~$0zB?01+Pyz@?SB}^qd$4{r``G=gX8cG{31yMh~ohA8$ewLkmmsE zIG_vARs+ay0Btc~I3xk}9e^_fvVeLIpuPjB;{d!La1C4sH^5D>79M~{;VpO@e)J!# zlLivwfy8(q-V7wqf$f0$4eSJ$06q*%gk%^EGr$KWa4k^Bfp@}6xCico8c7;Nx`U|8 zAUkx2zAz5*p%nQ2p!?wspge=#h46g7#{``pTYPrn7jvH0e1l99K03qaxh*F#^=GW!cN!)#A+~YH~0X& z2b68_K{yPw;}FU+BofGXNIF!&Rd6dj4o|{n*aFW0c?}`2A>=h=8&KyV)OiT$4*3{x zWC&>w`3k7-kdyEy{LMjJ1B8PD)ISziVx8ayyo_xI{b4xZM=b3XOMAsmfEkbrdBFM+ zI~SJ1GN8P%_!4_P+y!^Ty+GTV*uAhHj=&G_6Z`_dNz%}( zVL7Y^(iloyhwcGlIP`P)0*(Up97-DxrLIH&lB8jFAeO_32#4TPAirVX0OcD-`G!%xVSm6Wjsp8CR2;>t_`tiGgwuyfm@GJfUz^!=V5&sRG z0Ae0bEaHiKJaLF8_6ZUYiv$-?=LG7PPzF~3{YU~aPaw_-ls$p6Cs6hT%AP>_2}j@u zAl-zYfV2~+Phvk9204IxiMW?I6J|pRkbYt%;A0~FRU&msTn@Lw3b+GmfLJEd{)xmf zk#Zz%g%^PGB)$TaDUtdnQs2b)f%Peo@+4A*;b9oPkBj&+ESPaBs#BD$vM&Q+myWw6S{SlADCfEYc!t+4;k9ZmO zzOJxvxF1%-Iv}lgFq=&>To}R2v|!qdGws zApKEM&9g9Gp$d#EP0M?2Sb6njb)j!H^Fka6>f(+;cg(Uv8&)I zcm|$>7l1YxOB;;c1qXomk0t(NiT~Kc@EM!{Vlnn-_?2lg$}o;HjB5pL0k6jO1L`}D zzGNKr9XAT_Y20L(2Gd~%5c_cgmIC!1cNHgxg#qn5o^;3CfcTEbr}5E{0i-d0Dv-wb z9Pk0_{rFi>43`6GjVE^FiQRbOF#blk18QIm&_|8m01pH49KRK)|M-`H`j7t1s}mDKpoPKz)>LY z2`Z5O1j;_44YY?&&;`0f6byl3kN_hf8ECf&V_`fH_X(^!6NvEy@|>_8-i1RT@IL7Ie+FN`F*pvt!AT&_G>0^ix=(Zfah=!}sQ<){&2NfCsvB)rj8QKB)WLyGWfmmnYOa}R7B*7?1 z0pgo60WyI6Gsr)K{4-_)ampxz3b+Y~RmT0W3W!w(ZISU5JPpsnb3mLjh*JjT&Y;{G zAHyeb7>HHI3HSki0{XQ{lz$TCpG5g5H3HgjQYYvF-Jl1M?j+KkM7onmchX*X4}J$? zF^O2CsFX=snF^3rCb7uG?@Z#JNh~snMP_Fp-AvNW#Er~EAQqXUfLLS_i%epXNh~sn zMdnnP3B)3^1m?hXa3|ai_X6?AtcA@$95RVRCgshfyqRypTR?d;4+1gBBnFvBfEZ*F zgG^$O`I{t7rreV$_vA*<1X=)XH<_|dCI*wEU=wTuoSghB?Bp;(7_@=*Kpm&B%oLWH z!ZK5O0sX_27#Iy>Ar+|O6y%&T31$Fwn^FdqFb@{O5)g1X+yuA4ZE!n04le*@nL=5n zP?jnC;T?DnK7cRbEBG3|g_H0n;O$hrooWON*uViDpf}JiQ~SXH*aEKr>)%xBI&~Mk z52QKuJ0ONre}>I|K2WJ|4=U3g!W2n@$@} zuZGKE8C(VT0M1UQT+`RW13=lPKMv2r^Y9YTuG5M8bmBgpcAZWVOAHyG#ludlI z8v^TDb_7tiY}VcE77z(tp$9|(?V6nksgMpCkO_N$^s+yJ!|*v!_Zc#f{)|RI+B3{x z11ETZd}h$5Ge~PDwq$8U#uRU~x&cJ%(>j%WzM>%~% zU=*alIG~MvJ}83$?JOfSZAJ!*@H}1$gLN2gKCJ`r%{!@I3~U--i=p7$_33Qxdhcp7M{JmQtN3*Lf#K&yWk<%2#>=i*a9!X z%kT=k2CoCQ ziI54@zm!;)<^V32E`mFOHZFY*aAHmv& zUj^5~4RABu3glb98px~s0ocI#zcz@3PS6FqLlod;#b6i;cv&$VMgn!MC;;kILAfiQ zh3&8dUWZ*kn^$}fe@RlM0c6mi5j260K>C%#AOS`IZBa>GE5`x#tE7IFxsVStfw)!@ z*GlSISpmeelKNFrmrC-i`~rTLq^dCJ0;FGsFIDtWRk1)`RihyTe2@pET~!FASw(tP z#H@-mtB6?@F{>hGRrkRCK-{Wm|EgMe5T1mm;2GEo)W7O&pzc*4z{hY1J_XvX>J3HV=w~F&c)fet)MM*fX+ZY=5~Wto`;u!HkwNr=h8-V_rp8zK70h9z+w1PlIB@}{N{~?NiYSnfcBVI1oL4L zTnd-L6>udGpLvhMbMPX(46njYpnc}O1>`l4yyg*;c}L(V9EWd!7|r{G3+q&fgyBG* z^DAI6Tn)?NK3D~7fjZ8oE#^N0kHHf_edm+seA;3@dCmU{euduvKjxp5qy_l6fO;rUw}UgVqgFaf<#DyWWb{ZnJ^WmLk{FY0aOBUSwLJCTm{zx?X%!! zxD{$(4LkrF;9($c3m%6j;W;2K3%-Y6fO0R;%lxM#Eo=Y|aDodw&>AT7Ldv?3vMwA9 zLm?h0=R(?XVJf7Q(x4^SN ztQWokyJ0U7^M&sM{x77h7aoK!C25fjnn5dQ3mu>n^oAiY3MlKMF+h12QO-rgbJ1)l zg>tBZ#ZV2G!!jVgi*AG4;ZC?4ewL)gVIYGF4S~8Yt^m?lJP#Ja7w{wC++t$8M1udP zrTdQVs=(R>d_r%b1Y&4X6_8Ma6~}^#3fQ~YK(sUo{?By0aQ zZb$z9&+`={Sb+BoD2Cq*Xpc?x!k;&NE06QC? z+kn}a-GE&DnK&SiL)g;*dm3O*19XelC0dv0P%2TI`sfke7#*T@h>k*s=!ba*JBl{@ zX!jTW37?}^w7k)F5&a`_N6Q&K9DSqzWE5i=&)>)$Eq8PRt2rD51I=`x_YU-)f#2dc z1MO&F4*NMsK1b1EpuG&V7vl*A6{jSnsfN25R1-TIWJiPSXpldD20g*Eyui!6&Re{V z9Sk!2LA~jRKXV58o(9EZ=7V$@q|2bGq>#!&mavQrve?X4vV$PTJ7PRH#++izDaM>) z%qhm4V$3OKAhEu3Q9>F_fyI@DL zpWxlGU*dhSed&+)#ty-rVuzz!>=^7Lb`|o+?!pbl<{?My5zcaf%M@}QnFgEvV0i{d zAjjY+%yzID4o<|J1}|p?_C0tV<}`R4|B{RM4L%{^z zf;jJtyNzbFMAx`GxSM;CC9WNI5%(A!c@lRW_dGB0D&`aS7H{(|AMi1s@g?2)jvtUQ z&RxdYUtE9eFD{lihT?AGWR4rfSjO`=^2f;@H_a3}FGSbqF( z4CfE@iPtAypLl)Z^@-OfUY~e<;`NEwCtjcUg{)>R|FAI#ertvNzdeAR{AMS=T@Qkx z<)}bKs<4HVG#6G07XGn#26U><*%$Dd8H zw?FUUUfklJi&(=t){_+kBkg#kzc$idM?OS*{5>PL^DjHt6$GQ~aFjb7WpAT;@FS1}(Qk}-j~R!oV`ed%xj``YV?2AT*^D)tvAu%e zuMo`QugZj>`(GQ#MXta0U{~YJeViK__bdGw7zE=hVLs#QP>+U;#O;hXukq$JJ`uYd zZ(1z0a(<0%kJFOeQ5WF9;^z$-~&qA& z22;#niWy8XgQ+(m?^JoGHpV-rn*CI>pXxnRy=SV~Py3V~(05uq!x({iO&f#XOqBu(pg3ZE6{72Uenyxw2f?LD`$dWx?N0f!;5^6=S??{>3Knr5JEXZsf;}*)Z!Lo zPLMgFIjxA|cG~d>=8@2mCwZDr@cab(OZWw|NHB+lSnM&upD79c3`zJKGe}57kA&su zkgyi{6S9y$VIL=hz?y>@#VJKuDo_boXM|H7nP;@XH#I}o8Fyg6Gu*+9`)~&{GkkM1P6WYB&zouAGtFtH?``JK^rkQU7{VWnVl2AM)Mci<%$!OJsVrm( z%dnrBd-?DAXSu*-u2B>OiNz>ERoqKrU7DdsqFE>Ekm!yR8JCnw5{6 znsuH__-2zrC`Tx6C`p$jU6Sl2sV23#4ZV_D;*OH+CrP)Y7wF1+e8?w!Nq4?Ow32*){vxhGxVGKE|Z0@Z`rZfdrivvr;AerDf{ z`Oj{^tu&!2&5?Wd6MRe@-aFfSW?v10Ies(ee%?TjIeN^|W6o#jFsCKFO~lYx3uO#W(ceM|{W0zwj#qaQDe$kvG{MlHGo?T_oE@vdqacCmU?C zn@Y~Y?B|AYJFnn*bM>6NoP8YS1bWQ1qq%mIVkapj(J7@Y<VHC z&vU#?XY3&5ZQkVrKEe&9_&!q1KE>Qqeq%Tz8G}A4`lQI7vV=`+C7T_Xe~S61n19M4 zj&K~apBIA6^JJbU^E^A4C-1yURG}L7F|Q4B&ij@>S&Zk+FU76+uIE3=Gd$0Wyvh4~ zh#k#$PxHUzYwT%$ANmnZ47$ya#~$V{WGNY}WE~sOZT=Saa}aZ%e~Bwx3xZUAQcIvq zs`;l@N50g%aW|>=(++u4AEP63r^=lwcj|k{oBA=I;;vG^Lf%y0LaJS){)Agd9gUo+ zdxBtr?{UE`c-{g%7Yt@5^Y9lJEW&OUtio+A&|$%La@fgk>}Y{r3r?Zef(u-x5Z%&h z;BL|)X+dl55}G-(%$A>+)m*P_PU zMilpQ9}i$hiyo#u&+#I!@EUK@g`XKj97Fk?QH*6g6PZH_%Q5>!Ygx}`wxQ1=eHO{S z=wc8oE<<@LQU&+FID(qojPG}`?{~4eFTMwv7vG1>iyuPX#qMfx2cF<5+|pt>7tdl7 z_PWILme|*lH*il&`VmbGZfD5|#-YQK$xLGgcC;i3ds$*HOEOr=8rG4|f6q7PCD$kl zg7gyDNqRXdP>VW5(uy|dldem;OzCEyZuaTsp8ghJ@eMurk)Hg58%iI5Zs{_on|b=* z$eTWu>C8mlbbCm5SLyB`eF58%b7^(j@+O|QRL`ZWIm~I!VJ}O42g?G=qQkOEgb|MY zEOSfC8q<{K=(Q}0r+J;Oyu}DSa zkagKnP9XC#nU~4DybR?DMc(D^X?Zo|U2gx&Yg3o{nEP_Ku-sgid+&1ZS$;AIGW;e( zmkd2JUg0&&Dx(V@qC>_v^uTU1deR&F$cRU$47Zdq61_4O;9fG^O2!5@v7H=tqF06< z8G2+CP#6T6r7`nN9Wuj^KU4n9n~^`$pGBGX;?^^t)NoF(Vxx#x_c+ZNi_|1w*WU`(twy+HyR@li3J6Um@Q=H{Ip0lzT zC9$8C_Or4gm1#~}9>BM}vOOJnl4p1h?_TMSR({G4=&`a7@~re7tQ?H|D~B?HSuAG- zcDmBsS8iYvTgk?sKPz`(<}1%}flHYG%B$Q6f>i->uabL}eXP2Lhk2iYB;t9iE(gKt zo45lvwYnXT@F-973a?==tLnx~!3VO&GV*gh*P@n%lVxvtM%`5Ar-OA@7>b_=eZK#oN5Yd$^@F zALDk`OywU=2Ep1Yc-~q)*V@rqx4(8GlbMD-Yv;0b+N=Tl;8Q2 z(fq{(Qb;9@MVS3Mnb&2qlGUukcd*Xv|8dv&^Iz8MLEv)> zb%XbA@SY7ff?%WHY}93A7e3?@KIco^%SIhG>acMjvDnSV-x!AdY;;Q--O|Qs%wQI? z5p-iN?qy>hhd9Pb&TuXWvO*|<@k zJ4@~?JI=C)EHlrFVK6dh$(%JDd&nBa7{=kIveMZd1e@g9p)@8FU zn|siYLFlnL9y8zkC!-n5OneKQ*CXfVEo>(Tc{j_uc|QlqN6yXHDGGuu`fe$X`EMyp zdF0+A_m(hP;=9>mrd!Nz%K|)aYccBcARTyur+F6p*=jFa?PaUIY}I9}E?d9EcfPeZ zed*6YVi|(l+3NXQm#~aX*6Xx>i#&@yR+_&npRhMltZ7WG>%zIly?&Kc+ z#{)cs*>8KCPUyBx=56orKJsq+m{0ivdAEJTcl^Llj6}|DyRhr+4e-3}dTx&)fw|1b zUbZh{1sl*|`&P2qf&FaXjqhUnNzQPdOB4h_b~v7&-I%5{CyG0`o3@yLw)tnj$lK_V z{Si83+grB$**%ay+q|JZ~oDVVQoX;@p zoImjmO$i1U46Iq4#=6X+V6n>LyKe@iGTs?C2$kiivGCJg@ zvXCV#Ba@Y^W*hdCYd^VqgcPg=-WA!JcB2qzvWJZI8@* z%zRH{ z7=|6~{R4a1YcG2fNMtt2WU&i#-g}UIPH>uYTnK`F#VJKqs#6Q!@xF$b|2}>8>9bGv zeUH%@H?yw`-FS}=`Gn8;if=IYeKE+qPv(6x?;DQ1`$pof_PK+7<8e#-KO`;VkE|qx}V35o2n?kG=}JoC?+h#1PLgMxfhKU5(e&g$^g~ME(=4dB&1~3SjPmJepbUiVZ>C7aF zImmrN?h^~x&V?X2S)I1LiRYc1hB=))%xTVXk;_5g^A1jxr9Ad>suE^-sw(wph+8^! z8+LT61)X>We+HfELN`9(V?N^x%>Gm?zcHLYF!xjDe#+cWnfoc(Pc36B+3a8!d&%Pv zM>vk4r_K9x2})50w{%+O({Aas9h|O41n%jy*`I!q?-|WfJnxLIXPWRB&+t4iq0gDF ze8i`Gjvbxp&bRcXKLgS0OdPtMnZ+XXIFrdL{$V4V(d~>bXa0M)4ri_g!P$V~=yA3@ z6{$j18qku5XwTzx;whfx1zx5z=6}|#&wh=J9CDHQyjwb-hrH+WImU?~xZn;hG~o%n_k#CaSb*PL(B)!H8q$c{h~##3xTwQL z9WJ)V9bN3eOT5bKyv5tRgB@HP!Z1cKlE0XMZ{Xq-=HcBJb-8Hf7uS=;7XC$-i@VX~ z;wj|2RFNuFBLaCZ-Ap~?z9jc0xi9^X2WZE`$b9K>+|;Efd79^V0kgjpkJ(-_$4iAl zaM|-NKY~47?n4avT>cH6E|0-}E>9(anIvIHm(y8}o4c&n<#p(G`6!prQQLkg?};{H&pmHQ_!POrox4+CYRmp;{b<| zweSR|k-1Rjt7RxpDDqydLNy|g_iAnGQlI;IgJ1C8tKM_J&Hm+5d+dMBRZSzh2}I-}opxvzKQTfRr;>p#;AnXmU_ z00VJT*L@4u&HlQ3xPB@KZdB%WJnx3CH^#DcMe)d1G@H51CkR{WFCLUyo+{T$@KOc#TYV#Nrj zI<=@nePk`xn5M{FOy*(_^C*uaZ?PwMn&*(W*voY0b-w3M7UR9ey{C8+{HC}r#RoBr z5sYLslhC2K4#np(pEMS+gmr9S6M7Zbt9TB2l<@o#r71@!VdzytuM#!6jb_|~nU`qC zBXmHf5_**IPdF*jg-_{CU-~nUSmGGU@90)S<`T1*gS;i?k;+2kEwL1PD6xW790)>6 z%2~1zW?1qQJg=mlCAV{d>p_UK4=Gg~H&d!25!9eI_EXA!N;TwGqPT;*xfk6^J;)n; z#OHj)H~hfQ=vJx^zwsA;Gll8sQ%avwDaci7C0jVe5sq_;v&dWOGKI)pTJF+Sxe0SG zZSJLIE?t)f$XnV?m2Qe%ls5a)A7Hkny|=XYlr9KD%J@wgUCMN(8}IQU?xsw4bSR@k znZESLe#*pPCuQuUj80`H;GW9pRVEWRQ^t(TVY3CdD|N>sz_%j!{9 zrm~UTO(&k>Szh2}WG!pvWxF7AS((dz&rkG3-m+$1wja^RTXrz<3?+$;oC`wAd2c!I zDfcFRQ%;w1%UH{Lve-;6I+W9)+)++&8oMcXo{K?9`C^o$4CSdvWt!8L2Y86~bmU2% z;W@hU4!(!-KhO(#%Ii>m5b~Fozr6hAWh`%p<(K2$%dch~8`y;JwY=}O{0?>@XL()A zU*Hl2T;)a(;y=bhD#%?y?h3x?3b*hu?_<{$67jqWb{6W^LfwDp{j}o|9_49X;Wg|f z)Lug0MxW3x>CSiP73!WsbqgKCbo2Jqwzy&NQ;W9SpAPpFxP%2lxx zzJ-d7xQ%ACBno*e+Hb{sk-MVY6<@#|ReTkhE6Q9^=8A5q;=AZx@gqLL3@T2;EmS-e zgj5Q{^D4d0kBs7Prl3!y8R$}J33^o0qf#a-S7C70doBafmWq;dtSP>l#`QxepV)m8CF_C#JU?FB-IUSiR zuRz|)Ytg;(Mvey|Rm#x<@2%oJRrIgoH&t}0axDl6b4OwBKg|7yh2mzybO_TS>{gl( zNpsqAA3BA(xiGgBrdQaze8qSCz|ZudAJOO)rbn0_VP+oYhQi!XSPE_^Opmao=n>|I z!ek3O!+9=oh5xb^1tC?7A#+uktIAxp4)tk>yj2_16nU$G8 zA_Wu%ArYl1M<|uiDJNG!6?Qup1I6t0Sl42_EIuf!7AKT?SD8Dgxp-3NS@?NJn!a3*wM{bf{;4JC`lRg zspIzR)TR!4)X}4k9o1=sz0|oAd#PhDbsnG{Z}Kr;@HOA^BR%)1^lGq00C z63NUX71`@-0snJ`QU!%|Y3Uh4KgC8-^MlrbYMsB>38*k($8@cgDWAWZbcGK8R zHogZp+t|O~cs1vOkfv=hgQgvE(@me@d0ymgzQ+AE{T>;c_M#8{h{n5{>etkJn(Eh7 zzovRLoq?G(okI%q*~BhR2O*K=u$xHt6nP(=F#E`t>CEfM8fmtX-Wlngk=_|O0PlC9yv^0hn_gtW4^R@G^ay|l82R%YJHx7BJiiTwBXT}1xYrKv_O?76i)x4wl)TF{!? zxswn1m9b1=4k@Iv5PNC8j102KW(T|2i(6}bloPn;)@Or|sG8V8RCj*H^ZoNyLZbdA z0ePclqi2+NM0rP)cSL2fl8yLAqP#2W0PZO2B<>>WJcV2j{8wTWrzB{p_YLt3Q z-3x)bySLPp_W#W8ZR`R~`{DEbe}1o5o94*v&W^t4nP;BoJHbx8nZwwRN-m*Onb0DzA^YIkbLbiRzqEG%>U? zRFNG`w3m}P%Z#G>()y5wcDST!PT_1^fD3YQ+)>;xE`dwrlDK3pg-hkqxI%6MH<6pf zP3ER>Q@Lr}vD|d7hzoIxxW(KOu97>RTgp{&)!b@s4Y!s%kz2=U9OX{pPUg$vUQ_1q2IjoeM#&D;*|7VcK=Htu%rPVOG=e(oV|H}^32H1`bmEcXicD)$=qI`;Vf*9cr*wNMhR#%ItGnFV^KEB zLAhuunud-=(@_zcg=V99Xg(@I$DvYGi|Wt`D2yVg9<4&F5k)7Vv(VY-9CQ)70&PTF z(Kd7wx)t4qZbx^cd(dw5FnR<%iXKCcqi4}`=tcArdKrC(zDGZxAJI?fXY>pD75#>O zM+ea#=ua$Q5i8h-{WySwI1YEi{qX=i5D&tG@i3f>hvRfS29L!P@v(S1F2b|$JUkyC zhf8q?FT%&;rMMQ?;d!77ug5pwo%l|?3*Utw!!P33 z@rU?R{2BfVe~rJx-{YV0FZdw-1OG_~k%&xe#7cIH`Oo<;_yhd+{LlRF0w*9r5JbT$ zD1uk$CiE8u3qyniAyG&bGK7)BF+z@zD~uDy3zLM&!c1Yl5E3ed0HsN;R4&ff*Uf~hpQQL(@qE&Q=PSGO<#O`7bv5(kS93YMoj}}LZ$B1LZ zv0}EEBj$>E;&^eYI88iOoF&c{j}uG9GO=7-DprZrVvSfUM#SZ!CaxFH6)zMo6|WSp z6*r07#OuTx#fQa5#7D))#K*-a#3#k4#HYn)#23Vu#5cq@#Sg`g#IMA!#qY%LB~C&T zmWaels^pT~l1K7N-K6ePU#XuoNJ^1Xr8H@@bc{4c%9X}R3#5foiFBM)DwRp)QiT+f z7D=n5)zTVit#qQaPSPYQog|$hogX~|q?e^vq*tZ4rFWzQ(l^q#(s$DL(ht&)(ofRQ(n0AD z8Oua=%Bt*=-Lgjx$U(W6+*?kPljRgSRZf$K%jt54oGFi$v*jE)SI(33g>so(E?3Jna;;n^pCC8LE98^pljRNa8S+K)#q#CyRq|H(die%#@_zXh`EB`q`E&UT3$_poZxJk_MY6~ii^XbDEKZBx60r2N z^s)@J46+Qi46zKgq*~G}g_a4HiIz#0$(AXWsg`M$V=dDyGc5}&<(3Ldm8II!U|D8a zW6>m2J`>q2XZwcJ`^U1F`YR$FVVVQa*?+`7WL#=6!@ttVO6TQ^wGw4P->&w9S~ zV(TT=E38*queENpZnkc*Zns`s{8nt@m3Wus&>k#QKEwN$a!L=d63J z&DNK!FI!)?zF~dG`mXgu>qpklte;!IwjQv4Z~ejgi}hFQAJ#t=qVS5WSQNYBQ2Hwa zl!3}1Ww0_t8LAwm3{w)66lH{xrHoX@D%nb*GC`TBOj3%K8OlNyeu2gPSZc}bo?of6rcPhJ-yOg_?dz1&1$CSsF zCzR)u=arX~mz7tPSCw~__mrQNUzA^!-<02#gUTPupEk~hY=X^Zv)ddtugz!cY3pU{ zYwKr=xAnITvnAMaZF#nQTY+tyZM?0}Ho-R0Hpw>4Hp{law$Qf7w%E4BR%biGw!wCq z?R482wli&K+0M3|V>{P&p6w!hhV4pQqpityz3m3ujkY^%J8jR{p0zz^d*1efZI5lQ zt=YEEw%_)O?QPpTws&nG+di=!uzh3u*7mFIH@nO3wtMVeyU*^o2kb$6oV}a9mwkZ! zDElz`aC^Ev!+wl?jD3cErhS%uwtbF$u6>?;zI}mxp}ovrX+PdxXFtKd(!R>R+J3VA z6#EtSEA3a=ueM)fzt+Cd-e_;KZ?bQ*-)z6bzSDlc{Q>)f_9yI5+TXIjZGXr9uKhjx z`}Pm)AKE{%e{BEU{;mCI`!5dUzz*Wz9fHH|a5(xq1~>*f1~~>hhB$^gj&clhBsfwW zBOF&snj&+W6j&~M1 zr#h!OXFKOO=Q`&(%bgX@RnFDUHO{rp6P@dvnv*(Da-Qtm;5^59uJdB&CC+P{*E%;k z8=c#o*E=6_?sh)xe8l;v^D*b+&L^BtI-hbr=iKjn(fPXb4d(~W51k)5zjA)93aY3| zs;pX6tE#9r)vh{Jw;HE*Q@g8u)qd(w^(b|inxLku8R{f;vN}bbs!mgnRi~>(YOy*) zoueM7ma2=@C2E~|f*MvM>S}e3dVzYOdXajudWm|edYO8;dWCwWdab%u-KO58-mKoK z?o#hkA5wR#FRQPpud1)9ud8pUZ>n#pZ>#U9AE=+J->BcJzpB5fzq@#s;Og$`;p*w? z(^d9JOlZLaHF+g;bYZgAb`y2*93YlrK0*FCO>T)SOQ zxt?}Ckl{Y7Tk8X!|ikj+(CDuJIS5w zPI0HY)7-<|>Fx}7rhAk-$DQjgbWdHW{-~E95LH9%MN8Qi3_qvdAU=Q)|9>HVrs2;y3;OXt@;~DH3;u+%^>&f=ycyc{? zo_tS%XPjreXOgGLGsiR6Q|2l6RCq$3YEO;l6wj%i^_~r$(>$kp&hVV+Im>gl=X}p) zo@+eUdbWA4^W5UO)$@esNzYTBr#;Vjp7lKEdEWDaXOCyU=XK8;o;N*jc|P!b==sv~ zmFH{EPoAH>4zJUzdR<<(*W>kieO|ve;O*}1=N;@F;!W|Udegk4yhnSddyBlq-WlGR z-dWz+-Z|d6-g({xNx7yp_UFJQ}yUu&D_Y&`=-pjm~d#~_b>AlK(wf7otlXtuK zdhadXTfKLC@A2O2eZ>2y_cib9-Z#8&df)QC?S04luJ=9f``(YeUwOax{@^|6{lh2v zBwtToFJEt8A75WzKVQ7Bzi)tVpl_%z#h2+D;T!AA_7(aj_>S|H`pSIez6xK+x5&5H zx5QWJtM=9V8hp!qYkX^cr~20WHuz5So##8>x6OB*Z@ce$-wnPSeK+}T_U-W9;=99l zuWz^SVc*lfXME54_WNG+eeV0h_oeSE-`BnazHfZr`o8mh@B7*Jr(f`keuv-b5BP)r zM1PV$*`MN1^{4rV`_ugy{!ITUe~y2=ztDfIf4aZOKhHnkANEK5_5KF`GXHY_3ja#~ zD*tN#I{$kAS^l&A7yB>qU*o^lztexGf0zF*|K0w3{P+6r^WX1(!2huSDgO)pJ^okx zulnEhzvuti|BL@u|8M@^{RjPj`2P%W0Td7dwtzk033vlN0zCr*0s{j_2Sx{u35*Gh z4P*y$0=a>_Kz^VwFfA}MFe^|JI4-axP#IVk&;m4YQsCskDS=Z1>jN7Crv=UmTo|}K za7Caguqkju;Ksnifky(51|ADM9(W?~WZ*2ObR9kQ-Z0%wBYdI$lx)- zF~Oo>ad1X(W^h(;c5qH`Zg5_(BzRn~A{YuT3N8*V4W1AT2bTqx2Ui5w1WyW{6FfI~ zUhw?j1;Go07X>d1UK6}FxGi{HaC`9j;0?iBf_DV(3EmsLFStMWV(_Kl%fVNIuLfTW zz8-ud_-62};M>7>g6{_33%(!xAoyYM>)?UlH^Fa%zsB)#LYx>U#mRA&I8U56&KKv8 z>l4>Eu3y}+xP-XmxUq5BaXE3had~m$<0i&UiklpFY}~B4d2tKlmd4f2=wH)NRke?^ za}LhQsho%N&ze${xHPmfG8g`h?vrQsFRv<%M4C7k=hm=Bnm8}#(|C#pX>&@{{^`ld zdAZr?=?S^;N5b&@oYaKujFb@x83ie6`31SDc^MhWC91bDFMn2Tcxj}rv^T8$E-lNgt*H;!R#k<yw_fc37X)DZ_`u-y>2o)~+@CcQ|(pH*`Cf&Sh|! z+z2j<8_A90j^;*d4$Y~lnoDzQ9?h%yH2-$!-LYIYm&4_9d0am9_&Dg`pmv&ex^|v+ zzIGvW_9fcT5>FFks&T31Yj!vU4R%4Q8TFM_mGzaO$gIkW`XxrP z!kS1Om|$wdt;t%R)RWDhSs7ZM7b^JHbyJbj?*Hnxvrv66;wD>(Naw?9E}UtHq;q6z|0gWQG3oVudN6rLM~%8W3u;jX&9_d8QOiZm4I{C9e|XNo`GOc;zNYej0cB{3%7P z*Je*CnyMQ+&4E0VyNnxpBX<^eHg^tpE_WVxK6e3kA$JjXF?R`fsWwbY&=R#IEm=#^ zQnfT~xR$PEXqh*1mvdKeSHjN#{dX|esQ-1PHbTqNM#0Z${WqW;qyII^5Xez^IUOcW ziRxnlqunHe+Cx*Ah{y%OTv`_iRTQtRW7h&~9VV_WVyA~b>UD1Dggq!e5t;SMA)*z zZbouevZ@)ijb51EP*Y#YmKt~4f_2z*Y!;Ntn&s7{bTSjtshO$6`ebCLtX#%kG3+!NfBT8=iIP0+X#8baZf(@NQT30)a!T_G1N(mQur zX+2!8F|&G(YvzV-=AP$X;P!BPwOlPv%hw7vbNjgc+>6{x+Bj{zR;W#2S^HT}LT|(H z6qVQ3g>skF)<&2d?*WQLeST?VWpQm`4J-;^V?UPFB9|!`^YjX_^|7`FdR6~c1j|I_ zqRR48c2VUF80D1KmoH&6vpBS(UVpxL5qx`zdxv|Mdyjjc`vA0=54n%PeEtddDfii& z(wg!mwG1qC^h}FG;p#cnER)>QNN6sbTNQde=jylh%4pNHiL%CNQ?+CFLvCMiUvgh@ zUqgOxaNj^JLMy=SP+nP|R~f0RDqRU;2y&kd-BrzSQd|!e)26`VlbYe-@3`-|ALf8U z715JvlVK4oZKz+udI(ykD-^~!{>1&PJ0zl$+sJkk_Y?OEcRI{vrZxTSKWl3e10cSI6 z45)TY95nI>Rm>=Cf6J_o9|bu7#*Nw>qccxK-I|#2G^9woQi^IpdjaukKG_rX=KPJQ zmo~o<_0bkE6_`n$PM?9nNBz+NG_XYN2ATmARMVKZYI-O-L3CJaCECKNF7NSWv7Rj5 zRWoZ&WqqhxZwCN}&7kb^a$Qn^RvB6tDQ9}^wAu*Fr`nnYk*JIKSCNdblg7;76+!5 zZ&WYvMh!$mQ4&f+8E7PUq_R;S8jmJ6gRc%8Zk)ZiuC#v19GJ(U72_*w>Njy#=6HkY zP|38X;xGv1P&m7;F80d&X@AW_yac03|l^pd2^Dl01+b)YWFw)FFF@7$ps1B@G4VWrYhSxgGs)a4?E>^a*gBEp55V1v~VTL3I^9i-ok!eX#2M4F8)S65L5V&(Najlx!Qq0KrM zp&xf*X9afb!giCx;4XBzg^ANHG73F~8@a{U&oGd6rPvN#dpgi1&ios#y?TvN@Y$^3 za{wGnw4EDU@a*X!(E0QZHFiQHyDndL7)4ynCeS5pt%9~)%3T&)$U?Rpw5r!LCe<#k ztZCMFR9F3tHr*#01zy9A+{#_6FAT%Lro$*K9YE5iRZZL`Zu8$LByW#V$W{guMo+2W zw#OC_du3j3ZEd)svWA(0nxlM{uH$6cdq$}{Sg8gDCKy{r?3E5Efn5|3XS!G{NZKI* zqu9H+k(*(Ir4M0jApa+3f)-!2ymC=} zpJ||rmM#wU$qUtmKwqsX2UFU7!|DXauKEy6ZnpjWnCrSU*$ZkbQ$Rmuy2@u!ZRqpZ zR?N<3{kS>0BmEmiC`J+AFoE@Li~Q)MkY=`F1#(#zy9!p9^i@XQKeOupa%g$m z%)!1Dwx?ardC1-#M$Uh7BR3(A;oM8$j|6t@iisgKCbl=x$&N`R#Z{$30n~`%4Onj7UO32RE^=6ch z3edQ&=RIU^osli~A`Ae05YG#)Bd0bJQN=tQ&u7_wW@UBHBW61@OC*tgI(n8OzA z#yxQo@LI><@xWz09!G$+x&dDfJk{Ir{rGYGD*gn2gMTFguuyxFfh3EJC&!W^GM_9a zE6FLqDBVbQ0AF-BFhyS?Z}N> z{K!f%ES@4>A~uTGi}#DqiZ6<9iJywUNp|2g#!DGezBEOe1>D7Y;47||E|;#8Zk6tl zo&eV2C(>8aPqI~xll#d>$s>R@SR~H}p5TeV4m=N-fj7wa%TECV@I(1~`5-XKhBZzWJ7=mU_!t%X-UYmPX*~Jpw$v7lEVqy;Zb&to^JJVMDUHBvdq&x>e60Kk>^0fu zu??^#+A@KeHpfGa7=ZS0b^^G<7CGfj;kD79CraD zYY(uoK5+c#wQdx0VKlJisN&nf~olusR` zCabx?begAD0JrI6^(^2p-3;8Nhty|)t@M%li%WL7T-|_|)Zdi=T%=L1JlAB`G}jzp zAFVLv0>;L_Xuk2U`RTgAF!K&UU~L@;ewHf3Q9ZSxzN)eOAi7oOQGqXyJX=qM1d zU?1&b`VzIQq_}=u?#z^oyqU$VWq^8=n$h~TO_93mCo@`H$;_gXw3OC#y0NYZT+KC$ z3qjwi2bTc26HJqAA_(H4Tfwxb3v)0q4%bSxGOb*z&_ddxt=s^V3CieTusSkF)nf2e z1hf;hFf%syj5>Ix)>N%5tO5Hy>;<6^CJ3My!xN?ZA;JC#W<$89SB3eg@^Z$t7=5GZ z4XZRW2QwcL%M+YLHIQFURc-lF-J8_TC#I)l-X_!e1a`@prBw|fvt@axkeSVOp^V0B zOSDSucx~xsGyzS7_Dt5Qv|4CO9cu~mujw^~Ueg_Cx&gREjfd;G4dF0UeNt%yI6{iR zbPVN84=sY$)|4C8^%O`ozI0j0@XAzGtu%AVoi;-S>Z zdV0~imkJf5nT=?MR;__cr{gx&fZ-f87krkc$0Jm~3C&?ntofOX%F9P&jYt`u5lS}l zTA(}0V*O~D$;oTis@UwbGPHynx&@VkbPl0KXt7qWHE7GU<=ToZs1hB|J&CGNwYE~z zzz=q+wn6tfKvT>X>yZ0zRXtf6Q>ol&HhtRtq57WtJ0K zR2vQ%E(z#HmJ@Rk?bf?ntGfLD+_;42K(w6yO!bbU(=ZqU}Z*5GEegBuF28_1`lLsbVt z{Mfp&x~Ma2b_cqXRbZ!fMkCs#oyi{T+W_uJ@EX7r2!|?i!Hu#QEa>?wVA8X>QJ4n? zHlReId%2yP(S7KC^ZlriCl3!L>N4bY*Qr{oHn`O|jETXVRZ2WbQE#Jiwy@ z>%*c_$ZZ-seVPZ2fW^(%~=51wdxJ?*|%0& zoeE#sxK1uz43vb1iqITrmeJz)u_p!FiW1x%gY&mTNqx8hxSw_tz~yFBUYnR<9TGpb zdZV5PP#TPZE}0ZsR9{>>y>juAdX?LUhv1>$vE0qQfscZgPbq2{<4K{K#X4iI%{6@~ z&~DS0PMm-f=e4=lgp;__+g>m`CIDBF?~>oD+}0S$HHKg^$Lg z(J0t?o7~JvwFc>8VQa@3xPuhTr_y>Es3dxor!F#|ZM~;GqwUh3*Y4E9C2CR&LCb(8 zXqRkgjqDOzW;v{<2Bk|E!8jXFxDMywT%3pVaRD9&JE=nLF6}<;0qr5}VeL`vaqUU% z>3w(-o(!#-f~VqXb6d-wq1Q~iTf0ZQ7vyh8*2Q3U0hl4Hbk}h%kP1eYS1~PbWI0Ug zst^;RBZsJh(cQ&(22fZ49j)rIvG_+vtTNn$XEG)EuxZSy&W53%rri(H25RPt*@2qL z7I2M_>_K2wL9#<_RL#U?dg9$IvEeo~Z!AWmAeTo#>Akm&L&v;Zr9bueBM0yijB*oIFlyr=cZ*{$pHelJyZhV7Q&+)A2V{k z2w!Z_o!iad*2&O*8EL|ou!0ypx=ZPe>3$ivvk_me?P-zar?B-wKw!NWSr4+Z{P{r@SFH8{5F0Ezl-0) z?`v;rZ)@*r?`t1wpJ<=9t_IKPqUkL|GKeA!yhv`gbOfH8ASS@yXuCf{LV(lim9 zw+`sH-eb2q7?aHuKjlOd3bD6pi zuZ7V+nOKOG`$YRf`%(j5a^ukCCw;IYTso^(T+6#ZGX3oC?XC5?vKvoNfS|- zZ0PLPKH}z_#KV0;e8j>|qm%(h6O@|7aHtAa>183n%h%c$xLHd=|mWC@->tUdmtwZnk z!$Yq?hu$9s^cEgT=*8ByEg%Z?!T+N~9SZtcVrdc=4&bO_tNl8wI9VX+>&#kSkjvsSC-^_r6AM7LK1U#XUgekHE z_>5Czq=Bs9{7qyTSx%9IB4-mgGFDNfQsmO+%qV9>?*-+xz}sEi5Z1MBwtdLStu3!D zEv{`SUlOgMQ6V!^jhxE)Hxo)uA}5nmC~{Nep~y>-Z!=j>HjvW@ERueT0u%))ii3hG zD=KTNXI8*im51g6P(q*;g0XWRDErV9z2JqQfF-sTT%rz&%88sj{js8kvU;{mvSgLh zmH<6Eqa>vgY-J_tkoGBol^V^zO@4`!*aollAWSsZsjU@AoK_nKb6sV9{Fps$d-Y=0 ztCvvJLwkB|=!DXQ^umOc@I*Lj2UuYyGLT(M+XEq?HJRCER}yBABUe$>yOCT&Q6C25 zI5wygYigI*w6VPF2d?7B*1V(F!F+xbxgLz_WHZ@9wvuh+IOuuN$kO`oRu1-l#OHEA4%7Ei>smUYKGE#>R>yw(6lA4&Ao|>MPnx2u8k(Qik z9LgZ~;t5UU5^_I`1Vu-|U=&OWC6rYs6dt?S?4{l0VPj|AGK8(hI^z^rNAc8g{b`;3 zWxM-7>5E-2o@5Fhc?Q;t=g9MTKLzgw=u8x)u=OIFqOtANCIUnfW4)m07>ZKct{5+a z;zV8{uaeiu>*NjcCV7jZG>XzG%A{xnMI$L1MbXi%3(1pgEno%edsOeZ%KGsQWhMco zo#sTqw#JfXu%s;<6?2(svn@3>oUe`aSuDNDCN`6|*^Zi*I?<7SH*y$#*p-S$Y^9=T zjImU$Ig(42zBh|*#iAQCvu~0*?W$JIhDU56gKEtI3sJ>{S;d2g#0)&Iuz}|tcrUN= zE;jH5#=z&Yfj^d_Y3&A{_wqh-;HOZO*Jj}PZg|2LzB}K8@5%S#dsCE8(Kw0MB?02kp2 zTlr#s20xRZ1*CvE6oGm(lcHG^&87&x&TScG+{U0}4o2+!#BB^lW~wetOTNw+#d(Jv zMZ8{DAfIJ}*has@>vjF^*{F2o*Ye=J+RmTIuj4hI@+a{p^QZ8q^6M!oq3Ae@N+~L% zsGOn-ib52D?z4D1e;RW&a0B?W__O(Q;NSBoS^|p^{7_UyQG}v;_GbfI54*Lh{e~8o z7}1ZAR`s?>>sL023Vn>*cOAmEL2ci#f)aU z#>Za;x(Rt`AcftbM;Y;5oaC*CW#1UDP}vyH(&gAM-W6kXPC@CBdXHwPb7 z`!m}NzR(>8U+5w96nY80g+4-Gp&vzOQFIPPAiK_|=mLr^r0AlS!53^sH=k{EbI>>r zSX{d_1gsAII77R!7ls<^`nhafZ#f!Zj$*9rCv9~zGg+5}zc9wA*u{q*|2$*-FEz$r zJCftyiB4vo@JKpjH?BlnP}6EPNn|ucc@sMU51J_}$csktxPdToc6z z*tx-hQCV{+%V#VM{;>)mtTu|?e0UUS1`4(sC|GsGQ4r%bIb;{K8Gp?f|EzpGKWi=w-_rhy3e2@isvAl%P15YWl%nuLd# z269hl8i-4p5uW>}BAh2^Us_ z4mtSvS;d`g9h!w^Sbg?0tAOyb@QU^=1%?hs(L+qAfK}iLik@m?MiyQZUT0E8fGz)H z6zyhGg`!7w9Z7hH_2|14J=`iiJ}{>6Bb`rS&$_6$GwO;EJ~QU>fz7R>4W?b1SPA|E zNbsM8pFx8ED*VPI`14GHzeLe9th2wM=*9LD{14$zQ-bfK=-DNf{+x>yXdSS+IG!$uJ-6(4m?7K?Ml`5;Thxl9&+ z%w(~+fXQO8@5Sy0T_iDn?BI5?Sga5i>#|q`OTjXVJ_lJWF3@H1C!NS**D`RnnWe^CY+#p&TTiP}rLW;hj*byUHm;p#! zC9ZC70Q#MxZ#y#piBvqvlq(h@ig&t@eJ`y@htIdioU1l2a0~A=qHMP zrs$Uz3G-hz0ErM0h#3WcJ*=c@X8o+Yi_z(gLBd81YY(>lJHP+Q{C<|r@8>9% z%=x|Nkk%e^Zoe$P%I5Yf6k8g_*C@7jac;jQzRTwJ+c3AW@)wpKv#gKB&y4x}DVxvO z-p+>8!Fr=R@x=ooi{8}Y%x%jFY7)O?Ui{8)0x7^`43!wO+pNP6;;%qY5`Pqb5`Pwd zq1Z*Sn_>^e-p%4~;_qmb_y@&4io0oHihBUxp0Pif@nMcm0A+v8HH=>dPgswWW^#>N zXtmMOBtf!5X_6>Ok}O#$_EQ|7I7o5aW|#>3_?AUY029~?{q2(IxieysSy`VH02ibL zb?n{PYz_XPKdx#JP?7U{?Y)7 zA!WZ7vY0ejf@7fV3A$1OH$Y0FxDTxJxUV*+WdP#Go@wanW(|f*BVr!T;s#5jD2~^l zoBL~XS_dtDZ1^F4b!nEya!x5*%3)-c3Q*jqx`cw3SWXBNUJ#|h|MYDnZ>y?ou_`vZ z!>PL59R;GhLlirR!eg<2F>)-&(E3&M~ZH>Lx#5w;aT zHvoF^j6&VTUfU4SW86WYSEgSwZz()l7=c~#OqQrH4+4%A0$aP1F({`L6;y^<;HpSn zEl|+IK*-5uu6%=5rnZ!1AUOiJb;9}N(#TSv`Iz-+;rJHj8O4qZ*XiXjYFxz%hTzQ2N*cRL|$q*E^4~vM(0;2Xwh9BcgW_q8QQ0b8=!)w((5Ckg(@mH2Ze9JJr zt|b@#WdSe4@NX6Tgy644E&}%}xkYfjPaiMW2abeR!1sE%3x}{-2*8%c8Eu$mh!T@$ z)T+JjOG!-|o;i}CWohSucGEK;?5(Y7L>9Exqxtt8Jv!}}F=Ii!fL<+!BS1AqFVC1! zm}l^hp#tr1v4b3%9yk{~>L~>|1*rv@1qtby`MC+{8Tsi6>8UC3H9aFcEjc|e1;X{t zi-wKOf}>Q;aKvd`XK^QCeA<@ZR4~3Zz9iIf!o;xEPFloJ}Hp3j#wS7EXzJDKj^BI^geJZ*~N8(Xl_HeREUaI2oPNbZxp%& z;`RgvD3;Ej1$=UyMKz{(DW=c7vB7{5Z?S#j@H5P zuubTC^d-iaz$u4*cqqJ!=V&;$oDIzT0^rTFT4Qsgs*uAyvwE!AJ3;6 z+Bt@>4*Gwg=)ci_`1uqM)R%23Ps#@=XNEil8M_HC6>z76q+%9dQ-F_`rh^746-pDN ziP9u#GMrPMDovA)rFbyKLnt0f@lg~Hqd0-$M2cZiNQQvNQn55cnh7VGXG?RWxzao) z>QktcMx_iYji=HgDlMi`C6$h6E0Q+{T=q-#5F8ObmNW2AKmvd-OFxZcCp1c&Sx2iI$Sg_EJMmIA9iN`gvej23p32u>Y@Dq0Wq7?0%u39>?eu(Ez7 zvuuXJ)-{O2nnksc+@z+pBo7)vQH?sAnXxLH9lBVm z>QT_>F&g{26b3vZB?Nz0`b z6py6%B#JMi_$7+Jq~h09lBuLK>dYf;f0rfGO4Bl)Y+w1rX)L~?ajirhsT+38c+4GB z8pO{jwKWAmiY{6SN2sb>9j&b==ekxwAR7LCqUorX`k4jmv}B0a+@Y>)ZPAZ9)U7m! z3D`_6Pj^CV&4x&}^>75Sw5k@4JN#2yn2CdvrS))_j|`Sh1%4_X)g*0@PNNv~sU>jE zv(;iFovmAJ@X;meq9bWLV(3q-VwSxmrjN9tvYHhxc^=~C%3h*WTebS1^P6wjo1HpO!&p2w#2|1`N%+9YiQa;LOe+9GYGIFI6d ziVJ|;DQ%a)0ijSlj^gp1kURf^$=M0}vxUQ^+c>0KVe==!ZmbYY2gVj%+9}-y8!qWi zX&1#4D4y6P-7Vci@g#~T|6_8e^pNxzkUOQ_(!YK&!sPBF-al`}OxF(WfID=jlKGi7*Y>Ij3%Dg6RePU%JIHy8kl zL!D7Mr9XipqMs{onFi7RlX=+!n{HWa@&I`t#bC#XP+U)O1I5cIUcOZxEDw=~Lco_{3_7stucUYt#Tv!*e+WA77;5Fb z)d}fY5PTh=Vqila0k%^)OCBlv^%Ab^< zTU0(Uw zFoac+VHTdNL99VIi6Jl3W22aOTPd&YydmpkO>fBg6kos^a=0>1VPyauFEq7Q;+rXcwEgVZZoub?5*L1TMZyZ^Jx-{ut!U8CgE@k%S{j#<7y3%IXHV1Y8Jsmwp2Lrl?xvWjrHV#x`$i)vS`sDW2nEL&1t zzcRdZ+41$&Wl4JY6z~wkFu{A7As=|}PeNrKJ8}~-`zBhgC3^M$x9S8VF}g!-*$72z z3`~y2q59D)Mr4#^3{L<^RD}{MYa=X0LTl^l;dM_sK`S!4mC;a9pV)FeQSalZm7%SK zzS#i$RVC_)Cf+M5BVe0_187w%;UId1op>(M#}kmKJ*5t! z@uiU^qf@|6nVAftCo?rUD{J_OG&mm9CJjW8(jOm@T$)lA8lK#?QnwqGy5^r(Dm|;B zyeu>QaFt3)9g&9F8OZx9{FDRJ_tqkfczlE zAXpkHZlZV-#UNC+Pz>9wZ4_U(UEXat7v;yu5(pqRK!$zDcGI~C%r6C88n6exkqOd& zndEVW`-$L=N6yHYi?G)cZ z@lJ~GqY zFXsLU=HRqcqXkS!FPNB{bqLIvW4O?A977zKO7=EdN-1vcBH}`pB?jUa>xkRe6};3~ zPB1W5r(^8Jt~|5cvJy7;7T9^e+-QNF_p9wxV#_*XF@6OW<0HAFYRBk{jS^AFUfYwT zf98g&suEXJmYMx|lI1krT5CB)x7Wf(0XE&QnFiaOEtbvf9XrT8N- z;!^wx!+Y<-obfBm!j%<=I4y4$a=zta*gM49O)ZyNF4OI%Z&3WEHnhdsqwk|E?0l2u zYKq@#F?w1yS~kImv@v>GHd{bTc$?yP7!LmO^txrc<>tR<;53`C({eX7!E&c%7qj`j zNAde$`P*c<$8s;6=*AyV{9*K5cc3t*&4KP#Uo#6zkpmus4#&mK{C8WTrJ@~Y)Euni%wR)0$I zXB2-<@fXZCG-q`d_)t?#JDuh2))LKP-nV?vx$VUAi8YQJx1=&;x76N;??YmnlvC_X?jaI7~_{5{2>F#JsMuN41I@gJ0M zlweADN<^Rn!?|2aWJ;`**eG#OqEh0f#7l{vk{~7BDCt2-FG~7Q(vMkuNPkKOQZks5 zp_B~MzJha~aHyM-L`st36cHtqzS;>(SQH z5L9`Lb*wepnq$qi=2`Qt1=exa@zz30j;3TfB}*tdkwPc}IQ$RC;7KzjA5!uQr9y-X8>nzO6>g%! zgH(8t3ZGEnS1LNF*oTU#R2)ymc~q>XqDI9FsJNMmyQugS6<=>B&#dgldS6rgb%|Q? zpU5*tX=xj!(OzhJO+7!Me<-!=EMUvLjxHHV55W|7;a(u^qBnuM9y)c0{^l&Jsh=pbFL(iujTq!M+-kwi;Jh23~hWpv>? zjDS1WsE(yXJ@ThCV}`2>r*y3s85IJe;eVt6bez#fa3x?t!wc;pIwE@mNLx97xlyXU zL_O`lIV$bNS-WT?Z6cGzR__|4dJu81?nqY82+!N~YHTv9;X2ZRP-A1WbmACoY9p~-zRPG!T#33awk=)P0RLu}w}9agJBRy>T6O<_r-#iD z+_62p+h|MA67~H5!yax6YF*FxOH@B@)DuE>p8S7U&lV&cMl3vI)U0obdPL9H>gs5# z{&%Pt(QOyBJw{F9fgjpQA4MZ@!;aH*A8SwEK9?sMVkn z^@zq9`3oUz;6VS>ZJ#l^#M?%-hLouADx)JDF1!nIF03CIu+ao zV}_4`;?G8<(vI*9iIqpKwdo2h4jR=;|Nn2H>5_h_7;&OVW{LWL8OX{IFkO*=iez+T zR*4!ulJl#h1Z=yR>{R9{Hlre=O4MDk75Sf3G*?0-u@!n;t>|)R(BKuP0*;66imJF2 zx8hN}icj$?0R^o4qbWItk};Hk0Y96P97=L2$)hBHyVA|@=_NHVgJV|#XUD`w1qNj>&v*2`ag8Se;B}ht-t=2t+|3?rJB2C@jy$kL_Vl z3CwaQE7No*uQHW6dC9Thi%v6qJpqr)4R^}*km3hj1Wr4C#DWRl@ zl443`P%@K}S(MDCWDX^BDVeujDUE_Iq%2|#CZ&>+`6lR&qa>s=n8>1kLHAEU*T6sr z!?(Z$-AV?!Rq*Cf_@!haB``Sb6F?U*hmk5LGsvApNok{U3MFM-gxqP$nG77?8VIhuq@BJ#W_aDrGB!+||l8%C*Wyc#~?A zvPs#jY@q~jbUYZm7KPjm%8feYc2EK#cGwRk&{?Yu$gTMo za{mN!5YDtwxsQ^F3AqOudtMlb+dJ+c^nza~U8?0l{Hb}?d#fQtyd?wL00x)PxvL)M6Y^k<1+i+XD zEyI>c$)%J4CF62RuAt;f3a?inS5qM4kZZTwvJ4E`MjLCb4fMZ_CI*{Y*4l0VLhv65 zKHFpl!6}q9nh-n|AP91%bGEQ;whdnS-e?0oXj7wY9wnQ*2)z zB{x!X6D2oO0t@IZl-x?mZQE^YqZp%6jDY~W-Ne|PEf~A^UyS_|jGfOg21~^qCdS}J zEStGT+okMRgYCgi$WHM^6NH%zR()q=J6|Haxrz?vN*%QxD4 zQ1WIJYj#kS4!vsH2iieZYP1icbd!9YtUSJ<* zA8#+D`wdL z3^2FZ?_#SaFEhYE-2O1-Eir&`p;0Ez9Q#v#0IP*q^mO zXMf)Qf_;yDuf3V_cFH>_@1(p+c^Bo~l=o2HOL^aR`~E1-Ua`Mwhm#fdHz@BnaTcU} zPs;ZKdk5e9U!eUHpnbxC_9^89CeXfMDq5%Z4s#U0v;V+=_C4j}8tp$)zFQZ8_N)D% z0W^sE3_$D75c8)Fv>vfQQ`W_gO^@0)@}ng?M2AI}Z4L-`44CV4xE#!9oDSx|a;OfM z!|m`mybhnk?+7>mIsGUfPx=0oA3*tmlpjR-!IU3Dc}N{~U^#j@dW*24Iw0v$Cgu_; zp9aCc8Rmxni@AS*IS2D#Ig%(pEQ&b?^I$pB@D^nigu~(!G*E69YWKh*>NZDlq~mD7 zoMRN_lNue+^T}PqoFm(j2Z(Xxz#__nzE#)c$cIIgPwjLO6-WPn?7eq<6xIKSJDbeR zQnS5;8hVE$KuD+|34zd337wDz1VR#02p}bgUIl5=&4waD1w}# z3o3$gpV`f#d_l~Qd+&e1>q#cNbI$pc_nbL%rZoz0eZ#2)zy5x)9>sCK3&nLraelqr znhm~5vtC;V`K4%zOZFS=H^gtK-!Q-7ek1%w`i&BDCn1LlIZVi%g^Vj*g^VlRh1{du zZ?vbE^ULt7&qPlXzi~ni_bM&|#ko%<$kBHNcPD}?)C5-~NVE z+u*m+ZE(XkR0!<53V~e^a)wu6W3CI#{b<>{&k*@PK10Os z4^3cKgv=BD+;eGue<842zkj46@dm}9M`Q+7$YWiGDncGtIguG^7z_x;P*dA!W@$T3 zb!3fN+Pg=5SNz*f&tNk+-6AtM+#;JmFUI>u==pRvzi-5AUp+%}L}sXO2rx7-G&D3a zG&VFbG&L{~n<(TQA?FI2apEK)=L@+&$b~{KDmS$7h|JK&cbuV})Wi@Z zmS<^0vy!{r*d26ZhHj|Lz=)){LS=@YsLT+dY%oL^dI@<7?;6v7%2OGf1sL0VGuhYB zUsD>poqJpcc01E6skC?lZ^z--)4=<2Nc9X=*y6mfE-i2>i2dgZoU$g8z8CCF{fUAf(f+~#U>Bks$*a$AVps=p{5Gc4f&N4|wT z5=Xw5s|DXMw)19jg@NIc%W$8NSGWwTgv@zz_an*wTK1xbjqW3XRX0i1YwJUXCpE=AYJDhrCl>h+UvuO zzCxxm)BX$j86iLKd7+g2!dog#46{Ib6_wBDH45 z0Tr1v)-l#YY{t4m-tRKj7xJ@}6B}JH0*y~5M@$+Z4}=2 zhW^di))?gO-;6wog`yBNC~yBWJ1dlM6qWPI89it$zBVdHDY*Ntx&88(~~@_8YDFJz`Reh~6SA^#}kpM?B#x$&(ErM>65 zxWjl{$iH~IwO_p#cgR=n?o02aSNlR!8cMq4?bS}Bw12%M(sZTf|nkGM!LCAjz`I=B9q3DF-BNShu$U;$sqL!OX9*vo7o;g5=}`$F$={a6su5dLa__QArz-jP*kmQQ*wpQhE=a`8X+|? zjS@<2ug>am|DI49F+@`u-xb=O2yMJ3v7@>&S4PdpsG=-{Kz6M&XTbIPf$b zF}>sI)!ueXE%bJUy;3`F`dpLR2c{2ACrlriJ~n+~`qcE9>7-CP3#E%tx(Wr+&}a7$ zO1MyZ3MHc4bgDvXUwcMqCZ5O{>6IEMX+4*ED}C=O?M{^Ti>9Y><8n7 z5-*elp(F~0ed?fcb7POn%+1X$)V@*^Go4+sS7k$m!ug6XwGJ)iuFUR0W@cVs2L2L`Q3y<1YAos<=t2URzVlS(@fX zn^Vnc=5%w0InzAGJk~r;C}~1T7fOauGKDfmC}V}fhgm`yUv3^>p}8E-ae#3iB#WEPKt` z$tj`aX;WgqyQjo%KKAsAWxaWmM_`4=enQNJ<2`$eu$&zm=uoPN~ER!w87WS39g|bH|j|zojZ7g|QC{G9lJNA`Z zrd0@Srn!aDiqK{YS7Z81R8PO$&$-NoLv$}JCjRQ8ZtW!ihV{_wQ|dI6)HPe z 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 Y|7p?e|NXVgi~sMh|Np;3u59*y0Bv60<^TWy diff --git a/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/Icon-29.imageset/Contents.json b/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/Icon-29.imageset/Contents.json new file mode 100644 index 000000000..3798a8b5a --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/Icon-29.imageset/Contents.json @@ -0,0 +1,24 @@ +{ + "images" : [ + { + "filename" : "Icon-29.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "original" + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/Icon-29.imageset/Icon-29.png b/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/Icon-29.imageset/Icon-29.png new file mode 100644 index 0000000000000000000000000000000000000000..712c051b2ee143eb5fa6307a6274eecbb9b8b39a GIT binary patch literal 1893 zcmV-r2b%baP)Px#AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBU&<4Ht8R7i=XmtAZW*A>Tq_s;Cj&hC15y|%G2HZIUOq=Yz50u)N6 zHdRDag(iwhl~hPg>poBmg+#$=)u1#Gnl_4>N_}ZdXb=ghRFX&)PFo(5h9ZasO+^WD zv1>k!zrde(zh-CV&h3N2B4&-CInsH!cck;1|GDR!I|Daw>wy74m+*lr&p*EzQkuZv zETGwZ5HSBQ;BU8V*thXpt8WE1)A!vHFn?md8tr&nS10422dV*8D!!b#;hp?ION10c zFnl?GOD{W1d_8mXGr3o14lCsp@O__fIKqP3N)|7i&#sr-s9F6uU%7K3^%Y4%rb)i& zaJ1_@_ck^V1e*W$4|B422z@;RrW703K_B^Q^FF^&kV^R!9fx=#!3TfX&fJEDeEW$X z(emIbQmF(|NVE>f=5myoXQ(bOCmIb?H>Z;3MYVj?d6u)6#!4w}2i9H-HUDz>_}Z=$ z$B34d;W`eH@ffGNKjo+wVAqWDEuN2DnF{OFXq|L_Q2u}Ihm z;Rhaul=z;H5D;kiLREtEgQFBYZzlKxFjrhzXelKtR;<9bZCux7aBz@hP@pOmqv*Mm zClU;gP4MW7dQ#~s7T)GzuXiFBIAhIt(AILJgk zz*9bx**r=qe5L3c%~GOxPaD8~(=^N0tXV@%O$|*=O*Az%kxr-i_mM*g0zzg8*D0{= z`R52*76K4LKoC$>Sw%&{=IB3x`jCo;t`}&zvnZ^o-7`ilq zF4;ZIH360^S%UBT6pKY1$03`|lF#RnQsB7?yNo#+%M1gBQt6$VNOg5}c%C;6Effkkj>G8a2(>AT9WQOB;03(C zcOUtJi)Dqd?I^KW0@EeKi0t~~z zvLYZQLMuGq<M}Y;$->0?&G$H+`nQ@1vB$^*ny} z$95d2fbV+*XjHLCc4C~#i7`yW#0*6k?7zU|$S}psBwB;-d$^v<=9hPrOfAr60((5q zd((AYgb*k-bp=Ku5q`1zUA}xdbrX0ya&QKIn#j^i?Md4ihSI`X;8oczym z>gyWlKi|tMe>%vC^A~4>?lA#!x!jOp7&TH#w4NI1(P$JYB}aM&ICr`mI~HSJeFN`* z_%Vk*>1N5oIK6`hx3EWQ5`VzC%owrpWwU|?ogG3(;0wY9Y=+qPvYm7==3nu>}FQmGWFREoog z53_ggUgp>VmegEw3@|OWZ{LoTl3XrFe}6wMEiH_XkAFtt4WR(7t*!0N&CL&0R#p;? zMoFjBBoc|~>b|zpueRCMJ*5-}4<3AP!-frOOU0fQ3SgS1xqJ8S3ze0XHR*JkSS*HN z7ziPzU2BcL<_^nbGD9m@uB>-m*S}Hho3eH5)~)a8=oskg>e4+uJ^IwCQ`3I@`0>H@ f>(}4(zs&yt-9tw<1UGGx00000NkvXXu0mjfzJq#6 literal 0 HcmV?d00001 diff --git a/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/icon.imageset/Contents.json b/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/icon.imageset/Contents.json new file mode 100644 index 000000000..45ed516cd --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/icon.imageset/Contents.json @@ -0,0 +1,24 @@ +{ + "images" : [ + { + "filename" : "Icon-20-2.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "original" + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/icon.imageset/Icon-20-2.png b/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/icon.imageset/Icon-20-2.png new file mode 100644 index 0000000000000000000000000000000000000000..ba434cf9dafb51cbf84d3a89dd4ddc93ab97cdbf GIT binary patch literal 1088 zcmV-G1i$-Px#AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBU#zDYzuR5*=|)L&>EMI6BK@9ge1m%Aq2OPcgH&0k{Fi~!^|)rIgK2_k7D?+F^i&#b8%Ytkold&ix0Qm?)fIYySVu<(ilQ(( zJ4?OO#I{YURFzf_+}YN|o=1Cl{MlZ%Z}TxeHH&FkEG9Dq|CssDDg{ss1Ol?(?BYNPxKt=JR=UU8l9pha@B% zjty8wp78VpLQzQRaqNPLqBxLb!B@fGNa*D_xm*s@G;zD#?0o7K!jqHy9g8qM zafyc8Zf9<465F;3{W?l4GR@S)IEVXAm4XclaMdsj6h#3*RaLOz)Mw{8T3wB%ZRJ2u zFL~3Vx~h`?{^MK@jj_M)lXcq#Vqyi+y1TohLI@lV2LORUfS%oVaPWz}C=Qu?&Y;X$ zhMq|9;NgA}*?cKh2gDSBcsw3kSXlV6wzjriQ4~~FWpHp1MNv2wc%SDV@KLF%#Ad^s z8B3w(3#C{Ph{3;~0{}feJr^1q8}HXNjppWNyk0M3V`B_|dY0A-gDd(5_UwHUzu!+J z5}~WBi(;`D1a_?&f|97IsnG@o2BIF12Tjv(I-Lk15Mp_#X_`oqgl*e&c6Qdy%*@2r z&R+*!KajdQZFqQi*5z`^vMgT*Ez2@HJ3AY~;c)Cm^Zo%NR-4pQ=_#B50000`WE#&7K?eh8Ul_JPbBr)=>zndsSxz8Pbx655T(60J-jQAA`|1Y_F^ zStN=^NicrUCW1Q2jVa3tq$IyQGoT2WN<-!IF=+*}EUCz=fVGe+$?Dvc1xj#G>ZG2t z7KxT+CM5*KLfS|O!?kz}Svd1Xp;tlc${_E)Rx5Wmqzy8g6$$aVxlGB>i6W;?qm_4QjCu zE@)@GVB2_C?G0>=H+7=5QnjWnHyfq@#JiS>U4hTt@Q320aI6@4nQ=RTuT{pzopa%y=;F)aG?#hVOwD?Da6_r+@sNmL+wNXuP>H#GJ1wQwxdz1Ukr`MEdPX_w zq=%6-6}I9TGS9t~#CyoDmr_L-IBlENy4wo8eWh=&upP(au<1_Vc(pv4o02YuVFD`H cHaNXq{pnD>y@fT~$(Ez?EE7jZuRmV@1)y^Q-2eap literal 0 HcmV?d00001 diff --git a/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/label.imageset/Contents.json b/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/label.imageset/Contents.json new file mode 100644 index 000000000..b99c44b59 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/label.imageset/Contents.json @@ -0,0 +1,24 @@ +{ + "images" : [ + { + "filename" : "Icons.pdf", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/label.imageset/Icons.pdf b/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/label.imageset/Icons.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3c1350781bbf0f114ea6b1b3c596b50777c940dd GIT binary patch literal 3500 zcmZu!O>Y}F5WVwP@M0i2gyQg zVYL;DyW!vG^|1Wmy}bR{|5_i#KZ2AlkJQu4oA%cJN6Jr&yzx4Dx!ww`yvdHhp?fKi zJg#?wtjZ3HNk-);I&yL=$iY&glx0xKQ#3(tMlh!k3ut*Iz{~9$@g$P+0bEELrESh+ zVKl0ovn3BKXzz2z_JWP;fSJT5FZZ&=pxj9Fg++}Zid7rLFBct#PF?O1b3}wIpOA2LuJ@QxSp^qe+*Fxnh9r zS`|y}OZ;D(lD#cJiz<$$1C7dc9jY*t-1U&*t!NuDgXru8Gf~dgNV(C)?6pDbYg8tN z%u!NXyA@6mdV-I)foMHHt*f4A$f(A!2Wup=wUz{CI9hAa$Z&E|BdKR&V@OCoDi|>% z-`Be~E3&%O3U`hvJvN_Kl?-k?9LBjtc68bG#gDZaietF^4Du8qJt3kZjdBUEiEA$s z>VOe%p+GpOq-=5?&7#pt-fGr>grl_)#R_H2q&=ZaGew(GwaNq?a+DkcvGO4C(RpWK z>yp>V_S`G8Mfk~DWw&z}%EqM)f<=jr^uA}vkimoCE@4X~`{Zuh&>u!Beb0GPo0)d84fBix!@OOcR-64}-O529uaWqA7(NROUopnYe`WBv*GjW;h6ZPc44DLpoj^_uJvMeD(bB mdQ8exXZZ)5y#K literal 0 HcmV?d00001 diff --git a/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/milestone.imageset/Contents.json b/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/milestone.imageset/Contents.json new file mode 100644 index 000000000..b99c44b59 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/milestone.imageset/Contents.json @@ -0,0 +1,24 @@ +{ + "images" : [ + { + "filename" : "Icons.pdf", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/milestone.imageset/Icons.pdf b/iOS/issueTrackerApp/issueTrackerApp/Assets.xcassets/milestone.imageset/Icons.pdf new file mode 100644 index 0000000000000000000000000000000000000000..98834e6ca7bf5548feeb61a432ff5eaff52bb095 GIT binary patch literal 2706 zcmZve-;WzL5XayBSNP?m7O9TM_V|ZXRibwkAwV2y-zpwLZhH;NC6J`3^snbTUaxlp z-KWhbq$RkSZaw5G|*#sZM2)Tsl6Xe)MFWQpv z*;*$@XG9zw+j?|@!3eTe?-e-{IYszSOX>}|>>@8HdBfR5y|BOqDl}LL&V?#RTt-6_ zjVsKyXlSQmVM;7T!-PZd(;*ccbJAdlIr^vx6;2#d7M6*^cq56Zi6mb%JRqbAb|v4blmsL$XXxvN8BvX+*R``fI--@; znjHLSV!r+?S89v2E<}gtoZ(q-)!y^HqdVE6p+iW_WgZ{I z>ut=HOqy)6sgiC_5@2(&IM=*F0UX(?sd>I2ExxVlY>@{tC6|z5OX1jaCPd0;l`e-y zVb0b|?l}dAor1P@3GIgIaS@G$JRl_~i)FA_IEOd~hCwY+{_5dplSmq^o|~Fas#oW3 z4`mbdCIw88gqsTn>}tFw_vblW#5u$L96Y+Z4fi!{OQ0tga&1*$48|G&^_9{~1=vt66%hXQeiF#-Wl{mv{?}9gcqP3Yz)${EQ_N~ zFC*t3)2K1$A+;VSHqJ3NrBFzcY!)!aTa{$*ipQ*iVF!EIgIp{b3>yIyQ%WQ>S_nW7 zSn)7lS-|!fHO{Q>lci*GnXq%OG^Qv$b!|Ia?7!S>cQ12rn3F2mqk&=RIcS{YE|%JM z?J1IECF!kkkGEWc7V;#Y9OQRQxiFtFSBteWGN~A{(VMRd3Pi=AC)iSpg3|&C)tTy4 zFwEjOYM8l|j+yWs5`D?DYtTA0q{vw;s$@x@QpgCUzJ=R+TCEfNXVUGykMXv-0v5mW86Dd-yROf%UQqw z4fhZ{t9SqWIq22>=5c7?=iy-_JW@-U0m@FwfDXX+4~epHAE1tmUS&Zt8B2 zhs$t)MY-lo@P2aw)7U~4EiOZX`Xy=gCW-dkr^`x+#U>Weba}Iu&A#QzL|(eo-XAGcZB~S z&q&y{RKV?ILYLEKw;xVQs`tYk((&wkd>WqXXS;{zV^UV@ - + @@ -45,7 +45,7 @@ - + diff --git a/iOS/issueTrackerApp/issueTrackerApp/Setting.storyboard b/iOS/issueTrackerApp/issueTrackerApp/Setting.storyboard index bcd9f4922..fe50e1bbc 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Setting.storyboard +++ b/iOS/issueTrackerApp/issueTrackerApp/Setting.storyboard @@ -50,11 +50,11 @@ - + - + @@ -71,7 +71,7 @@ - + diff --git a/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard index d815a736b..edf558f2a 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard +++ b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard @@ -46,7 +46,7 @@ - + @@ -63,7 +63,7 @@ - + diff --git a/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Milestones.storyboard b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Milestones.storyboard index 325b711e7..ce0143b70 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Milestones.storyboard +++ b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Milestones.storyboard @@ -28,7 +28,7 @@ - + @@ -45,7 +45,7 @@ - + From 8929847c3fa97b7c50d1c5e384f0e4b951ed998f Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Fri, 11 Jun 2021 17:06:42 +0900 Subject: [PATCH 33/46] =?UTF-8?q?Implement:=20#27=20AddIssueViewController?= =?UTF-8?q?=20UI=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../issueTrackerApp.xcodeproj/project.pbxproj | 8 + .../UserInterfaceState.xcuserstate | Bin 112612 -> 119983 bytes .../Issue/AddIssueViewController.swift | 22 ++ .../Issue/MoreInformationViewController.swift | 15 ++ .../Base.lproj/Issue.storyboard | 230 +++++++++++++++++- 5 files changed, 274 insertions(+), 1 deletion(-) create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/AddIssueViewController.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/MoreInformationViewController.swift diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj index 6c8716a0a..7ed3a52da 100644 --- a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj @@ -33,6 +33,8 @@ 930FAEC7266E13F500422968 /* Alamofire in Frameworks */ = {isa = PBXBuildFile; productRef = 930FAEC6266E13F500422968 /* Alamofire */; }; 931BAE1E26730C8600CD9244 /* SettingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAE1D26730C8600CD9244 /* SettingViewController.swift */; }; 931BAE2F267310EB00CD9244 /* JWTDecode in Frameworks */ = {isa = PBXBuildFile; productRef = 931BAE2E267310EB00CD9244 /* JWTDecode */; }; + 931BAE41267343B900CD9244 /* AddIssueViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAE40267343B900CD9244 /* AddIssueViewController.swift */; }; + 931BAE4626734FA500CD9244 /* MoreInformationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAE4526734FA500CD9244 /* MoreInformationViewController.swift */; }; 9343E2CA266EF9CD0086F977 /* KeychainController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2C9266EF9CD0086F977 /* KeychainController.swift */; }; 9343E2D3266EFBA70086F977 /* GitHubEndpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2D2266EFBA70086F977 /* GitHubEndpoint.swift */; }; 9343E2D8266F03E90086F977 /* NetworkController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2D7266F03E90086F977 /* NetworkController.swift */; }; @@ -92,6 +94,8 @@ 930FAEA7266E112A00422968 /* issueTrackerAppUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = issueTrackerAppUITests.swift; sourceTree = ""; }; 930FAEA9266E112A00422968 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 931BAE1D26730C8600CD9244 /* SettingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingViewController.swift; sourceTree = ""; }; + 931BAE40267343B900CD9244 /* AddIssueViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddIssueViewController.swift; sourceTree = ""; }; + 931BAE4526734FA500CD9244 /* MoreInformationViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoreInformationViewController.swift; sourceTree = ""; }; 9343E2C9266EF9CD0086F977 /* KeychainController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeychainController.swift; sourceTree = ""; }; 9343E2D2266EFBA70086F977 /* GitHubEndpoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GitHubEndpoint.swift; sourceTree = ""; }; 9343E2D7266F03E90086F977 /* NetworkController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkController.swift; sourceTree = ""; }; @@ -141,6 +145,8 @@ isa = PBXGroup; children = ( 883F5184266F5F090055EC9E /* IssueViewController.swift */, + 931BAE40267343B900CD9244 /* AddIssueViewController.swift */, + 931BAE4526734FA500CD9244 /* MoreInformationViewController.swift */, ); path = Issue; sourceTree = ""; @@ -544,9 +550,11 @@ files = ( 883F5148266F3EAF0055EC9E /* LoginViewController.swift in Sources */, 9343E2D3266EFBA70086F977 /* GitHubEndpoint.swift in Sources */, + 931BAE41267343B900CD9244 /* AddIssueViewController.swift in Sources */, 9343E2F7266F5E890086F977 /* MainTabBarController.swift in Sources */, 9343E30D266F90EF0086F977 /* LoginFlowCoordinator.swift in Sources */, 930FAE86266E112700422968 /* AppDelegate.swift in Sources */, + 931BAE4626734FA500CD9244 /* MoreInformationViewController.swift in Sources */, 9343E305266F60B50086F977 /* NetworkRequest.swift in Sources */, 931BAE1E26730C8600CD9244 /* SettingViewController.swift in Sources */, 883F51A42670AAAB0055EC9E /* TagStackView.swift in Sources */, diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate index cfb86e94290eec52783aeb0e1662ce82443231b7..695b1c8d5697b45e8e76c847cd88085fd3e8fe28 100644 GIT binary patch literal 119983 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 L|NjqZGVK2VtDS9n literal 112612 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 - + @@ -42,6 +42,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -61,11 +208,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From ffac99c42e4ba70cc49311b7158c453f03ec8dec Mon Sep 17 00:00:00 2001 From: JUNGYUN-Daegu/JUNGYUN-Daegu/jungyun Date: Mon, 14 Jun 2021 17:14:32 +0900 Subject: [PATCH 34/46] =?UTF-8?q?Implement:=20#8=20=EC=9D=B4=EC=8A=88=20Sc?= =?UTF-8?q?ene=EA=B3=BC=20=EB=84=A4=ED=8A=B8=EC=9B=8C=ED=81=AC=20=EB=A0=88?= =?UTF-8?q?=EC=9D=B4=EC=96=B4=20=EC=97=B0=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../issueTrackerApp.xcodeproj/project.pbxproj | 36 +++++++++++++++++++ .../Issue/EndPoint/IssueEndPoint.swift | 24 +++++++++++++ .../Request/IssueNetworkController.swift | 30 ++++++++++++++++ .../Network/Issue/Request/IssueRequest.swift | 27 ++++++++++++++ .../Domain/Coordinator/Coordinator.swift | 6 ++++ .../issueTrackerApp/Domain/Entity/Issue.swift | 4 +++ .../NotificationNameExtension.swift | 12 +++++++ .../Presentation/MainTabBarController.swift | 8 ++--- .../UI/ViewController/Issue/IssueCell.swift | 24 +++++++------ .../Issue/IssueViewController.swift | 28 ++++++++++++--- .../ViewModel/IssueViewModel.swift | 33 +++++++++++++++++ 11 files changed, 212 insertions(+), 20 deletions(-) create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/EndPoint/IssueEndPoint.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssueNetworkController.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssueRequest.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/NotificationNameExtension.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj index 058595ef1..bfff83f8b 100644 --- a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj @@ -23,6 +23,11 @@ 883F51CC2672041A0055EC9E /* Milestones.swift in Sources */ = {isa = PBXBuildFile; fileRef = 883F51CB2672041A0055EC9E /* Milestones.swift */; }; 883F51D4267204520055EC9E /* LabelModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 883F51D3267204520055EC9E /* LabelModel.swift */; }; 883F51DC267204DC0055EC9E /* Comment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 883F51DB267204DC0055EC9E /* Comment.swift */; }; + 883F522A267312CE0055EC9E /* IssueEndPoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 883F5229267312CE0055EC9E /* IssueEndPoint.swift */; }; + 883F5234267318240055EC9E /* IssueRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 883F5233267318240055EC9E /* IssueRequest.swift */; }; + 883F5239267654CB0055EC9E /* IssueNetworkController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 883F5238267654CB0055EC9E /* IssueNetworkController.swift */; }; + 88C3A9F426773B660090FAD8 /* IssueViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88C3A9F326773B660090FAD8 /* IssueViewModel.swift */; }; + 88C3A9F9267742140090FAD8 /* NotificationNameExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88C3A9F8267742140090FAD8 /* NotificationNameExtension.swift */; }; 930FAE86266E112700422968 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE85266E112700422968 /* AppDelegate.swift */; }; 930FAE88266E112700422968 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE87266E112700422968 /* SceneDelegate.swift */; }; 930FAE8D266E112700422968 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 930FAE8B266E112700422968 /* Main.storyboard */; }; @@ -77,6 +82,11 @@ 883F51CB2672041A0055EC9E /* Milestones.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Milestones.swift; path = issueTrackerApp/Domain/Entity/Milestones.swift; sourceTree = SOURCE_ROOT; }; 883F51D3267204520055EC9E /* LabelModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LabelModel.swift; path = issueTrackerApp/Domain/Entity/LabelModel.swift; sourceTree = SOURCE_ROOT; }; 883F51DB267204DC0055EC9E /* Comment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Comment.swift; path = issueTrackerApp/Domain/Entity/Comment.swift; sourceTree = SOURCE_ROOT; }; + 883F5229267312CE0055EC9E /* IssueEndPoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IssueEndPoint.swift; sourceTree = ""; }; + 883F5233267318240055EC9E /* IssueRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IssueRequest.swift; sourceTree = ""; }; + 883F5238267654CB0055EC9E /* IssueNetworkController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = IssueNetworkController.swift; path = issueTrackerApp/Data/Network/Issue/Request/IssueNetworkController.swift; sourceTree = SOURCE_ROOT; }; + 88C3A9F326773B660090FAD8 /* IssueViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IssueViewModel.swift; sourceTree = ""; }; + 88C3A9F8267742140090FAD8 /* NotificationNameExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationNameExtension.swift; sourceTree = ""; }; 930FAE82266E112700422968 /* issueTrackerApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = issueTrackerApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 930FAE85266E112700422968 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 930FAE87266E112700422968 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; @@ -143,6 +153,22 @@ path = Issue; sourceTree = ""; }; + 883F522E267312D60055EC9E /* EndPoint */ = { + isa = PBXGroup; + children = ( + 883F5229267312CE0055EC9E /* IssueEndPoint.swift */, + ); + path = EndPoint; + sourceTree = ""; + }; + 883F5232267317BB0055EC9E /* Request */ = { + isa = PBXGroup; + children = ( + 883F5233267318240055EC9E /* IssueRequest.swift */, + ); + path = Request; + sourceTree = ""; + }; 930FAE79266E112700422968 = { isa = PBXGroup; children = ( @@ -180,6 +206,7 @@ 930FAE8E266E112900422968 /* Assets.xcassets */, 930FAE90266E112900422968 /* LaunchScreen.storyboard */, 930FAE93266E112900422968 /* Info.plist */, + 88C3A9F8267742140090FAD8 /* NotificationNameExtension.swift */, 883F51AD2670B2F70055EC9E /* UIColorExtension.swift */, ); path = issueTrackerApp; @@ -315,6 +342,7 @@ 930FAEC4266E12E900422968 /* ViewModel */ = { isa = PBXGroup; children = ( + 88C3A9F326773B660090FAD8 /* IssueViewModel.swift */, ); path = ViewModel; sourceTree = ""; @@ -339,6 +367,8 @@ 931BADFE26720B7D00CD9244 /* Issue */ = { isa = PBXGroup; children = ( + 883F522E267312D60055EC9E /* EndPoint */, + 883F5232267317BB0055EC9E /* Request */, ); path = Issue; sourceTree = ""; @@ -355,6 +385,7 @@ 931BAE0326720C0900CD9244 /* Issue */ = { isa = PBXGroup; children = ( + 883F5238267654CB0055EC9E /* IssueNetworkController.swift */, ); path = Issue; sourceTree = ""; @@ -538,10 +569,14 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 88C3A9F9267742140090FAD8 /* NotificationNameExtension.swift in Sources */, + 883F5234267318240055EC9E /* IssueRequest.swift in Sources */, 883F5148266F3EAF0055EC9E /* LoginViewController.swift in Sources */, 9343E2D3266EFBA70086F977 /* GitHubEndpoint.swift in Sources */, 9343E2F7266F5E890086F977 /* MainTabBarController.swift in Sources */, + 88C3A9F426773B660090FAD8 /* IssueViewModel.swift in Sources */, 9343E30D266F90EF0086F977 /* LoginFlowCoordinator.swift in Sources */, + 883F5239267654CB0055EC9E /* IssueNetworkController.swift in Sources */, 930FAE86266E112700422968 /* AppDelegate.swift in Sources */, 9343E305266F60B50086F977 /* NetworkRequest.swift in Sources */, 931BAE1E26730C8600CD9244 /* SettingViewController.swift in Sources */, @@ -558,6 +593,7 @@ 9343E2CA266EF9CD0086F977 /* KeychainController.swift in Sources */, 883F51A92670ABDC0055EC9E /* TagLabel.swift in Sources */, 883F51B62671E1710055EC9E /* CustomBarButtonItem.swift in Sources */, + 883F522A267312CE0055EC9E /* IssueEndPoint.swift in Sources */, 883F51D4267204520055EC9E /* LabelModel.swift in Sources */, 883F51C7267200EA0055EC9E /* Issue.swift in Sources */, ); diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/EndPoint/IssueEndPoint.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/EndPoint/IssueEndPoint.swift new file mode 100644 index 000000000..6705c04cd --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/EndPoint/IssueEndPoint.swift @@ -0,0 +1,24 @@ +// +// EndPoint.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/11. +// + +import Foundation + +struct IssueEndPoint { + static let scheme = "https" + static let host = "f88e009a-3e2b-4862-838e-1f2cde9b95ed.mock.pstmn.io" + static let basicPath = "/api/issues" +// static let countPath = "/count" + + static func url() -> URL { + var components = URLComponents() + components.scheme = IssueEndPoint.scheme + components.host = IssueEndPoint.host + components.path = IssueEndPoint.basicPath + return components.url! + } +} + diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssueNetworkController.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssueNetworkController.swift new file mode 100644 index 000000000..658f63d81 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssueNetworkController.swift @@ -0,0 +1,30 @@ +// +// IssueNetworkController.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/13. +// + +import Foundation + +class IssueNetworkController { + private var requests: [URL: AnyObject] = [:] + + init() { + } + + func fetchIssues(completion: @escaping ([Issue]) -> Void) { + let req = IssueRequest() + let requestURL = req.urlRequest.url! + requests[requestURL] = req + + print("sdf") + + req.execute { (result) in + if let _ = result { + self.requests[requestURL] = nil + completion(result!) + } + } + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssueRequest.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssueRequest.swift new file mode 100644 index 000000000..de536350b --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssueRequest.swift @@ -0,0 +1,27 @@ +// +// IssueNetworkRequest.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/11. +// + +import Foundation + +class IssueRequest { + let session = URLSession(configuration: .ephemeral, delegate: nil, delegateQueue: .main) + var task: URLSessionDataTask? + + init() { + } +} + +extension IssueRequest: JSONDataRequest { + typealias ModelType = [Issue] + + var urlRequest: URLRequest { + let urlComponents = URLComponents(url: IssueEndPoint.url(), resolvingAgainstBaseURL: false)! + let request = try! URLRequest(url: urlComponents, method: .get) + + return request + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift index 5ab05fc76..f67006fea 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift @@ -24,6 +24,10 @@ protocol Networked: class { var networkController: NetworkController? { get set } } +protocol IssueNetworked: class { + var issueNetworkController: IssueNetworkController? { get set } +} + class MainFlowCoordinator: NSObject { let mainTabBarController: MainTabBarController let keyChainController = KeychainController() @@ -46,6 +50,8 @@ extension MainFlowCoordinator: Coordinator { (viewController as? MainCoordinated)?.mainCoordinator = self (viewController as? Networked)?.networkController = NetworkController(keychainController: keyChainController) (viewController as? LoginCoordinated)?.loginCoordinator = loginFlowCoordinator + (viewController as? IssueNetworked)?.issueNetworkController = IssueNetworkController() + if let tabBarController = viewController as? UITabBarController { tabBarController.viewControllers?.forEach(configure(viewController:)) } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Issue.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Issue.swift index c116a17dc..03ecfe257 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Issue.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Issue.swift @@ -8,7 +8,9 @@ import Foundation struct Issue: Codable { + let id: Int let title: String + let description: String let authorAvatarURL: String let labelList: [Label] let issueNumber: Int @@ -16,7 +18,9 @@ struct Issue: Codable { let milestoneTitle: String enum CodingKeys: String, CodingKey { + case id case title + case description case authorAvatarURL = "author_avatar_url" case labelList = "label_list" case issueNumber = "issue_number" diff --git a/iOS/issueTrackerApp/issueTrackerApp/NotificationNameExtension.swift b/iOS/issueTrackerApp/issueTrackerApp/NotificationNameExtension.swift new file mode 100644 index 000000000..dc4d4a543 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/NotificationNameExtension.swift @@ -0,0 +1,12 @@ +// +// NotificationNameExtension.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/14. +// + +import Foundation + +extension Notification.Name { + static let didReceiveIssueData = Notification.Name("didReceiveIssueData") +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/MainTabBarController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/MainTabBarController.swift index 21188bbe3..779fead1c 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/MainTabBarController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/MainTabBarController.swift @@ -14,10 +14,10 @@ class MainTabBarController: UITabBarController, Networked, MainCoordinated, Logi override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) - guard (networkController?.isClientAuthenticated ?? true) else { - loginCoordinator?.mainViewControllerRequiresAuthentication(self, isAppLaunch: true) - return - } +// guard (networkController?.isClientAuthenticated ?? true) else { +// loginCoordinator?.mainViewControllerRequiresAuthentication(self, isAppLaunch: true) +// return +// } } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueCell.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueCell.swift index 9f6923e3b..c9fc95a27 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueCell.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueCell.swift @@ -30,35 +30,37 @@ class IssueCell: UITableViewCell { } // will fetch issue data type from server later on - public func configureAll(_ issue: String? = nil) { + public func configureAll(with issue: Issue) { self.configureTitleLabel(with: issue) self.configureDescriptionLabel(with: issue) self.configureMileStonesLabel(with: issue) self.configureTagLabelStack(with: issue) } - private func configureTitleLabel(with issue: String? = nil) { - self.titleLabel.text = "issue.title" + private func configureTitleLabel(with issue: Issue) { + self.titleLabel.text = issue.title } - private func configureDescriptionLabel(with issue: String? = nil) { - self.descriptionLabel.text = "issue.description" + private func configureDescriptionLabel(with issue: Issue) { + self.descriptionLabel.text = issue.description } - private func configureMileStonesLabel(with issue: String? = nil) { + private func configureMileStonesLabel(with issue: Issue) { let fullString = NSMutableAttributedString(string: "") let imageAttachment = NSTextAttachment() imageAttachment.image = UIImage(systemName: "exclamationmark.circle") let imageString = NSAttributedString(attachment: imageAttachment) fullString.append(imageString) - fullString.append(NSAttributedString(string: "issue.mileStoneName")) + fullString.append(NSAttributedString(string: issue.milestoneTitle)) self.milestonesLabel.attributedText = fullString } - private func configureTagLabelStack(with issue: String? = nil) { - let tempTagLabel = TagLabel() - tempTagLabel.custom(title: " issue.tagTitle ", colorCode: "#f69e7b") - self.tagStackView.addTag(tagLabel: tempTagLabel) + private func configureTagLabelStack(with issue: Issue) { + issue.labelList.forEach { (label) in + let tempTagLabel = TagLabel() + tempTagLabel.custom(title: " \(label.title) ", colorCode: "\(label.colorCode)") + self.tagStackView.addTag(tagLabel: tempTagLabel) + } } } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift index db8bcd486..1241754c5 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift @@ -7,10 +7,12 @@ import UIKit -class IssueViewController: UIViewController { - +class IssueViewController: UIViewController, IssueNetworked { + @IBOutlet weak var issueTableView: UITableView! + var issueNetworkController: IssueNetworkController? + var viewModel: IssueViewModelProtocol? let searchController = UISearchController(searchResultsController: nil) var filteredIssue: [String] = [] var isSearchBarEmpty: Bool { @@ -26,6 +28,11 @@ class IssueViewController: UIViewController { self.configureLeftBarButtonItem() self.configureRightBarButtonItem() self.configureTableView() + self.configureViewModel() + + NotificationCenter.default.addObserver(self, selector: #selector(onDidReceiveIssueData), name: .didReceiveIssueData, object: nil) + + viewModel?.fetchAllIssue() } override func viewDidAppear(_ animated: Bool) { @@ -33,10 +40,19 @@ class IssueViewController: UIViewController { self.configureSearchController() } + @objc func onDidReceiveIssueData() { + self.issueTableView.reloadData() + } + + private func configureViewModel() { + guard self.issueNetworkController != nil else { return } + self.viewModel = IssueViewModel(issueNetworkController: self.issueNetworkController!) + } + private func configureLeftBarButtonItem() { let customLeftBarButton = CustomBarButtonItem(title: "필터", image: UIImage(systemName: "line.horizontal.3.decrease") ?? UIImage(), located: .left) customLeftBarButton.addAction(UIAction.init(handler: { (touch) in - // todo + // to do }), for: .touchUpInside) let leftBarButtonItem = UIBarButtonItem(customView: customLeftBarButton) self.navigationItem.leftBarButtonItem = leftBarButtonItem @@ -75,12 +91,14 @@ extension IssueViewController: UISearchResultsUpdating { extension IssueViewController: UITableViewDataSource { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - return 3 + guard let issues = viewModel?.issues else { return 0 } + return issues.count } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = self.issueTableView.dequeueReusableCell(withIdentifier: IssueCell.identifier) as! IssueCell - cell.configureAll() + guard let issues = viewModel?.issues else { return cell } + cell.configureAll(with: issues[indexPath.row]) return cell } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift new file mode 100644 index 000000000..388b10681 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift @@ -0,0 +1,33 @@ +// +// IssueViewModel.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/14. +// + +import Foundation + +protocol IssueViewModelProtocol { + var issues: [Issue] { get } + func fetchAllIssue() +} + +class IssueViewModel: IssueViewModelProtocol { + var networkController: IssueNetworkController? + var issues: [Issue] = [] { + didSet { + NotificationCenter.default.post(name: .didReceiveIssueData, object: nil) + } + } + + init(issueNetworkController: IssueNetworkController) { + self.networkController = issueNetworkController + } + + func fetchAllIssue() { + networkController?.fetchIssues(completion: { (issues) in + self.issues = issues + }) + } + +} From c7adeea62ec095e7c2472bb29e310758edfba4d5 Mon Sep 17 00:00:00 2001 From: JUNGYUN-Daegu/JUNGYUN-Daegu/jungyun Date: Tue, 15 Jun 2021 00:29:24 +0900 Subject: [PATCH 35/46] =?UTF-8?q?Implement:=20#8=20=EC=9D=B4=EC=8A=88=20Sc?= =?UTF-8?q?ene=20SearchController=20=EB=8F=99=EC=9E=91=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Request/IssueNetworkController.swift | 2 -- .../NotificationNameExtension.swift | 1 + .../Issue/IssueViewController.swift | 33 +++++++++++++++---- .../ViewModel/IssueViewModel.swift | 13 ++++++++ 4 files changed, 41 insertions(+), 8 deletions(-) diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssueNetworkController.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssueNetworkController.swift index 658f63d81..b2474a2fb 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssueNetworkController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssueNetworkController.swift @@ -18,8 +18,6 @@ class IssueNetworkController { let requestURL = req.urlRequest.url! requests[requestURL] = req - print("sdf") - req.execute { (result) in if let _ = result { self.requests[requestURL] = nil diff --git a/iOS/issueTrackerApp/issueTrackerApp/NotificationNameExtension.swift b/iOS/issueTrackerApp/issueTrackerApp/NotificationNameExtension.swift index dc4d4a543..99c153542 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/NotificationNameExtension.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/NotificationNameExtension.swift @@ -8,5 +8,6 @@ import Foundation extension Notification.Name { + static let didFilterIssueData = Notification.Name("didFilterIssueData") static let didReceiveIssueData = Notification.Name("didReceiveIssueData") } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift index 1241754c5..3dad025c9 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift @@ -14,7 +14,6 @@ class IssueViewController: UIViewController, IssueNetworked { var issueNetworkController: IssueNetworkController? var viewModel: IssueViewModelProtocol? let searchController = UISearchController(searchResultsController: nil) - var filteredIssue: [String] = [] var isSearchBarEmpty: Bool { return searchController.searchBar.text?.isEmpty ?? true } @@ -29,10 +28,8 @@ class IssueViewController: UIViewController, IssueNetworked { self.configureRightBarButtonItem() self.configureTableView() self.configureViewModel() - - NotificationCenter.default.addObserver(self, selector: #selector(onDidReceiveIssueData), name: .didReceiveIssueData, object: nil) + self.configureNotificationCenter() - viewModel?.fetchAllIssue() } override func viewDidAppear(_ animated: Bool) { @@ -40,6 +37,15 @@ class IssueViewController: UIViewController, IssueNetworked { self.configureSearchController() } + private func configureNotificationCenter() { + NotificationCenter.default.addObserver(self, selector: #selector(onDidReceiveIssueData), name: .didReceiveIssueData, object: nil) + NotificationCenter.default.addObserver(self, selector: #selector(onDidFilterIssueData), name: .didFilterIssueData, object: nil) + } + + @objc func onDidFilterIssueData() { + self.issueTableView.reloadData() + } + @objc func onDidReceiveIssueData() { self.issueTableView.reloadData() } @@ -47,6 +53,7 @@ class IssueViewController: UIViewController, IssueNetworked { private func configureViewModel() { guard self.issueNetworkController != nil else { return } self.viewModel = IssueViewModel(issueNetworkController: self.issueNetworkController!) + viewModel?.fetchAllIssue() } private func configureLeftBarButtonItem() { @@ -85,20 +92,34 @@ class IssueViewController: UIViewController, IssueNetworked { extension IssueViewController: UISearchResultsUpdating { func updateSearchResults(for searchController: UISearchController) { + let searchBar = searchController.searchBar + viewModel?.filterIssuesWithSearchText(searchBar.text!) } } extension IssueViewController: UITableViewDataSource { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + + if isFiltering { + guard let filteredIssue = viewModel?.filteredIssues else { return 0 } + return filteredIssue.count + } guard let issues = viewModel?.issues else { return 0 } return issues.count } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = self.issueTableView.dequeueReusableCell(withIdentifier: IssueCell.identifier) as! IssueCell - guard let issues = viewModel?.issues else { return cell } - cell.configureAll(with: issues[indexPath.row]) + + if isFiltering { + guard let filteredIssues = viewModel?.filteredIssues else { return cell } + cell.configureAll(with: filteredIssues[indexPath.row]) + } else { + guard let issues = viewModel?.issues else { return cell } + cell.configureAll(with: issues[indexPath.row]) + } + return cell } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift index 388b10681..26bd3e6c3 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift @@ -9,7 +9,9 @@ import Foundation protocol IssueViewModelProtocol { var issues: [Issue] { get } + var filteredIssues: [Issue] { get set } func fetchAllIssue() + func filterIssuesWithSearchText(_ string: String) } class IssueViewModel: IssueViewModelProtocol { @@ -20,6 +22,12 @@ class IssueViewModel: IssueViewModelProtocol { } } + var filteredIssues: [Issue] = [] { + didSet { + NotificationCenter.default.post(name: .didFilterIssueData, object: nil) + } + } + init(issueNetworkController: IssueNetworkController) { self.networkController = issueNetworkController } @@ -30,4 +38,9 @@ class IssueViewModel: IssueViewModelProtocol { }) } + func filterIssuesWithSearchText(_ string: String) { + self.filteredIssues = issues.filter({ (issue: Issue) -> Bool in + return issue.title.lowercased().contains(string.lowercased()) + }) + } } From 99a940370177ac427719bf3c14602ae466283542 Mon Sep 17 00:00:00 2001 From: JUNGYUN-Daegu/JUNGYUN-Daegu/jungyun Date: Tue, 15 Jun 2021 11:45:22 +0900 Subject: [PATCH 36/46] =?UTF-8?q?Implement:=20#8=20IssueCell=20Swipe=20?= =?UTF-8?q?=EC=95=A1=EC=85=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Issue/IssueViewController.swift | 28 +++++++++++++++++++ .../ViewModel/IssueViewModel.swift | 7 +++++ 2 files changed, 35 insertions(+) diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift index 3dad025c9..57a3ec815 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift @@ -85,6 +85,7 @@ class IssueViewController: UIViewController, IssueNetworked { private func configureTableView() { self.issueTableView.register(IssueCell.nib, forCellReuseIdentifier: IssueCell.identifier) self.issueTableView.dataSource = self + self.issueTableView.delegate = self } } @@ -124,3 +125,30 @@ extension IssueViewController: UITableViewDataSource { } } + +extension IssueViewController: UITableViewDelegate { + func tableView(_ tableView: UITableView, + trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? { + // delete action + let delete = UIContextualAction(style: .destructive, + title: "삭제") { [weak self] (action, view, completionHandler) in + self?.viewModel?.deleteIssue(at: indexPath.row) + tableView.deleteRows(at: [indexPath], with: .fade) + completionHandler(true) + } + delete.backgroundColor = .systemRed + delete.image = UIImage(systemName: "trash") + + // close action + let close = UIContextualAction(style: .normal, + title: "닫기") { [weak self] (action, view, completionHandler) in +// self?.handleCancel() + completionHandler(true) + } + close.backgroundColor = UIColor.hexString2UIColor(hexString: "#CCD4FF") + close.image = UIImage(systemName: "archivebox") + + let configuration = UISwipeActionsConfiguration(actions: [close, delete]) + return configuration + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift index 26bd3e6c3..32684858e 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift @@ -12,6 +12,7 @@ protocol IssueViewModelProtocol { var filteredIssues: [Issue] { get set } func fetchAllIssue() func filterIssuesWithSearchText(_ string: String) + func deleteIssue(at index: Int) } class IssueViewModel: IssueViewModelProtocol { @@ -43,4 +44,10 @@ class IssueViewModel: IssueViewModelProtocol { return issue.title.lowercased().contains(string.lowercased()) }) } + + func deleteIssue(at index: Int) { + +// issues[index].id + self.issues.remove(at: index) + } } From d354bcb5220feac46d9a0e077ce1569f42b22125 Mon Sep 17 00:00:00 2001 From: JUNGYUN-Daegu/JUNGYUN-Daegu/jungyun Date: Tue, 15 Jun 2021 18:24:01 +0900 Subject: [PATCH 37/46] =?UTF-8?q?Implement:=20Swipe=20Delete=20=EA=B8=B0?= =?UTF-8?q?=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../issueTrackerApp.xcodeproj/project.pbxproj | 8 +++++ .../Request/IssueNetworkController.swift | 16 +++++++++- .../Issue/Request/IssuePatchRequest.swift | 32 +++++++++++++++++++ .../Network/Issue/Request/IssueRequest.swift | 4 +-- .../OAuth/Requests/AccessTokenRequest.swift | 2 +- .../OAuth/Requests/NetworkRequest.swift | 4 +-- .../Repository/OAuth/NetworkController.swift | 2 +- .../Domain/Entity/Status.swift | 12 +++++++ .../UI/ViewController/Issue/IssueCell.swift | 8 +++++ .../Issue/IssueViewController.swift | 8 ++--- .../ViewController/Issue/TagStackView.swift | 5 +++ .../ViewModel/IssueViewModel.swift | 15 ++++++--- 12 files changed, 100 insertions(+), 16 deletions(-) create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssuePatchRequest.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Status.swift diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj index bfff83f8b..3c42e2003 100644 --- a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj @@ -28,6 +28,8 @@ 883F5239267654CB0055EC9E /* IssueNetworkController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 883F5238267654CB0055EC9E /* IssueNetworkController.swift */; }; 88C3A9F426773B660090FAD8 /* IssueViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88C3A9F326773B660090FAD8 /* IssueViewModel.swift */; }; 88C3A9F9267742140090FAD8 /* NotificationNameExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88C3A9F8267742140090FAD8 /* NotificationNameExtension.swift */; }; + 88C3A9FE26785B160090FAD8 /* Status.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88C3A9FD26785B160090FAD8 /* Status.swift */; }; + 88C3AA0B267874470090FAD8 /* IssuePatchRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88C3AA0A267874470090FAD8 /* IssuePatchRequest.swift */; }; 930FAE86266E112700422968 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE85266E112700422968 /* AppDelegate.swift */; }; 930FAE88266E112700422968 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE87266E112700422968 /* SceneDelegate.swift */; }; 930FAE8D266E112700422968 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 930FAE8B266E112700422968 /* Main.storyboard */; }; @@ -87,6 +89,8 @@ 883F5238267654CB0055EC9E /* IssueNetworkController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = IssueNetworkController.swift; path = issueTrackerApp/Data/Network/Issue/Request/IssueNetworkController.swift; sourceTree = SOURCE_ROOT; }; 88C3A9F326773B660090FAD8 /* IssueViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IssueViewModel.swift; sourceTree = ""; }; 88C3A9F8267742140090FAD8 /* NotificationNameExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationNameExtension.swift; sourceTree = ""; }; + 88C3A9FD26785B160090FAD8 /* Status.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Status.swift; sourceTree = ""; }; + 88C3AA0A267874470090FAD8 /* IssuePatchRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IssuePatchRequest.swift; sourceTree = ""; }; 930FAE82266E112700422968 /* issueTrackerApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = issueTrackerApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 930FAE85266E112700422968 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 930FAE87266E112700422968 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; @@ -165,6 +169,7 @@ isa = PBXGroup; children = ( 883F5233267318240055EC9E /* IssueRequest.swift */, + 88C3AA0A267874470090FAD8 /* IssuePatchRequest.swift */, ); path = Request; sourceTree = ""; @@ -282,6 +287,7 @@ 883F51CB2672041A0055EC9E /* Milestones.swift */, 883F51D3267204520055EC9E /* LabelModel.swift */, 883F51DB267204DC0055EC9E /* Comment.swift */, + 88C3A9FD26785B160090FAD8 /* Status.swift */, ); path = Entity; sourceTree = ""; @@ -579,6 +585,7 @@ 883F5239267654CB0055EC9E /* IssueNetworkController.swift in Sources */, 930FAE86266E112700422968 /* AppDelegate.swift in Sources */, 9343E305266F60B50086F977 /* NetworkRequest.swift in Sources */, + 88C3AA0B267874470090FAD8 /* IssuePatchRequest.swift in Sources */, 931BAE1E26730C8600CD9244 /* SettingViewController.swift in Sources */, 883F51A42670AAAB0055EC9E /* TagStackView.swift in Sources */, 883F519E2670940E0055EC9E /* IssueCell.swift in Sources */, @@ -592,6 +599,7 @@ 883F51AE2670B2F70055EC9E /* UIColorExtension.swift in Sources */, 9343E2CA266EF9CD0086F977 /* KeychainController.swift in Sources */, 883F51A92670ABDC0055EC9E /* TagLabel.swift in Sources */, + 88C3A9FE26785B160090FAD8 /* Status.swift in Sources */, 883F51B62671E1710055EC9E /* CustomBarButtonItem.swift in Sources */, 883F522A267312CE0055EC9E /* IssueEndPoint.swift in Sources */, 883F51D4267204520055EC9E /* LabelModel.swift in Sources */, diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssueNetworkController.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssueNetworkController.swift index b2474a2fb..c28b61581 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssueNetworkController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssueNetworkController.swift @@ -15,7 +15,7 @@ class IssueNetworkController { func fetchIssues(completion: @escaping ([Issue]) -> Void) { let req = IssueRequest() - let requestURL = req.urlRequest.url! + let requestURL = req.fetchReq.url! requests[requestURL] = req req.execute { (result) in @@ -25,4 +25,18 @@ class IssueNetworkController { } } } + + func deleteIssue(with issueId: Int, completion: @escaping (Status) -> Void) { + let req = IssuePatchRequest() + var requestURL = req.fetchReq.url! + requestURL.appendPathComponent(String(issueId), isDirectory: false) + requests[requestURL] = req + + req.execute { (status) in + if let _ = status { + self.requests[requestURL] = nil + completion(status!) + } + } + } } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssuePatchRequest.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssuePatchRequest.swift new file mode 100644 index 000000000..dbeb96ff8 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssuePatchRequest.swift @@ -0,0 +1,32 @@ +// +// IssuePatchRequest.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/15. +// + +import Foundation + +class IssuePatchRequest { + let session = URLSession(configuration: .ephemeral, delegate: nil, delegateQueue: .main) + var task: URLSessionDataTask? + + init() { + } +} + +extension IssuePatchRequest: JSONDataRequest { + typealias ModelType = Status + + var fetchReq: URLRequest { + let urlComponents = URLComponents(url: IssueEndPoint.url(), resolvingAgainstBaseURL: false)! + var request = try! URLRequest(url: urlComponents, method: .patch) + let body = ["delete": true] + let bodyData = try? JSONSerialization.data( + withJSONObject: body, + options: []) + request.httpBody = bodyData + return request + } + +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssueRequest.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssueRequest.swift index de536350b..dc4f6d935 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssueRequest.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/Issue/Request/IssueRequest.swift @@ -18,10 +18,10 @@ class IssueRequest { extension IssueRequest: JSONDataRequest { typealias ModelType = [Issue] - var urlRequest: URLRequest { + var fetchReq: URLRequest { let urlComponents = URLComponents(url: IssueEndPoint.url(), resolvingAgainstBaseURL: false)! let request = try! URLRequest(url: urlComponents, method: .get) - return request } + } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/OAuth/Requests/AccessTokenRequest.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/OAuth/Requests/AccessTokenRequest.swift index 1fb9058ab..3161f2990 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/OAuth/Requests/AccessTokenRequest.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/OAuth/Requests/AccessTokenRequest.swift @@ -24,7 +24,7 @@ class JWTRequest { extension JWTRequest: JSONDataRequest { typealias ModelType = Authorization - var urlRequest: URLRequest { + var fetchReq: URLRequest { let url = URL(string: GitHubEndpoint.loginURL)! var urlComponents = URLComponents(url: url, resolvingAgainstBaseURL: false)! urlComponents.queryItems = [ diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/OAuth/Requests/NetworkRequest.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/OAuth/Requests/NetworkRequest.swift index 51e263497..1c0077bf4 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Data/Network/OAuth/Requests/NetworkRequest.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Network/OAuth/Requests/NetworkRequest.swift @@ -9,7 +9,7 @@ import Foundation protocol NetworkRequest: class { associatedtype ModelType - var urlRequest: URLRequest { get } + var fetchReq: URLRequest { get } var session: URLSession { get } var task: URLSessionDataTask? { get set } func deserialize(_ data: Data?, response: URLResponse?) -> ModelType? @@ -17,7 +17,7 @@ protocol NetworkRequest: class { extension NetworkRequest { func execute(withCompletion completion: @escaping (ModelType?) -> Void) { - task = session.dataTask(with: urlRequest) { [weak self] (data, response, error) in + task = session.dataTask(with: fetchReq) { [weak self] (data, response, error) in completion( self?.deserialize(data, response: response) ) } task?.resume() diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/NetworkController.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/NetworkController.swift index 04ec8d2c8..24020595a 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/NetworkController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/NetworkController.swift @@ -25,7 +25,7 @@ class NetworkController { func authenticateWith(authorizationCode: String, client: String, completion: @escaping () -> Void) { let jWTRequest = JWTRequest(authorizationCode: authorizationCode, client: client) - let requestURL = jWTRequest.urlRequest.url! + let requestURL = jWTRequest.fetchReq.url! requests[requestURL] = jWTRequest jWTRequest.execute { (authorization) in diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Status.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Status.swift new file mode 100644 index 000000000..166d362b3 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Status.swift @@ -0,0 +1,12 @@ +// +// Status.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/15. +// + +import Foundation + +struct Status: Codable { + let status: String +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueCell.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueCell.swift index c9fc95a27..59d18c04a 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueCell.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueCell.swift @@ -31,12 +31,20 @@ class IssueCell: UITableViewCell { // will fetch issue data type from server later on public func configureAll(with issue: Issue) { + self.clearCell() self.configureTitleLabel(with: issue) self.configureDescriptionLabel(with: issue) self.configureMileStonesLabel(with: issue) self.configureTagLabelStack(with: issue) } + private func clearCell() { + self.titleLabel.text = "" + self.descriptionLabel.text = "" + self.milestonesLabel.attributedText = NSAttributedString(string: "") + self.tagStackView.removeAllTags() + } + private func configureTitleLabel(with issue: Issue) { self.titleLabel.text = issue.title } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift index 57a3ec815..d1e05eca0 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift @@ -112,7 +112,7 @@ extension IssueViewController: UITableViewDataSource { func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = self.issueTableView.dequeueReusableCell(withIdentifier: IssueCell.identifier) as! IssueCell - + if isFiltering { guard let filteredIssues = viewModel?.filteredIssues else { return cell } cell.configureAll(with: filteredIssues[indexPath.row]) @@ -132,9 +132,9 @@ extension IssueViewController: UITableViewDelegate { // delete action let delete = UIContextualAction(style: .destructive, title: "삭제") { [weak self] (action, view, completionHandler) in - self?.viewModel?.deleteIssue(at: indexPath.row) - tableView.deleteRows(at: [indexPath], with: .fade) - completionHandler(true) + self?.viewModel?.deleteIssue(at: indexPath.row, completionHandler: { + completionHandler(true) + }) } delete.backgroundColor = .systemRed delete.image = UIImage(systemName: "trash") diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/TagStackView.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/TagStackView.swift index f6a16412e..5a763fba6 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/TagStackView.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/TagStackView.swift @@ -14,4 +14,9 @@ class TagStackView: UIStackView { self.addArrangedSubview(tagLabel) } + public func removeAllTags() { + self.arrangedSubviews.forEach { (view) in + view.removeFromSuperview() + } + } } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift index 32684858e..7e3abf75d 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift @@ -12,7 +12,7 @@ protocol IssueViewModelProtocol { var filteredIssues: [Issue] { get set } func fetchAllIssue() func filterIssuesWithSearchText(_ string: String) - func deleteIssue(at index: Int) + func deleteIssue(at index: Int, completionHandler: @escaping () -> Void) } class IssueViewModel: IssueViewModelProtocol { @@ -45,9 +45,14 @@ class IssueViewModel: IssueViewModelProtocol { }) } - func deleteIssue(at index: Int) { - -// issues[index].id - self.issues.remove(at: index) + func deleteIssue(at index: Int, completionHandler: @escaping () -> Void) { + let issueId = issues[index].id + networkController?.deleteIssue(with: issueId, completion: { (res) in + if res.status == "success" { + print("sss") + self.issues.remove(at: index) + completionHandler() + } + }) } } From 1f7fe700a9a03a3dd16aefbdfdbd91b9cda68cb2 Mon Sep 17 00:00:00 2001 From: JUNGYUN-Daegu/JUNGYUN-Daegu/jungyun Date: Wed, 16 Jun 2021 00:29:07 +0900 Subject: [PATCH 38/46] =?UTF-8?q?Implement:=20#8=20=EC=9D=B4=EC=8A=88=20?= =?UTF-8?q?=EC=84=A0=ED=83=9D=20=ED=99=94=EB=A9=B4=20=EB=B0=8F=20bar=20but?= =?UTF-8?q?ton=20items?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../issueTrackerApp.xcodeproj/project.pbxproj | 4 + .../IssueSelectTableViewController.swift | 93 +++++++++++++++++++ .../Issue/IssueViewController.swift | 5 +- .../Base.lproj/Issue.storyboard | 20 ++++ 4 files changed, 121 insertions(+), 1 deletion(-) create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueSelectTableViewController.swift diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj index 3c42e2003..68f9b25de 100644 --- a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj @@ -30,6 +30,7 @@ 88C3A9F9267742140090FAD8 /* NotificationNameExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88C3A9F8267742140090FAD8 /* NotificationNameExtension.swift */; }; 88C3A9FE26785B160090FAD8 /* Status.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88C3A9FD26785B160090FAD8 /* Status.swift */; }; 88C3AA0B267874470090FAD8 /* IssuePatchRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88C3AA0A267874470090FAD8 /* IssuePatchRequest.swift */; }; + 88C3AA132678F7330090FAD8 /* IssueSelectTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88C3AA122678F7330090FAD8 /* IssueSelectTableViewController.swift */; }; 930FAE86266E112700422968 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE85266E112700422968 /* AppDelegate.swift */; }; 930FAE88266E112700422968 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930FAE87266E112700422968 /* SceneDelegate.swift */; }; 930FAE8D266E112700422968 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 930FAE8B266E112700422968 /* Main.storyboard */; }; @@ -91,6 +92,7 @@ 88C3A9F8267742140090FAD8 /* NotificationNameExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationNameExtension.swift; sourceTree = ""; }; 88C3A9FD26785B160090FAD8 /* Status.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Status.swift; sourceTree = ""; }; 88C3AA0A267874470090FAD8 /* IssuePatchRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IssuePatchRequest.swift; sourceTree = ""; }; + 88C3AA122678F7330090FAD8 /* IssueSelectTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IssueSelectTableViewController.swift; sourceTree = ""; }; 930FAE82266E112700422968 /* issueTrackerApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = issueTrackerApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 930FAE85266E112700422968 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 930FAE87266E112700422968 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; @@ -153,6 +155,7 @@ isa = PBXGroup; children = ( 883F5184266F5F090055EC9E /* IssueViewController.swift */, + 88C3AA122678F7330090FAD8 /* IssueSelectTableViewController.swift */, ); path = Issue; sourceTree = ""; @@ -602,6 +605,7 @@ 88C3A9FE26785B160090FAD8 /* Status.swift in Sources */, 883F51B62671E1710055EC9E /* CustomBarButtonItem.swift in Sources */, 883F522A267312CE0055EC9E /* IssueEndPoint.swift in Sources */, + 88C3AA132678F7330090FAD8 /* IssueSelectTableViewController.swift in Sources */, 883F51D4267204520055EC9E /* LabelModel.swift in Sources */, 883F51C7267200EA0055EC9E /* Issue.swift in Sources */, ); diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueSelectTableViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueSelectTableViewController.swift new file mode 100644 index 000000000..d6bc797d5 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueSelectTableViewController.swift @@ -0,0 +1,93 @@ +// +// IssueSelectTableViewController.swift +// issueTrackerApp +// +// Created by 조중윤 on 2021/06/15. +// + +import UIKit + +class IssueSelectTableViewController: UITableViewController { + + override func viewDidLoad() { + super.viewDidLoad() + + self.configureBackBarButtonItem() + self.configureRightBarButtonItem() + } + + private func configureBackBarButtonItem() { + self.navigationItem.hidesBackButton = true + } + + private func configureRightBarButtonItem() { + let rightBarButtonItem = UIBarButtonItem(title: "취소", image: nil, primaryAction: UIAction.init(handler: { (touch) in + self.navigationController?.popViewController(animated: true) + }), menu: nil) + + self.navigationItem.rightBarButtonItem = rightBarButtonItem + } + + // MARK: - Table view data source + + override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + + return 0 + } + + /* + override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = tableView.dequeueReusableCell(withIdentifier: "reuseIdentifier", for: indexPath) + + // Configure the cell... + + return cell + } + */ + + /* + // Override to support conditional editing of the table view. + override func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool { + // Return false if you do not want the specified item to be editable. + return true + } + */ + + /* + // Override to support editing the table view. + override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) { + if editingStyle == .delete { + // Delete the row from the data source + tableView.deleteRows(at: [indexPath], with: .fade) + } else if editingStyle == .insert { + // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view + } + } + */ + + /* + // Override to support rearranging the table view. + override func tableView(_ tableView: UITableView, moveRowAt fromIndexPath: IndexPath, to: IndexPath) { + + } + */ + + /* + // Override to support conditional rearranging of the table view. + override func tableView(_ tableView: UITableView, canMoveRowAt indexPath: IndexPath) -> Bool { + // Return false if you do not want the item to be re-orderable. + return true + } + */ + + /* + // MARK: - Navigation + + // In a storyboard-based application, you will often want to do a little preparation before navigation + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { + // Get the new view controller using segue.destination. + // Pass the selected object to the new view controller. + } + */ + +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift index d1e05eca0..24a52fdcb 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift @@ -68,7 +68,10 @@ class IssueViewController: UIViewController, IssueNetworked { private func configureRightBarButtonItem() { let customRightBarButton = CustomBarButtonItem(title: "선택", image: UIImage(systemName: "checkmark.circle") ?? UIImage(), located: .right) customRightBarButton.addAction(UIAction(handler: { (touch) in - // todo + + let targetVC = self.storyboard?.instantiateViewController(identifier: "IssueSelectTableViewController") as! IssueSelectTableViewController + self.navigationController?.pushViewController(targetVC, animated: true) + }), for: .touchUpInside) let rightBarButtonItem = UIBarButtonItem(customView: customRightBarButton) self.navigationItem.rightBarButtonItem = rightBarButtonItem diff --git a/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard index d815a736b..048b16ab6 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard +++ b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard @@ -36,12 +36,32 @@ + + + + + + + + + + + + + + + + + + + + From 2d829961ad93fbf81280f10a90cad2aff28c7f53 Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Wed, 16 Jun 2021 15:48:32 +0900 Subject: [PATCH 39/46] =?UTF-8?q?Implement:=20#27=20AddIssueViewController?= =?UTF-8?q?=20UI=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../issueTrackerApp.xcodeproj/project.pbxproj | 73 +++++++++++ .../UserInterfaceState.xcuserstate | Bin 119983 -> 124068 bytes .../xcschemes/xcschememanagement.plist | 2 +- .../Domain/Coordinator/Coordinator.swift | 10 ++ .../Issue/AddIssueViewController.swift | 84 ++++++++++-- .../Issue/MoreInformationViewController.swift | 18 ++- .../Base.lproj/Issue.storyboard | 124 ++++++++++++++---- 7 files changed, 278 insertions(+), 33 deletions(-) diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj index 7ed3a52da..eaefba288 100644 --- a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj @@ -35,6 +35,17 @@ 931BAE2F267310EB00CD9244 /* JWTDecode in Frameworks */ = {isa = PBXBuildFile; productRef = 931BAE2E267310EB00CD9244 /* JWTDecode */; }; 931BAE41267343B900CD9244 /* AddIssueViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAE40267343B900CD9244 /* AddIssueViewController.swift */; }; 931BAE4626734FA500CD9244 /* MoreInformationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAE4526734FA500CD9244 /* MoreInformationViewController.swift */; }; + 931BAE4C26737F5100CD9244 /* MarkdownKit in Frameworks */ = {isa = PBXBuildFile; productRef = 931BAE4B26737F5100CD9244 /* MarkdownKit */; }; + 931BAE5526749FCD00CD9244 /* MoreInfoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAE5426749FCD00CD9244 /* MoreInfoCell.swift */; }; + 931BAE5C2674B90100CD9244 /* MoreInfoTableViewDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAE5B2674B90100CD9244 /* MoreInfoTableViewDataSource.swift */; }; + 931BAE622674DAF100CD9244 /* MoreInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAE612674DAF100CD9244 /* MoreInfo.swift */; }; + 931BAE6B2674EE6F00CD9244 /* MoreInfos.json in Resources */ = {isa = PBXBuildFile; fileRef = 931BAE6A2674EE6F00CD9244 /* MoreInfos.json */; }; + 931BAE702674F0D000CD9244 /* DummyDataLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAE6F2674F0D000CD9244 /* DummyDataLoader.swift */; }; + 931BAE762674FC4700CD9244 /* ArrayTableViewDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAE752674FC4700CD9244 /* ArrayTableViewDataSource.swift */; }; + 931BAE7E2675A27000CD9244 /* UITableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAE7D2675A27000CD9244 /* UITableView.swift */; }; + 931BAEA52677973200CD9244 /* StateController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAEA42677973200CD9244 /* StateController.swift */; }; + 931BAEAD2678843200CD9244 /* CommentViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAEAC2678843200CD9244 /* CommentViewController.swift */; }; + 931BAEB226788EA700CD9244 /* MarkdownViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAEB126788EA700CD9244 /* MarkdownViewController.swift */; }; 9343E2CA266EF9CD0086F977 /* KeychainController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2C9266EF9CD0086F977 /* KeychainController.swift */; }; 9343E2D3266EFBA70086F977 /* GitHubEndpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2D2266EFBA70086F977 /* GitHubEndpoint.swift */; }; 9343E2D8266F03E90086F977 /* NetworkController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2D7266F03E90086F977 /* NetworkController.swift */; }; @@ -96,6 +107,16 @@ 931BAE1D26730C8600CD9244 /* SettingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingViewController.swift; sourceTree = ""; }; 931BAE40267343B900CD9244 /* AddIssueViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddIssueViewController.swift; sourceTree = ""; }; 931BAE4526734FA500CD9244 /* MoreInformationViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoreInformationViewController.swift; sourceTree = ""; }; + 931BAE5426749FCD00CD9244 /* MoreInfoCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoreInfoCell.swift; sourceTree = ""; }; + 931BAE5B2674B90100CD9244 /* MoreInfoTableViewDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoreInfoTableViewDataSource.swift; sourceTree = ""; }; + 931BAE612674DAF100CD9244 /* MoreInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoreInfo.swift; sourceTree = ""; }; + 931BAE6A2674EE6F00CD9244 /* MoreInfos.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = MoreInfos.json; sourceTree = ""; }; + 931BAE6F2674F0D000CD9244 /* DummyDataLoader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DummyDataLoader.swift; sourceTree = ""; }; + 931BAE752674FC4700CD9244 /* ArrayTableViewDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArrayTableViewDataSource.swift; sourceTree = ""; }; + 931BAE7D2675A27000CD9244 /* UITableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UITableView.swift; sourceTree = ""; }; + 931BAEA42677973200CD9244 /* StateController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StateController.swift; sourceTree = ""; }; + 931BAEAC2678843200CD9244 /* CommentViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentViewController.swift; sourceTree = ""; }; + 931BAEB126788EA700CD9244 /* MarkdownViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarkdownViewController.swift; sourceTree = ""; }; 9343E2C9266EF9CD0086F977 /* KeychainController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeychainController.swift; sourceTree = ""; }; 9343E2D2266EFBA70086F977 /* GitHubEndpoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GitHubEndpoint.swift; sourceTree = ""; }; 9343E2D7266F03E90086F977 /* NetworkController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkController.swift; sourceTree = ""; }; @@ -112,6 +133,7 @@ buildActionMask = 2147483647; files = ( 931BAE2F267310EB00CD9244 /* JWTDecode in Frameworks */, + 931BAE4C26737F5100CD9244 /* MarkdownKit in Frameworks */, 930FAEC7266E13F500422968 /* Alamofire in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -147,6 +169,8 @@ 883F5184266F5F090055EC9E /* IssueViewController.swift */, 931BAE40267343B900CD9244 /* AddIssueViewController.swift */, 931BAE4526734FA500CD9244 /* MoreInformationViewController.swift */, + 931BAEAC2678843200CD9244 /* CommentViewController.swift */, + 931BAEB126788EA700CD9244 /* MarkdownViewController.swift */, ); path = Issue; sourceTree = ""; @@ -252,6 +276,8 @@ 930FAEBE266E128700422968 /* UseCase */, 930FAEBD266E127B00422968 /* Entity */, 9343E2F0266F5CBC0086F977 /* Coordinator */, + 931BAE692674EE5E00CD9244 /* Dummy data */, + 931BAE742674FA8F00CD9244 /* Protocols and extentions */, ); path = Domain; sourceTree = ""; @@ -263,6 +289,7 @@ 883F51CB2672041A0055EC9E /* Milestones.swift */, 883F51D3267204520055EC9E /* LabelModel.swift */, 883F51DB267204DC0055EC9E /* Comment.swift */, + 931BAE612674DAF100CD9244 /* MoreInfo.swift */, ); path = Entity; sourceTree = ""; @@ -270,6 +297,7 @@ 930FAEBE266E128700422968 /* UseCase */ = { isa = PBXGroup; children = ( + 931BAEA42677973200CD9244 /* StateController.swift */, ); path = UseCase; sourceTree = ""; @@ -374,6 +402,8 @@ 883F519D2670940E0055EC9E /* IssueCell.xib */, 883F51A32670AAAB0055EC9E /* TagStackView.swift */, 883F51A82670ABDC0055EC9E /* TagLabel.swift */, + 931BAE5426749FCD00CD9244 /* MoreInfoCell.swift */, + 931BAE5B2674B90100CD9244 /* MoreInfoTableViewDataSource.swift */, ); path = Issue; sourceTree = ""; @@ -387,6 +417,24 @@ path = issueTrackerApp/Presentation/UI/ViewController/Setting; sourceTree = SOURCE_ROOT; }; + 931BAE692674EE5E00CD9244 /* Dummy data */ = { + isa = PBXGroup; + children = ( + 931BAE6A2674EE6F00CD9244 /* MoreInfos.json */, + 931BAE6F2674F0D000CD9244 /* DummyDataLoader.swift */, + ); + path = "Dummy data"; + sourceTree = ""; + }; + 931BAE742674FA8F00CD9244 /* Protocols and extentions */ = { + isa = PBXGroup; + children = ( + 931BAE752674FC4700CD9244 /* ArrayTableViewDataSource.swift */, + 931BAE7D2675A27000CD9244 /* UITableView.swift */, + ); + path = "Protocols and extentions"; + sourceTree = ""; + }; 9343E2F0266F5CBC0086F977 /* Coordinator */ = { isa = PBXGroup; children = ( @@ -424,6 +472,7 @@ packageProductDependencies = ( 930FAEC6266E13F500422968 /* Alamofire */, 931BAE2E267310EB00CD9244 /* JWTDecode */, + 931BAE4B26737F5100CD9244 /* MarkdownKit */, ); productName = issueTrackerApp; productReference = 930FAE82266E112700422968 /* issueTrackerApp.app */; @@ -499,6 +548,7 @@ packageReferences = ( 930FAEC5266E13F500422968 /* XCRemoteSwiftPackageReference "Alamofire" */, 931BAE2D267310EB00CD9244 /* XCRemoteSwiftPackageReference "JWTDecode.swift" */, + 931BAE4A26737F5100CD9244 /* XCRemoteSwiftPackageReference "MarkdownKit" */, ); productRefGroup = 930FAE83266E112700422968 /* Products */; projectDirPath = ""; @@ -519,6 +569,7 @@ 883F5161266F505E0055EC9E /* Label.storyboard in Resources */, 883F516A266F508B0055EC9E /* Milestones.storyboard in Resources */, 883F5172266F50A40055EC9E /* Setting.storyboard in Resources */, + 931BAE6B2674EE6F00CD9244 /* MoreInfos.json in Resources */, 883F5159266F502F0055EC9E /* Issue.storyboard in Resources */, 930FAE92266E112900422968 /* LaunchScreen.storyboard in Resources */, 930FAE8F266E112900422968 /* Assets.xcassets in Resources */, @@ -551,23 +602,32 @@ 883F5148266F3EAF0055EC9E /* LoginViewController.swift in Sources */, 9343E2D3266EFBA70086F977 /* GitHubEndpoint.swift in Sources */, 931BAE41267343B900CD9244 /* AddIssueViewController.swift in Sources */, + 931BAE5C2674B90100CD9244 /* MoreInfoTableViewDataSource.swift in Sources */, 9343E2F7266F5E890086F977 /* MainTabBarController.swift in Sources */, + 931BAE702674F0D000CD9244 /* DummyDataLoader.swift in Sources */, 9343E30D266F90EF0086F977 /* LoginFlowCoordinator.swift in Sources */, 930FAE86266E112700422968 /* AppDelegate.swift in Sources */, + 931BAEAD2678843200CD9244 /* CommentViewController.swift in Sources */, 931BAE4626734FA500CD9244 /* MoreInformationViewController.swift in Sources */, 9343E305266F60B50086F977 /* NetworkRequest.swift in Sources */, 931BAE1E26730C8600CD9244 /* SettingViewController.swift in Sources */, + 931BAEA52677973200CD9244 /* StateController.swift in Sources */, 883F51A42670AAAB0055EC9E /* TagStackView.swift in Sources */, 883F519E2670940E0055EC9E /* IssueCell.swift in Sources */, 9343E2D8266F03E90086F977 /* NetworkController.swift in Sources */, 883F51CC2672041A0055EC9E /* Milestones.swift in Sources */, 883F51DC267204DC0055EC9E /* Comment.swift in Sources */, 9343E2F2266F5CC70086F977 /* Coordinator.swift in Sources */, + 931BAE7E2675A27000CD9244 /* UITableView.swift in Sources */, 9343E300266F603C0086F977 /* AccessTokenRequest.swift in Sources */, + 931BAE622674DAF100CD9244 /* MoreInfo.swift in Sources */, 883F5185266F5F090055EC9E /* IssueViewController.swift in Sources */, 930FAE88266E112700422968 /* SceneDelegate.swift in Sources */, + 931BAEB226788EA700CD9244 /* MarkdownViewController.swift in Sources */, 883F51AE2670B2F70055EC9E /* UIColorExtension.swift in Sources */, + 931BAE762674FC4700CD9244 /* ArrayTableViewDataSource.swift in Sources */, 9343E2CA266EF9CD0086F977 /* KeychainController.swift in Sources */, + 931BAE5526749FCD00CD9244 /* MoreInfoCell.swift in Sources */, 883F51A92670ABDC0055EC9E /* TagLabel.swift in Sources */, 883F51B62671E1710055EC9E /* CustomBarButtonItem.swift in Sources */, 883F51D4267204520055EC9E /* LabelModel.swift in Sources */, @@ -940,6 +1000,14 @@ minimumVersion = 2.6.1; }; }; + 931BAE4A26737F5100CD9244 /* XCRemoteSwiftPackageReference "MarkdownKit" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/bmoliveira/MarkdownKit.git"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 1.7.1; + }; + }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ @@ -953,6 +1021,11 @@ package = 931BAE2D267310EB00CD9244 /* XCRemoteSwiftPackageReference "JWTDecode.swift" */; productName = JWTDecode; }; + 931BAE4B26737F5100CD9244 /* MarkdownKit */ = { + isa = XCSwiftPackageProductDependency; + package = 931BAE4A26737F5100CD9244 /* XCRemoteSwiftPackageReference "MarkdownKit" */; + productName = MarkdownKit; + }; /* End XCSwiftPackageProductDependency section */ }; rootObject = 930FAE7A266E112700422968 /* Project object */; diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate index 695b1c8d5697b45e8e76c847cd88085fd3e8fe28..90246089cfbbf071ef8692f2c81552c14d9733ea 100644 GIT binary patch literal 124068 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 V@c;g6t}g%YzyAOKJtT6+{{dtXVEX_7 literal 119983 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 L|NjqZGVK2VtDS9n diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/xcuserdata/zombietux.xcuserdatad/xcschemes/xcschememanagement.plist b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/xcuserdata/zombietux.xcuserdatad/xcschemes/xcschememanagement.plist index 34acbee64..7fd8d0206 100644 --- a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/xcuserdata/zombietux.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/xcuserdata/zombietux.xcuserdatad/xcschemes/xcschememanagement.plist @@ -49,7 +49,7 @@ issueTrackerApp.xcscheme_^#shared#^_ orderHint - 1 + 0 diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift index 5ab05fc76..8931990bd 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift @@ -12,6 +12,10 @@ protocol Coordinator: AnyObject { func configure(viewController: UIViewController) } +protocol Coordinated: class { + var coordinator: Coordinator? { get set } +} + protocol MainCoordinated: AnyObject { var mainCoordinator: MainFlowCoordinator? { get set } } @@ -24,10 +28,15 @@ protocol Networked: class { var networkController: NetworkController? { get set } } +protocol Stateful: AnyObject { + var stateController: StateController? { get set } +} + class MainFlowCoordinator: NSObject { let mainTabBarController: MainTabBarController let keyChainController = KeychainController() let loginFlowCoordinator = LoginFlowCoordinator() + let stateController = StateController() init(mainViewController: MainTabBarController) { self.mainTabBarController = mainViewController @@ -46,6 +55,7 @@ extension MainFlowCoordinator: Coordinator { (viewController as? MainCoordinated)?.mainCoordinator = self (viewController as? Networked)?.networkController = NetworkController(keychainController: keyChainController) (viewController as? LoginCoordinated)?.loginCoordinator = loginFlowCoordinator + (viewController as? Stateful)?.stateController = stateController if let tabBarController = viewController as? UITabBarController { tabBarController.viewControllers?.forEach(configure(viewController:)) } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/AddIssueViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/AddIssueViewController.swift index 1b1b5c79d..0bdd99a78 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/AddIssueViewController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/AddIssueViewController.swift @@ -7,16 +7,84 @@ import UIKit -class AddIssueViewController: UIViewController { - - @IBOutlet weak var cancelButton: UIButton! - @IBOutlet weak var saveButton: UIButton! - @IBOutlet weak var markdownSegmentedControl: UISegmentedControl! - @IBOutlet weak var commentTextField: UITextField! - @IBOutlet weak var titleTextField: UITextField! - @IBOutlet weak var moreInformationView: UIView! +class AddIssueViewController: UIViewController, Stateful, MainCoordinated { + @IBOutlet private weak var cancelButton: UIButton! + @IBOutlet private weak var saveButton: UIButton! + @IBOutlet private weak var markdownSegmentedControl: UISegmentedControl! + @IBOutlet private weak var titleTextField: UITextField! + @IBOutlet private weak var moreInformationView: UIView! + @IBOutlet private weak var commentView: UIView! + + var stateController: StateController? + weak var mainCoordinator: MainFlowCoordinator? + private lazy var commentInputViewControler: CommentViewController = { + let storyboard = UIStoryboard(name: "Issue", bundle: Bundle.main) + var viewController = storyboard.instantiateViewController(identifier: "CommentViewController") as! CommentViewController + viewController.stateController = stateController + self.add(asChildViewController: viewController) + return viewController + }() + + private lazy var markdownInputViewControler: MarkdownViewController = { + let storyboard = UIStoryboard(name: "Issue", bundle: Bundle.main) + var viewController = storyboard.instantiateViewController(identifier: "MarkdownViewController") as! MarkdownViewController + viewController.stateController = stateController + self.add(asChildViewController: viewController) + return viewController + }() + override func viewDidLoad() { super.viewDidLoad() + view.addSubview(moreInformationView) + setupView() + } + + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { + mainCoordinator?.configure(viewController: segue.destination) + } +} + +//MARK:- Segmented Control +extension AddIssueViewController { + func setupView() { + configureSegmentedControl() + updateView() + } + + private func configureSegmentedControl() { + markdownSegmentedControl.removeAllSegments() + markdownSegmentedControl.insertSegment(withTitle: "마크다운", at: 0, animated: true) + markdownSegmentedControl.insertSegment(withTitle: "미리보기", at: 1, animated: true) + markdownSegmentedControl.addTarget(self, action: #selector(selectionDidChange(_:)), for: .valueChanged) + markdownSegmentedControl.selectedSegmentIndex = 0 + } + + @objc func selectionDidChange(_ sender: UISegmentedControl) { + updateView() + } + + private func updateView() { + if markdownSegmentedControl.selectedSegmentIndex == 0 { + remove(asChildViewController: markdownInputViewControler) + add(asChildViewController: commentInputViewControler) + } else { + remove(asChildViewController: commentInputViewControler) + add(asChildViewController: markdownInputViewControler) + } + } + + private func add(asChildViewController viewController: UIViewController) { + addChild(viewController) + commentView.addSubview(viewController.view) + viewController.view.frame = view.bounds + viewController.view.autoresizingMask = [.flexibleWidth, .flexibleHeight] + viewController.didMove(toParent: self) + } + + private func remove(asChildViewController viewController: UIViewController) { + viewController.willMove(toParent: nil) + viewController.view.removeFromSuperview() + viewController.removeFromParent() } } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/MoreInformationViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/MoreInformationViewController.swift index 9a85e95dd..0d0c20ae9 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/MoreInformationViewController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/MoreInformationViewController.swift @@ -7,9 +7,23 @@ import UIKit -class MoreInformationViewController: UIViewController { - +class MoreInformationViewController: UIViewController, Stateful, MainCoordinated { + + @IBOutlet private weak var tableView: UITableView! + private var dataSource: MoreInfoTableViewDataSource? + var stateController: StateController? + weak var mainCoordinator: MainFlowCoordinator? + override func viewDidLoad() { super.viewDidLoad() + guard let moreInfos = stateController?.moreInfos else { return } + let dataSource = MoreInfoTableViewDataSource(moreInfos: moreInfos) + self.dataSource = dataSource + tableView.dataSource = dataSource + tableView.reloadData() + } + + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { + mainCoordinator?.configure(viewController: segue.destination) } } diff --git a/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard index b62678c40..b3d880dfe 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard +++ b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard @@ -86,7 +86,7 @@ - + @@ -95,14 +95,6 @@ - - - - - - - - @@ -140,23 +132,27 @@ + + + + + - - - + + - + - + @@ -167,7 +163,7 @@ - + @@ -178,7 +174,7 @@ - + @@ -208,16 +204,16 @@ - + - + - + - - + + @@ -247,7 +243,7 @@ - + @@ -260,16 +256,29 @@ + + + + + + + + @@ -278,14 +287,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From a18473cd8fc56fbd0c759c30b4202999692ceb24 Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Wed, 16 Jun 2021 15:48:45 +0900 Subject: [PATCH 40/46] =?UTF-8?q?Implement:=20#27=20AddIssueViewController?= =?UTF-8?q?=20UI=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Domain/Dummy data/DummyDataLoader.swift | 23 ++++++++ .../Domain/Dummy data/MoreInfos.json | 15 +++++ .../Domain/Entity/MoreInfo.swift | 13 +++++ .../ArrayTableViewDataSource.swift | 55 +++++++++++++++++++ .../UITableView.swift | 14 +++++ .../Domain/UseCase/StateController.swift | 26 +++++++++ .../UI/UIView/Issue/MoreInfoCell.swift | 34 ++++++++++++ .../Issue/MoreInfoTableViewDataSource.swift | 53 ++++++++++++++++++ .../Issue/CommentViewController.swift | 36 ++++++++++++ .../Issue/MarkdownViewController.swift | 27 +++++++++ 10 files changed, 296 insertions(+) create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Domain/Dummy data/DummyDataLoader.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Domain/Dummy data/MoreInfos.json create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/MoreInfo.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Domain/Protocols and extentions/ArrayTableViewDataSource.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Domain/Protocols and extentions/UITableView.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Domain/UseCase/StateController.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/UIView/Issue/MoreInfoCell.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/UIView/Issue/MoreInfoTableViewDataSource.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/CommentViewController.swift create mode 100644 iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/MarkdownViewController.swift diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Dummy data/DummyDataLoader.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/Dummy data/DummyDataLoader.swift new file mode 100644 index 000000000..be521072a --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/Dummy data/DummyDataLoader.swift @@ -0,0 +1,23 @@ +// +// DummyDataLoader.swift +// issueTrackerApp +// +// Created by zombietux on 2021/06/12. +// + +import Foundation + +struct DummyDataLoader { + static func loadDataFromJSONFile(withName name: String) -> Model? { + guard let url = Bundle.main.url(forResource: name, withExtension: "json"), + let data = try? Data(contentsOf: url) else { + return nil + } + let decoder = JSONDecoder() + decoder.dateDecodingStrategy = .iso8601 + guard let model = try? decoder.decode(Model.self, from: data) else { + return nil + } + return model + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Dummy data/MoreInfos.json b/iOS/issueTrackerApp/issueTrackerApp/Domain/Dummy data/MoreInfos.json new file mode 100644 index 000000000..089ccef8a --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/Dummy data/MoreInfos.json @@ -0,0 +1,15 @@ + +[ + { + "title": "레이블", + "info": "iOS", + }, + { + "title": "마일스톤", + "info": "[iOS] Network Layer", + }, + { + "title": "작성자", + "info": "ITZombietux", + }, +] diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/MoreInfo.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/MoreInfo.swift new file mode 100644 index 000000000..2295231ce --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/MoreInfo.swift @@ -0,0 +1,13 @@ +// +// MoreInfo.swift +// issueTrackerApp +// +// Created by zombietux on 2021/06/12. +// + +import Foundation + +struct MoreInfo: Decodable { + let title: String + let info: String +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Protocols and extentions/ArrayTableViewDataSource.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/Protocols and extentions/ArrayTableViewDataSource.swift new file mode 100644 index 000000000..b6690ef11 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/Protocols and extentions/ArrayTableViewDataSource.swift @@ -0,0 +1,55 @@ +// +// ArrayTableViewDataSource.swift +// issueTrackerApp +// +// Created by zombietux on 2021/06/12. +// + +import UIKit + +protocol ArrayTableViewDataSource: class { + associatedtype ModelType + associatedtype ViewModel + associatedtype Cell: UITableViewCell + var dataOrganizer: ArrayDataSourceOrganizer { get } + var viewModelCache: [IndexPath: ViewModel] { get set } + func viewModel(for value: ModelType) -> ViewModel + func configure(cell: Cell, with viewModel: ViewModel) +} + +extension ArrayTableViewDataSource { + var rowsCount: Int { + return dataOrganizer.rowsCount + } + + func cell(from tableView: UITableView, for indexPath: IndexPath) -> Cell { + func extractViewModel(at indexPath: IndexPath) -> ViewModel { + let viewModel: ViewModel + if let cachedViewModel = viewModelCache[indexPath] { + viewModel = cachedViewModel + } else { + let value = dataOrganizer[indexPath] + viewModel = self.viewModel(for: value) + viewModelCache[indexPath] = viewModel + } + return viewModel + } + + let cell: Cell = tableView.dequeueReusableCell(for: indexPath) + configure(cell: cell, with: extractViewModel(at: indexPath)) + return cell + } +} + +struct ArrayDataSourceOrganizer { + let items: [ModelType] + + var rowsCount: Int { + return items.count + } + + subscript(indexPath: IndexPath) -> ModelType { + return items[indexPath.row] + } +} + diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Protocols and extentions/UITableView.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/Protocols and extentions/UITableView.swift new file mode 100644 index 000000000..4f98f1db9 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/Protocols and extentions/UITableView.swift @@ -0,0 +1,14 @@ +// +// UITableView.swift +// issueTrackerApp +// +// Created by zombietux on 2021/06/13. +// + +import UIKit + +extension UITableView { + func dequeueReusableCell(for indexPath: IndexPath) -> Cell { + return dequeueReusableCell(withIdentifier: String(describing: Cell.self), for: indexPath) as! Cell + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/UseCase/StateController.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/UseCase/StateController.swift new file mode 100644 index 000000000..71ae2a391 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/UseCase/StateController.swift @@ -0,0 +1,26 @@ +// +// StateController.swift +// issueTrackerApp +// +// Created by zombietux on 2021/06/14. +// + +import Foundation + +class StateController { + //수정해야함!!!! + var issueTitle = String() + var comment = String() + + var moreInfos: [MoreInfo] { + return DummyDataLoader.loadDataFromJSONFile(withName: "MoreInfos") ?? [] + } + + func updateIssueTitle(_ issueTitle: String) { + self.issueTitle = issueTitle + } + + func updateComment(_ comment: String) { + self.comment = comment + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/UIView/Issue/MoreInfoCell.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/UIView/Issue/MoreInfoCell.swift new file mode 100644 index 000000000..68d51998d --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/UIView/Issue/MoreInfoCell.swift @@ -0,0 +1,34 @@ +// +// MoreInfoCell.swift +// issueTrackerApp +// +// Created by zombietux on 2021/06/12. +// + +import UIKit + +class MoreInfoCell: UITableViewCell { + @IBOutlet private weak var titleLabel: UILabel! + @IBOutlet private weak var infoLabel: UILabel! + + var viewModel = ViewModel() { + didSet { + titleLabel.text = viewModel.title + infoLabel.text = viewModel.info + } + } +} + +extension MoreInfoCell { + struct ViewModel { + var title = "" + var info = "" + } +} + +extension MoreInfoCell.ViewModel { + init(moreInfo: MoreInfo) { + title = moreInfo.title + info = moreInfo.info + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/UIView/Issue/MoreInfoTableViewDataSource.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/UIView/Issue/MoreInfoTableViewDataSource.swift new file mode 100644 index 000000000..7557320bb --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/UIView/Issue/MoreInfoTableViewDataSource.swift @@ -0,0 +1,53 @@ +// +// MoreInfoTableViewDataSource.swift +// issueTrackerApp +// +// Created by zombietux on 2021/06/12. +// + +import UIKit + +class MoreInfoTableViewDataSource: NSObject { + internal var dataOrganizer: ArrayDataSourceOrganizer + internal var viewModelCache: [IndexPath : MoreInfoCell.ViewModel] = [:] + + init(moreInfos: [MoreInfo]) { + dataOrganizer = ArrayDataSourceOrganizer(items: moreInfos) + super.init() + } +} + +private extension MoreInfoTableViewDataSource { + struct DataOrganizer { + let moreInfos: [MoreInfo] + + var rowsCount: Int { + return moreInfos.count + } + + subscript(indexPath: IndexPath) -> MoreInfo { + return moreInfos[indexPath.row] + } + } +} + +extension MoreInfoTableViewDataSource: ArrayTableViewDataSource { + func viewModel(for value: ModelType) -> MoreInfoCell.ViewModel { + return MoreInfoCell.ViewModel(moreInfo: value) + } + + func configure(cell: MoreInfoCell, with viewModel: MoreInfoCell.ViewModel) { + cell.viewModel = viewModel + } +} + +extension MoreInfoTableViewDataSource: UITableViewDataSource { + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return rowsCount + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + return cell(from: tableView, for: indexPath) + } +} + diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/CommentViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/CommentViewController.swift new file mode 100644 index 000000000..4dc715831 --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/CommentViewController.swift @@ -0,0 +1,36 @@ +// +// CommentViewController.swift +// issueTrackerApp +// +// Created by zombietux on 2021/06/15. +// + +import UIKit + +class CommentViewController: UIViewController, Stateful, MainCoordinated { + + @IBOutlet weak var commentTextView: UITextView! + + var stateController: StateController? + weak var mainCoordinator: MainFlowCoordinator? + + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + commentTextView.delegate = self + } +} + +extension CommentViewController: UITextViewDelegate { + func textViewDidEndEditing(_ textView: UITextView) { + stateController?.updateComment(textView.text ?? "") + } + + func textViewDidBeginEditing(_ textView: UITextView) { + let menuItem = UIMenuItem(title: "Insert Photo", action: #selector(textViewDidTapped)) + UIMenuController.shared.menuItems = [menuItem] + } + + @objc func textViewDidTapped() { + + } +} diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/MarkdownViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/MarkdownViewController.swift new file mode 100644 index 000000000..d5225e9ab --- /dev/null +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/MarkdownViewController.swift @@ -0,0 +1,27 @@ +// +// MarkdownViewController.swift +// issueTrackerApp +// +// Created by zombietux on 2021/06/15. +// + +import UIKit +import MarkdownKit + +class MarkdownViewController: UIViewController, Stateful, MainCoordinated { + + @IBOutlet weak var markdownLabel: UILabel! + + var stateController: StateController? + weak var mainCoordinator: MainFlowCoordinator? + private let markdownParser = MarkdownParser() + + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + configureMarkdownView() + } + + private func configureMarkdownView() { + markdownLabel.attributedText = markdownParser.parse(stateController?.comment ?? "") + } +} From 335f54e6088e60cd29451ed16f04130cd9abc57e Mon Sep 17 00:00:00 2001 From: JUNGYUN-Daegu/JUNGYUN-Daegu/jungyun Date: Wed, 16 Jun 2021 15:49:31 +0900 Subject: [PATCH 41/46] =?UTF-8?q?Implement:=20#8=20#46=20IssueSelectionVie?= =?UTF-8?q?w=20=EA=B5=AC=ED=98=84=20=EB=B0=8F=20=EB=8D=94=EB=AF=B8?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../issueTrackerApp/Domain/Entity/Issue.swift | 2 + .../IssueSelectTableViewController.swift | 72 +++++-------------- .../Issue/IssueViewController.swift | 9 ++- .../ViewModel/IssueViewModel.swift | 17 +++-- 4 files changed, 39 insertions(+), 61 deletions(-) diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Issue.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Issue.swift index 03ecfe257..0f24e60ef 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Issue.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/Entity/Issue.swift @@ -30,9 +30,11 @@ struct Issue: Codable { } struct Label: Codable { + let id: Int let title, colorCode: String enum CodingKeys: String, CodingKey { + case id case title case colorCode = "color_code" } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueSelectTableViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueSelectTableViewController.swift index d6bc797d5..9272cc428 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueSelectTableViewController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueSelectTableViewController.swift @@ -9,13 +9,25 @@ import UIKit class IssueSelectTableViewController: UITableViewController { + var issues: [Issue] = [] + override func viewDidLoad() { super.viewDidLoad() - + + self.configureTableView() self.configureBackBarButtonItem() self.configureRightBarButtonItem() } + public func prepare(with issues: [Issue]) { + self.issues = issues + } + + private func configureTableView() { + self.tableView.register(IssueCell.nib, forCellReuseIdentifier: IssueCell.identifier) + self.tableView.allowsMultipleSelection = true + } + private func configureBackBarButtonItem() { self.navigationItem.hidesBackButton = true } @@ -31,63 +43,15 @@ class IssueSelectTableViewController: UITableViewController { // MARK: - Table view data source override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - - return 0 + return self.issues.count } - /* override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - let cell = tableView.dequeueReusableCell(withIdentifier: "reuseIdentifier", for: indexPath) - - // Configure the cell... - + + guard let cell = self.tableView.dequeueReusableCell(withIdentifier: IssueCell.identifier) as? IssueCell else { return UITableViewCell() } + cell.configureAll(with: issues[indexPath.row]) + return cell } - */ - - /* - // Override to support conditional editing of the table view. - override func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool { - // Return false if you do not want the specified item to be editable. - return true - } - */ - - /* - // Override to support editing the table view. - override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) { - if editingStyle == .delete { - // Delete the row from the data source - tableView.deleteRows(at: [indexPath], with: .fade) - } else if editingStyle == .insert { - // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view - } - } - */ - - /* - // Override to support rearranging the table view. - override func tableView(_ tableView: UITableView, moveRowAt fromIndexPath: IndexPath, to: IndexPath) { - - } - */ - - /* - // Override to support conditional rearranging of the table view. - override func tableView(_ tableView: UITableView, canMoveRowAt indexPath: IndexPath) -> Bool { - // Return false if you do not want the item to be re-orderable. - return true - } - */ - - /* - // MARK: - Navigation - - // In a storyboard-based application, you will often want to do a little preparation before navigation - override func prepare(for segue: UIStoryboardSegue, sender: Any?) { - // Get the new view controller using segue.destination. - // Pass the selected object to the new view controller. - } - */ } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift index 24a52fdcb..1d28e1f87 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift @@ -67,9 +67,11 @@ class IssueViewController: UIViewController, IssueNetworked { private func configureRightBarButtonItem() { let customRightBarButton = CustomBarButtonItem(title: "선택", image: UIImage(systemName: "checkmark.circle") ?? UIImage(), located: .right) - customRightBarButton.addAction(UIAction(handler: { (touch) in + customRightBarButton.addAction(UIAction(handler: { [weak self] (touch) in + guard let self = self else { return } let targetVC = self.storyboard?.instantiateViewController(identifier: "IssueSelectTableViewController") as! IssueSelectTableViewController + targetVC.prepare(with: self.viewModel!.issues) self.navigationController?.pushViewController(targetVC, animated: true) }), for: .touchUpInside) @@ -104,13 +106,14 @@ extension IssueViewController: UISearchResultsUpdating { extension IssueViewController: UITableViewDataSource { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - + if isFiltering { guard let filteredIssue = viewModel?.filteredIssues else { return 0 } return filteredIssue.count } guard let issues = viewModel?.issues else { return 0 } return issues.count + } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { @@ -145,7 +148,7 @@ extension IssueViewController: UITableViewDelegate { // close action let close = UIContextualAction(style: .normal, title: "닫기") { [weak self] (action, view, completionHandler) in -// self?.handleCancel() + // todo completionHandler(true) } close.backgroundColor = UIColor.hexString2UIColor(hexString: "#CCD4FF") diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift index 7e3abf75d..ea29dd67a 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift @@ -34,9 +34,18 @@ class IssueViewModel: IssueViewModelProtocol { } func fetchAllIssue() { - networkController?.fetchIssues(completion: { (issues) in - self.issues = issues - }) +// networkController?.fetchIssues(completion: { (issues) in +// self.issues = issues +// }) + let label1 = Label(id: 1, title: "123", colorCode: "#912939") + let label2 = Label(id: 1, title: "121233", colorCode: "#153239") + + + let issue1 = Issue(id: 123, title: "sdf", description: "sdfsdfsdf", authorAvatarURL: "sdf", labelList: [label1, label2], issueNumber: 1, createdAt: "sdf", milestoneTitle: "milsteon1") + + let issue2 = Issue(id: 13, title: "ssdfsdfdf", description: "sdfsdfsdf", authorAvatarURL: "sdf", labelList: [label1, label2], issueNumber: 1, createdAt: "sdf", milestoneTitle: "milsteon1") + + self.issues = [issue1, issue2] } func filterIssuesWithSearchText(_ string: String) { @@ -49,10 +58,10 @@ class IssueViewModel: IssueViewModelProtocol { let issueId = issues[index].id networkController?.deleteIssue(with: issueId, completion: { (res) in if res.status == "success" { - print("sss") self.issues.remove(at: index) completionHandler() } }) } + } From 2f1a92b149e473896f878fae79d3f0c50fa66347 Mon Sep 17 00:00:00 2001 From: JUNGYUN-Daegu/JUNGYUN-Daegu/jungyun Date: Wed, 16 Jun 2021 16:30:55 +0900 Subject: [PATCH 42/46] =?UTF-8?q?Fix:=20=ED=85=8C=EC=9D=B4=EB=B8=94?= =?UTF-8?q?=EB=B7=B0=20=EC=BB=A8=ED=8A=B8=EB=A1=A4=EB=9F=AC=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Base.lproj/Issue.storyboard | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard index 362f63ca4..bbc63b240 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard +++ b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard @@ -1,5 +1,5 @@ - + @@ -36,12 +36,32 @@ + + + + + + + + + + + + + + + + + + + + From 6e5268a1ed511ddb1bd30e0d07649ec327e692b7 Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Wed, 16 Jun 2021 18:15:46 +0900 Subject: [PATCH 43/46] =?UTF-8?q?Refactor:=20#27=20Coordinator=20Protocol?= =?UTF-8?q?=20=EC=88=98=EC=A0=95=20=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../issueTrackerApp.xcodeproj/project.pbxproj | 10 +++--- .../UserInterfaceState.xcuserstate | Bin 124068 -> 271618 bytes .../Domain/Coordinator/Coordinator.swift | 25 ++++++++----- .../Issue/AddIssueViewController.swift | 12 ++++--- .../Issue/CommentViewController.swift | 10 ++++-- .../IssueSelectTableViewController.swift | 21 ++++++----- .../Issue/IssueViewController.swift | 34 +++++++----------- .../Issue/MarkdownViewController.swift | 12 ++++--- .../Issue/MoreInformationViewController.swift | 10 ++++-- .../ViewModel/AddIssueViewModel.swift} | 4 +-- .../ViewModel/IssueViewModel.swift | 2 +- .../Base.lproj/Issue.storyboard | 5 ++- 12 files changed, 80 insertions(+), 65 deletions(-) rename iOS/issueTrackerApp/issueTrackerApp/{Domain/UseCase/StateController.swift => Presentation/ViewModel/AddIssueViewModel.swift} (89%) diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj index aca84f815..69c7479ae 100644 --- a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj @@ -51,7 +51,7 @@ 931BAE702674F0D000CD9244 /* DummyDataLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAE6F2674F0D000CD9244 /* DummyDataLoader.swift */; }; 931BAE762674FC4700CD9244 /* ArrayTableViewDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAE752674FC4700CD9244 /* ArrayTableViewDataSource.swift */; }; 931BAE7E2675A27000CD9244 /* UITableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAE7D2675A27000CD9244 /* UITableView.swift */; }; - 931BAEA52677973200CD9244 /* StateController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAEA42677973200CD9244 /* StateController.swift */; }; + 931BAEA52677973200CD9244 /* AddIssueViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAEA42677973200CD9244 /* AddIssueViewModel.swift */; }; 931BAEAD2678843200CD9244 /* CommentViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAEAC2678843200CD9244 /* CommentViewController.swift */; }; 931BAEB226788EA700CD9244 /* MarkdownViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAEB126788EA700CD9244 /* MarkdownViewController.swift */; }; 9343E2CA266EF9CD0086F977 /* KeychainController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2C9266EF9CD0086F977 /* KeychainController.swift */; }; @@ -130,7 +130,7 @@ 931BAE6F2674F0D000CD9244 /* DummyDataLoader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DummyDataLoader.swift; sourceTree = ""; }; 931BAE752674FC4700CD9244 /* ArrayTableViewDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArrayTableViewDataSource.swift; sourceTree = ""; }; 931BAE7D2675A27000CD9244 /* UITableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UITableView.swift; sourceTree = ""; }; - 931BAEA42677973200CD9244 /* StateController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StateController.swift; sourceTree = ""; }; + 931BAEA42677973200CD9244 /* AddIssueViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddIssueViewModel.swift; sourceTree = ""; }; 931BAEAC2678843200CD9244 /* CommentViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentViewController.swift; sourceTree = ""; }; 931BAEB126788EA700CD9244 /* MarkdownViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarkdownViewController.swift; sourceTree = ""; }; 9343E2C9266EF9CD0086F977 /* KeychainController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeychainController.swift; sourceTree = ""; }; @@ -183,11 +183,11 @@ isa = PBXGroup; children = ( 883F5184266F5F090055EC9E /* IssueViewController.swift */, + 88C3AA122678F7330090FAD8 /* IssueSelectTableViewController.swift */, 931BAE40267343B900CD9244 /* AddIssueViewController.swift */, 931BAE4526734FA500CD9244 /* MoreInformationViewController.swift */, 931BAEAC2678843200CD9244 /* CommentViewController.swift */, 931BAEB126788EA700CD9244 /* MarkdownViewController.swift */, - 88C3AA122678F7330090FAD8 /* IssueSelectTableViewController.swift */, ); path = Issue; sourceTree = ""; @@ -333,7 +333,6 @@ 930FAEBE266E128700422968 /* UseCase */ = { isa = PBXGroup; children = ( - 931BAEA42677973200CD9244 /* StateController.swift */, ); path = UseCase; sourceTree = ""; @@ -387,6 +386,7 @@ 930FAEC4266E12E900422968 /* ViewModel */ = { isa = PBXGroup; children = ( + 931BAEA42677973200CD9244 /* AddIssueViewModel.swift */, 88C3A9F326773B660090FAD8 /* IssueViewModel.swift */, ); path = ViewModel; @@ -656,7 +656,7 @@ 9343E305266F60B50086F977 /* NetworkRequest.swift in Sources */, 88C3AA0B267874470090FAD8 /* IssuePatchRequest.swift in Sources */, 931BAE1E26730C8600CD9244 /* SettingViewController.swift in Sources */, - 931BAEA52677973200CD9244 /* StateController.swift in Sources */, + 931BAEA52677973200CD9244 /* AddIssueViewModel.swift in Sources */, 883F51A42670AAAB0055EC9E /* TagStackView.swift in Sources */, 883F519E2670940E0055EC9E /* IssueCell.swift in Sources */, 9343E2D8266F03E90086F977 /* NetworkController.swift in Sources */, diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate index 90246089cfbbf071ef8692f2c81552c14d9733ea..4817825c6be7ee4a917bb43026e901163bab12bd 100644 GIT binary patch literal 271618 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

5~Bk<;I$OOElFv>!EeI_PT@bo3bW!MH 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 literal 124068 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 V@c;g6t}g%YzyAOKJtT6+{{dtXVEX_7 diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift index 32f98b866..160c63c26 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift @@ -28,19 +28,25 @@ protocol Networked: class { var networkController: NetworkController? { get set } } -protocol Stateful: AnyObject { - var stateController: StateController? { get set } +protocol AddIssueViewModelType: AnyObject { +// var addIssueViewModel: AddIssueViewModel? { get set } + func setAddIssueViewModel(_ addIssueViewModel: AddIssueViewModel) +} + +protocol IssueViewModelType: AnyObject { + var issueViewModel: IssueViewModel? { get set } } protocol IssueNetworked: class { - var issueNetworkController: IssueNetworkController? { get set } + func setIssueNetworkController(_ issueNetworkController: IssueNetworkController) } class MainFlowCoordinator: NSObject { - let mainTabBarController: MainTabBarController - let keyChainController = KeychainController() - let loginFlowCoordinator = LoginFlowCoordinator() - let stateController = StateController() + private let mainTabBarController: MainTabBarController + private let keyChainController = KeychainController() + private let loginFlowCoordinator = LoginFlowCoordinator() + private let addIssueViewModel = AddIssueViewModel() + private let issueViewModel = IssueViewModel() init(mainViewController: MainTabBarController) { self.mainTabBarController = mainViewController @@ -59,8 +65,9 @@ extension MainFlowCoordinator: Coordinator { (viewController as? MainCoordinated)?.mainCoordinator = self (viewController as? Networked)?.networkController = NetworkController(keychainController: keyChainController) (viewController as? LoginCoordinated)?.loginCoordinator = loginFlowCoordinator - (viewController as? Stateful)?.stateController = stateController - (viewController as? IssueNetworked)?.issueNetworkController = IssueNetworkController() + (viewController as? AddIssueViewModelType)?.setAddIssueViewModel(addIssueViewModel) + (viewController as? IssueNetworked)?.setIssueNetworkController(IssueNetworkController()) + (viewController as? IssueViewModelType)?.issueViewModel = issueViewModel if let tabBarController = viewController as? UITabBarController { tabBarController.viewControllers?.forEach(configure(viewController:)) diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/AddIssueViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/AddIssueViewController.swift index 0bdd99a78..64efcea36 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/AddIssueViewController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/AddIssueViewController.swift @@ -7,7 +7,7 @@ import UIKit -class AddIssueViewController: UIViewController, Stateful, MainCoordinated { +class AddIssueViewController: UIViewController, AddIssueViewModelType, MainCoordinated { @IBOutlet private weak var cancelButton: UIButton! @IBOutlet private weak var saveButton: UIButton! @IBOutlet private weak var markdownSegmentedControl: UISegmentedControl! @@ -15,12 +15,12 @@ class AddIssueViewController: UIViewController, Stateful, MainCoordinated { @IBOutlet private weak var moreInformationView: UIView! @IBOutlet private weak var commentView: UIView! - var stateController: StateController? + private var addIssueViewModel: AddIssueViewModel! weak var mainCoordinator: MainFlowCoordinator? private lazy var commentInputViewControler: CommentViewController = { let storyboard = UIStoryboard(name: "Issue", bundle: Bundle.main) var viewController = storyboard.instantiateViewController(identifier: "CommentViewController") as! CommentViewController - viewController.stateController = stateController + viewController.setAddIssueViewModel(self.addIssueViewModel) self.add(asChildViewController: viewController) return viewController }() @@ -28,7 +28,7 @@ class AddIssueViewController: UIViewController, Stateful, MainCoordinated { private lazy var markdownInputViewControler: MarkdownViewController = { let storyboard = UIStoryboard(name: "Issue", bundle: Bundle.main) var viewController = storyboard.instantiateViewController(identifier: "MarkdownViewController") as! MarkdownViewController - viewController.stateController = stateController + viewController.setAddIssueViewModel(self.addIssueViewModel) self.add(asChildViewController: viewController) return viewController }() @@ -42,6 +42,10 @@ class AddIssueViewController: UIViewController, Stateful, MainCoordinated { override func prepare(for segue: UIStoryboardSegue, sender: Any?) { mainCoordinator?.configure(viewController: segue.destination) } + + func setAddIssueViewModel(_ addIssueViewModel: AddIssueViewModel) { + self.addIssueViewModel = addIssueViewModel + } } //MARK:- Segmented Control diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/CommentViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/CommentViewController.swift index 4dc715831..27a6cd115 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/CommentViewController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/CommentViewController.swift @@ -7,22 +7,26 @@ import UIKit -class CommentViewController: UIViewController, Stateful, MainCoordinated { +class CommentViewController: UIViewController, AddIssueViewModelType, MainCoordinated { @IBOutlet weak var commentTextView: UITextView! - var stateController: StateController? + private var addIssueViewModel: AddIssueViewModel! weak var mainCoordinator: MainFlowCoordinator? override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) commentTextView.delegate = self } + + func setAddIssueViewModel(_ addIssueViewModel: AddIssueViewModel) { + self.addIssueViewModel = addIssueViewModel + } } extension CommentViewController: UITextViewDelegate { func textViewDidEndEditing(_ textView: UITextView) { - stateController?.updateComment(textView.text ?? "") + addIssueViewModel?.updateComment(textView.text ?? "") } func textViewDidBeginEditing(_ textView: UITextView) { diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueSelectTableViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueSelectTableViewController.swift index 9272cc428..50806ffd8 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueSelectTableViewController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueSelectTableViewController.swift @@ -7,10 +7,11 @@ import UIKit -class IssueSelectTableViewController: UITableViewController { - - var issues: [Issue] = [] - +class IssueSelectTableViewController: UITableViewController, IssueViewModelType, MainCoordinated { + + var issueViewModel: IssueViewModel? // 0x000001 +// var issues: [Issue] = [] + var mainCoordinator: MainFlowCoordinator? override func viewDidLoad() { super.viewDidLoad() @@ -19,9 +20,9 @@ class IssueSelectTableViewController: UITableViewController { self.configureRightBarButtonItem() } - public func prepare(with issues: [Issue]) { - self.issues = issues - } +// public func prepare(with issues: [Issue]) { +// self.issues = issues +// } private func configureTableView() { self.tableView.register(IssueCell.nib, forCellReuseIdentifier: IssueCell.identifier) @@ -43,13 +44,15 @@ class IssueSelectTableViewController: UITableViewController { // MARK: - Table view data source override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - return self.issues.count +// return self.issues.count + return issueViewModel?.issues.count ?? 0 } override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { guard let cell = self.tableView.dequeueReusableCell(withIdentifier: IssueCell.identifier) as? IssueCell else { return UITableViewCell() } - cell.configureAll(with: issues[indexPath.row]) + guard let issue = issueViewModel?.issues[indexPath.row] else { return UITableViewCell() } + cell.configureAll(with: issue) return cell } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift index 1d28e1f87..3520340f2 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift @@ -7,12 +7,12 @@ import UIKit -class IssueViewController: UIViewController, IssueNetworked { - +class IssueViewController: UIViewController, IssueViewModelType, MainCoordinated { + @IBOutlet weak var issueTableView: UITableView! - var issueNetworkController: IssueNetworkController? - var viewModel: IssueViewModelProtocol? + var issueViewModel: IssueViewModel? + var mainCoordinator: MainFlowCoordinator? let searchController = UISearchController(searchResultsController: nil) var isSearchBarEmpty: Bool { return searchController.searchBar.text?.isEmpty ?? true @@ -23,13 +23,11 @@ class IssueViewController: UIViewController, IssueNetworked { override func viewDidLoad() { super.viewDidLoad() - self.configureLeftBarButtonItem() self.configureRightBarButtonItem() self.configureTableView() - self.configureViewModel() + self.issueViewModel?.fetchAllIssue() self.configureNotificationCenter() - } override func viewDidAppear(_ animated: Bool) { @@ -50,12 +48,6 @@ class IssueViewController: UIViewController, IssueNetworked { self.issueTableView.reloadData() } - private func configureViewModel() { - guard self.issueNetworkController != nil else { return } - self.viewModel = IssueViewModel(issueNetworkController: self.issueNetworkController!) - viewModel?.fetchAllIssue() - } - private func configureLeftBarButtonItem() { let customLeftBarButton = CustomBarButtonItem(title: "필터", image: UIImage(systemName: "line.horizontal.3.decrease") ?? UIImage(), located: .left) customLeftBarButton.addAction(UIAction.init(handler: { (touch) in @@ -71,7 +63,7 @@ class IssueViewController: UIViewController, IssueNetworked { guard let self = self else { return } let targetVC = self.storyboard?.instantiateViewController(identifier: "IssueSelectTableViewController") as! IssueSelectTableViewController - targetVC.prepare(with: self.viewModel!.issues) + self.mainCoordinator?.configure(viewController: targetVC) self.navigationController?.pushViewController(targetVC, animated: true) }), for: .touchUpInside) @@ -92,26 +84,24 @@ class IssueViewController: UIViewController, IssueNetworked { self.issueTableView.dataSource = self self.issueTableView.delegate = self } - } extension IssueViewController: UISearchResultsUpdating { func updateSearchResults(for searchController: UISearchController) { let searchBar = searchController.searchBar - viewModel?.filterIssuesWithSearchText(searchBar.text!) + issueViewModel?.filterIssuesWithSearchText(searchBar.text!) } - } extension IssueViewController: UITableViewDataSource { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { if isFiltering { - guard let filteredIssue = viewModel?.filteredIssues else { return 0 } + guard let filteredIssue = issueViewModel?.filteredIssues else { return 0 } return filteredIssue.count } - guard let issues = viewModel?.issues else { return 0 } + guard let issues = issueViewModel?.issues else { return 0 } return issues.count } @@ -120,10 +110,10 @@ extension IssueViewController: UITableViewDataSource { let cell = self.issueTableView.dequeueReusableCell(withIdentifier: IssueCell.identifier) as! IssueCell if isFiltering { - guard let filteredIssues = viewModel?.filteredIssues else { return cell } + guard let filteredIssues = issueViewModel?.filteredIssues else { return cell } cell.configureAll(with: filteredIssues[indexPath.row]) } else { - guard let issues = viewModel?.issues else { return cell } + guard let issues = issueViewModel?.issues else { return cell } cell.configureAll(with: issues[indexPath.row]) } @@ -138,7 +128,7 @@ extension IssueViewController: UITableViewDelegate { // delete action let delete = UIContextualAction(style: .destructive, title: "삭제") { [weak self] (action, view, completionHandler) in - self?.viewModel?.deleteIssue(at: indexPath.row, completionHandler: { + self?.issueViewModel?.deleteIssue(at: indexPath.row, completionHandler: { completionHandler(true) }) } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/MarkdownViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/MarkdownViewController.swift index d5225e9ab..fe4933ad0 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/MarkdownViewController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/MarkdownViewController.swift @@ -8,11 +8,11 @@ import UIKit import MarkdownKit -class MarkdownViewController: UIViewController, Stateful, MainCoordinated { - +class MarkdownViewController: UIViewController, AddIssueViewModelType, MainCoordinated { + @IBOutlet weak var markdownLabel: UILabel! - var stateController: StateController? + private var addIssueViewModel: AddIssueViewModel! weak var mainCoordinator: MainFlowCoordinator? private let markdownParser = MarkdownParser() @@ -21,7 +21,11 @@ class MarkdownViewController: UIViewController, Stateful, MainCoordinated { configureMarkdownView() } + func setAddIssueViewModel(_ addIssueViewModel: AddIssueViewModel) { + self.addIssueViewModel = addIssueViewModel + } + private func configureMarkdownView() { - markdownLabel.attributedText = markdownParser.parse(stateController?.comment ?? "") + markdownLabel.attributedText = markdownParser.parse(addIssueViewModel?.comment ?? "") } } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/MoreInformationViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/MoreInformationViewController.swift index 0d0c20ae9..612f15a5e 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/MoreInformationViewController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/MoreInformationViewController.swift @@ -7,16 +7,16 @@ import UIKit -class MoreInformationViewController: UIViewController, Stateful, MainCoordinated { +class MoreInformationViewController: UIViewController, AddIssueViewModelType, MainCoordinated { @IBOutlet private weak var tableView: UITableView! private var dataSource: MoreInfoTableViewDataSource? - var stateController: StateController? + private var addIssueViewModel: AddIssueViewModel! weak var mainCoordinator: MainFlowCoordinator? override func viewDidLoad() { super.viewDidLoad() - guard let moreInfos = stateController?.moreInfos else { return } + guard let moreInfos = addIssueViewModel?.moreInfos else { return } let dataSource = MoreInfoTableViewDataSource(moreInfos: moreInfos) self.dataSource = dataSource tableView.dataSource = dataSource @@ -26,4 +26,8 @@ class MoreInformationViewController: UIViewController, Stateful, MainCoordinated override func prepare(for segue: UIStoryboardSegue, sender: Any?) { mainCoordinator?.configure(viewController: segue.destination) } + + func setAddIssueViewModel(_ addIssueViewModel: AddIssueViewModel) { + self.addIssueViewModel = addIssueViewModel + } } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/UseCase/StateController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/AddIssueViewModel.swift similarity index 89% rename from iOS/issueTrackerApp/issueTrackerApp/Domain/UseCase/StateController.swift rename to iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/AddIssueViewModel.swift index 71ae2a391..9485f683f 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Domain/UseCase/StateController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/AddIssueViewModel.swift @@ -1,5 +1,5 @@ // -// StateController.swift +// AddIssueViewModel.swift // issueTrackerApp // // Created by zombietux on 2021/06/14. @@ -7,7 +7,7 @@ import Foundation -class StateController { +class AddIssueViewModel { //수정해야함!!!! var issueTitle = String() var comment = String() diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift index ea29dd67a..91dd91f37 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/ViewModel/IssueViewModel.swift @@ -29,7 +29,7 @@ class IssueViewModel: IssueViewModelProtocol { } } - init(issueNetworkController: IssueNetworkController) { + init(issueNetworkController: IssueNetworkController = IssueNetworkController()) { self.networkController = issueNetworkController } diff --git a/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard index bbc63b240..2750ab03a 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard +++ b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard @@ -1,5 +1,5 @@ - + @@ -36,7 +36,6 @@ - @@ -60,7 +59,7 @@ - + From 051c7eb2a1712553e89e9514a4bc153febd77eef Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Wed, 16 Jun 2021 22:39:36 +0900 Subject: [PATCH 44/46] Fix: #27 Rename --- .../Domain/{ => UseCase}/Coordinator/Coordinator.swift | 0 .../Domain/{ => UseCase}/Coordinator/LoginFlowCoordinator.swift | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename iOS/issueTrackerApp/issueTrackerApp/Domain/{ => UseCase}/Coordinator/Coordinator.swift (100%) rename iOS/issueTrackerApp/issueTrackerApp/Domain/{ => UseCase}/Coordinator/LoginFlowCoordinator.swift (100%) diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/UseCase/Coordinator/Coordinator.swift similarity index 100% rename from iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/Coordinator.swift rename to iOS/issueTrackerApp/issueTrackerApp/Domain/UseCase/Coordinator/Coordinator.swift diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/LoginFlowCoordinator.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/UseCase/Coordinator/LoginFlowCoordinator.swift similarity index 100% rename from iOS/issueTrackerApp/issueTrackerApp/Domain/Coordinator/LoginFlowCoordinator.swift rename to iOS/issueTrackerApp/issueTrackerApp/Domain/UseCase/Coordinator/LoginFlowCoordinator.swift From 17441af508a50f0c39ecff8812daddb207d5e5eb Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Wed, 16 Jun 2021 23:12:05 +0900 Subject: [PATCH 45/46] =?UTF-8?q?Refactor:=20#27=20Coordinator=20Protocol?= =?UTF-8?q?=20=EC=88=98=EC=A0=95=20=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../issueTrackerApp.xcodeproj/project.pbxproj | 18 ++++++++-------- .../UserInterfaceState.xcuserstate | Bin 271618 -> 283616 bytes ...Controller.swift => KeychainManager.swift} | 8 +++---- ...roller.swift => LoginNetworkManager.swift} | 18 ++++++++-------- .../UseCase/Coordinator/Coordinator.swift | 13 ++++++------ .../Presentation/MainTabBarController.swift | 20 +++++++++++------- .../IssueSelectTableViewController.swift | 15 ++++++------- .../Issue/IssueViewController.swift | 6 +++++- .../Login/LoginViewController.swift | 11 ++++++---- .../Setting/SettingViewController.swift | 11 ++++++---- .../Base.lproj/Issue.storyboard | 2 +- 11 files changed, 66 insertions(+), 56 deletions(-) rename iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/{KeychainController.swift => KeychainManager.swift} (91%) rename iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/{NetworkController.swift => LoginNetworkManager.swift} (67%) diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj index 69c7479ae..34ee58cea 100644 --- a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj +++ b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.pbxproj @@ -54,9 +54,9 @@ 931BAEA52677973200CD9244 /* AddIssueViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAEA42677973200CD9244 /* AddIssueViewModel.swift */; }; 931BAEAD2678843200CD9244 /* CommentViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAEAC2678843200CD9244 /* CommentViewController.swift */; }; 931BAEB226788EA700CD9244 /* MarkdownViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931BAEB126788EA700CD9244 /* MarkdownViewController.swift */; }; - 9343E2CA266EF9CD0086F977 /* KeychainController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2C9266EF9CD0086F977 /* KeychainController.swift */; }; + 9343E2CA266EF9CD0086F977 /* KeychainManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2C9266EF9CD0086F977 /* KeychainManager.swift */; }; 9343E2D3266EFBA70086F977 /* GitHubEndpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2D2266EFBA70086F977 /* GitHubEndpoint.swift */; }; - 9343E2D8266F03E90086F977 /* NetworkController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2D7266F03E90086F977 /* NetworkController.swift */; }; + 9343E2D8266F03E90086F977 /* LoginNetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2D7266F03E90086F977 /* LoginNetworkManager.swift */; }; 9343E2F2266F5CC70086F977 /* Coordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2F1266F5CC70086F977 /* Coordinator.swift */; }; 9343E2F7266F5E890086F977 /* MainTabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2F6266F5E890086F977 /* MainTabBarController.swift */; }; 9343E300266F603C0086F977 /* AccessTokenRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9343E2FF266F603C0086F977 /* AccessTokenRequest.swift */; }; @@ -133,9 +133,9 @@ 931BAEA42677973200CD9244 /* AddIssueViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddIssueViewModel.swift; sourceTree = ""; }; 931BAEAC2678843200CD9244 /* CommentViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentViewController.swift; sourceTree = ""; }; 931BAEB126788EA700CD9244 /* MarkdownViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarkdownViewController.swift; sourceTree = ""; }; - 9343E2C9266EF9CD0086F977 /* KeychainController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeychainController.swift; sourceTree = ""; }; + 9343E2C9266EF9CD0086F977 /* KeychainManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeychainManager.swift; sourceTree = ""; }; 9343E2D2266EFBA70086F977 /* GitHubEndpoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GitHubEndpoint.swift; sourceTree = ""; }; - 9343E2D7266F03E90086F977 /* NetworkController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkController.swift; sourceTree = ""; }; + 9343E2D7266F03E90086F977 /* LoginNetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginNetworkManager.swift; sourceTree = ""; }; 9343E2F1266F5CC70086F977 /* Coordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Coordinator.swift; sourceTree = ""; }; 9343E2F6266F5E890086F977 /* MainTabBarController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainTabBarController.swift; sourceTree = ""; }; 9343E2FF266F603C0086F977 /* AccessTokenRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccessTokenRequest.swift; sourceTree = ""; }; @@ -310,7 +310,6 @@ children = ( 930FAEBE266E128700422968 /* UseCase */, 930FAEBD266E127B00422968 /* Entity */, - 9343E2F0266F5CBC0086F977 /* Coordinator */, 931BAE692674EE5E00CD9244 /* Dummy data */, 931BAE742674FA8F00CD9244 /* Protocols and extentions */, ); @@ -333,6 +332,7 @@ 930FAEBE266E128700422968 /* UseCase */ = { isa = PBXGroup; children = ( + 9343E2F0266F5CBC0086F977 /* Coordinator */, ); path = UseCase; sourceTree = ""; @@ -421,8 +421,8 @@ 931BADFF26720C0200CD9244 /* OAuth */ = { isa = PBXGroup; children = ( - 9343E2C9266EF9CD0086F977 /* KeychainController.swift */, - 9343E2D7266F03E90086F977 /* NetworkController.swift */, + 9343E2C9266EF9CD0086F977 /* KeychainManager.swift */, + 9343E2D7266F03E90086F977 /* LoginNetworkManager.swift */, ); path = OAuth; sourceTree = ""; @@ -659,7 +659,7 @@ 931BAEA52677973200CD9244 /* AddIssueViewModel.swift in Sources */, 883F51A42670AAAB0055EC9E /* TagStackView.swift in Sources */, 883F519E2670940E0055EC9E /* IssueCell.swift in Sources */, - 9343E2D8266F03E90086F977 /* NetworkController.swift in Sources */, + 9343E2D8266F03E90086F977 /* LoginNetworkManager.swift in Sources */, 883F51CC2672041A0055EC9E /* Milestones.swift in Sources */, 883F51DC267204DC0055EC9E /* Comment.swift in Sources */, 9343E2F2266F5CC70086F977 /* Coordinator.swift in Sources */, @@ -671,7 +671,7 @@ 931BAEB226788EA700CD9244 /* MarkdownViewController.swift in Sources */, 883F51AE2670B2F70055EC9E /* UIColorExtension.swift in Sources */, 931BAE762674FC4700CD9244 /* ArrayTableViewDataSource.swift in Sources */, - 9343E2CA266EF9CD0086F977 /* KeychainController.swift in Sources */, + 9343E2CA266EF9CD0086F977 /* KeychainManager.swift in Sources */, 931BAE5526749FCD00CD9244 /* MoreInfoCell.swift in Sources */, 883F51A92670ABDC0055EC9E /* TagLabel.swift in Sources */, 88C3A9FE26785B160090FAD8 /* Status.swift in Sources */, diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate index 4817825c6be7ee4a917bb43026e901163bab12bd..48b22fc678b53522467b6f73df5b44ef8f4bf2e9 100644 GIT binary patch literal 283616 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

DcV;kVY4}iNm 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 F{|C1m4g&xH literal 271618 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

5~Bk<;I$OOElFv>!EeI_PT@bo3bW!MH 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 diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/KeychainController.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/KeychainManager.swift similarity index 91% rename from iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/KeychainController.swift rename to iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/KeychainManager.swift index 3296eca73..a7b5163c4 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/KeychainController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/KeychainManager.swift @@ -1,5 +1,5 @@ // -// KeychainController.swift +// KeychainManager.swift // issueTrackerApp // // Created by zombietux on 2021/06/08. @@ -8,7 +8,7 @@ import Foundation import JWTDecode -class KeychainController { +class KeychainManager { private static let accountName = "AppUser" func readJWT() -> String? { @@ -52,11 +52,11 @@ class KeychainController { } //MARK:- Private -private extension KeychainController { +private extension KeychainManager { var tokenQuery: [String: Any] { return [ kSecClass as String: kSecClassInternetPassword, - kSecAttrAccount as String: KeychainController.accountName, + kSecAttrAccount as String: KeychainManager.accountName, kSecAttrServer as String: GitHubEndpoint.serverURL.absoluteString ] } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/NetworkController.swift b/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/LoginNetworkManager.swift similarity index 67% rename from iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/NetworkController.swift rename to iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/LoginNetworkManager.swift index f0d15c291..17d8ff404 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/NetworkController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Data/Repository/OAuth/LoginNetworkManager.swift @@ -1,5 +1,5 @@ // -// NetworkController.swift +// LoginNetworkManager.swift // issueTrackerApp // // Created by zombietux on 2021/06/08. @@ -7,16 +7,16 @@ import Foundation -class NetworkController { - private let keychainController: KeychainController +class LoginNetworkManager { + private let keychainManager: KeychainManager private var requests: [URL: AnyObject] = [:] - init(keychainController: KeychainController) { - self.keychainController = keychainController + init(keychainManager: KeychainManager) { + self.keychainManager = keychainManager } var jWT: String? { - return keychainController.readJWT() + return keychainManager.readJWT() } var isClientAuthenticated: Bool { @@ -30,7 +30,7 @@ class NetworkController { jWTRequest.execute { (authorization) in if let jWT = authorization?.jwt { - self.keychainController.store(jWT: jWT) + self.keychainManager.store(jWT: jWT) } self.requests[requestURL] = nil self.fetchUserAvatarImage()//test @@ -39,10 +39,10 @@ class NetworkController { } func logOut() { - keychainController.deleteJWT() + keychainManager.deleteJWT() } func fetchUserAvatarImage() { - keychainController.storeAvatarImage(jWT: self.jWT ?? "") + keychainManager.storeAvatarImage(jWT: self.jWT ?? "") } } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/UseCase/Coordinator/Coordinator.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/UseCase/Coordinator/Coordinator.swift index 160c63c26..aaa8d26bf 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Domain/UseCase/Coordinator/Coordinator.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/UseCase/Coordinator/Coordinator.swift @@ -24,17 +24,16 @@ protocol LoginCoordinated: AnyObject { var loginCoordinator: LoginFlowCoordinator? { get set } } -protocol Networked: class { - var networkController: NetworkController? { get set } +protocol LoginNetworked: class { + func setLoginNetworkManager(_ loginNetworkManager: LoginNetworkManager) } protocol AddIssueViewModelType: AnyObject { -// var addIssueViewModel: AddIssueViewModel? { get set } func setAddIssueViewModel(_ addIssueViewModel: AddIssueViewModel) } protocol IssueViewModelType: AnyObject { - var issueViewModel: IssueViewModel? { get set } + func setIssueViewModel(_ issueViewModel: IssueViewModel) } protocol IssueNetworked: class { @@ -43,7 +42,7 @@ protocol IssueNetworked: class { class MainFlowCoordinator: NSObject { private let mainTabBarController: MainTabBarController - private let keyChainController = KeychainController() + private let keychainManager = KeychainManager() private let loginFlowCoordinator = LoginFlowCoordinator() private let addIssueViewModel = AddIssueViewModel() private let issueViewModel = IssueViewModel() @@ -63,11 +62,11 @@ class MainFlowCoordinator: NSObject { extension MainFlowCoordinator: Coordinator { func configure(viewController: UIViewController) { (viewController as? MainCoordinated)?.mainCoordinator = self - (viewController as? Networked)?.networkController = NetworkController(keychainController: keyChainController) + (viewController as? LoginNetworked)?.setLoginNetworkManager(LoginNetworkManager(keychainManager: keychainManager)) (viewController as? LoginCoordinated)?.loginCoordinator = loginFlowCoordinator (viewController as? AddIssueViewModelType)?.setAddIssueViewModel(addIssueViewModel) (viewController as? IssueNetworked)?.setIssueNetworkController(IssueNetworkController()) - (viewController as? IssueViewModelType)?.issueViewModel = issueViewModel + (viewController as? IssueViewModelType)?.setIssueViewModel(issueViewModel) if let tabBarController = viewController as? UITabBarController { tabBarController.viewControllers?.forEach(configure(viewController:)) diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/MainTabBarController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/MainTabBarController.swift index 779fead1c..3a101e457 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/MainTabBarController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/MainTabBarController.swift @@ -7,20 +7,24 @@ import UIKit -class MainTabBarController: UITabBarController, Networked, MainCoordinated, LoginCoordinated { - var networkController: NetworkController? +class MainTabBarController: UITabBarController, MainCoordinated, LoginNetworked, LoginCoordinated { + private var loginNetworkManager: LoginNetworkManager! weak var mainCoordinator: MainFlowCoordinator? weak var loginCoordinator: LoginFlowCoordinator? - override func viewDidAppear(_ animated: Bool) { - super.viewDidAppear(animated) -// guard (networkController?.isClientAuthenticated ?? true) else { -// loginCoordinator?.mainViewControllerRequiresAuthentication(self, isAppLaunch: true) -// return -// } + override func viewDidLoad() { + super.viewDidLoad() + guard (loginNetworkManager?.isClientAuthenticated ?? false) else { + loginCoordinator?.mainViewControllerRequiresAuthentication(self, isAppLaunch: true) + return + } } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { loginCoordinator?.configure(viewController: segue.destination) } + + func setLoginNetworkManager(_ loginNetworkManager: LoginNetworkManager) { + self.loginNetworkManager = loginNetworkManager + } } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueSelectTableViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueSelectTableViewController.swift index 50806ffd8..8ff2158f8 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueSelectTableViewController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueSelectTableViewController.swift @@ -8,9 +8,8 @@ import UIKit class IssueSelectTableViewController: UITableViewController, IssueViewModelType, MainCoordinated { - - var issueViewModel: IssueViewModel? // 0x000001 -// var issues: [Issue] = [] + + private var issueViewModel: IssueViewModel! var mainCoordinator: MainFlowCoordinator? override func viewDidLoad() { super.viewDidLoad() @@ -19,10 +18,10 @@ class IssueSelectTableViewController: UITableViewController, IssueViewModelType, self.configureBackBarButtonItem() self.configureRightBarButtonItem() } - -// public func prepare(with issues: [Issue]) { -// self.issues = issues -// } + + func setIssueViewModel(_ issueViewModel: IssueViewModel) { + self.issueViewModel = issueViewModel + } private func configureTableView() { self.tableView.register(IssueCell.nib, forCellReuseIdentifier: IssueCell.identifier) @@ -42,9 +41,7 @@ class IssueSelectTableViewController: UITableViewController, IssueViewModelType, } // MARK: - Table view data source - override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { -// return self.issues.count return issueViewModel?.issues.count ?? 0 } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift index 3520340f2..67279bf23 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Issue/IssueViewController.swift @@ -11,7 +11,7 @@ class IssueViewController: UIViewController, IssueViewModelType, MainCoordinated @IBOutlet weak var issueTableView: UITableView! - var issueViewModel: IssueViewModel? + private var issueViewModel: IssueViewModel! var mainCoordinator: MainFlowCoordinator? let searchController = UISearchController(searchResultsController: nil) var isSearchBarEmpty: Bool { @@ -35,6 +35,10 @@ class IssueViewController: UIViewController, IssueViewModelType, MainCoordinated self.configureSearchController() } + func setIssueViewModel(_ issueViewModel: IssueViewModel) { + self.issueViewModel = issueViewModel + } + private func configureNotificationCenter() { NotificationCenter.default.addObserver(self, selector: #selector(onDidReceiveIssueData), name: .didReceiveIssueData, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(onDidFilterIssueData), name: .didFilterIssueData, object: nil) diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Login/LoginViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Login/LoginViewController.swift index 1d67ff0a2..2f1b81d64 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Login/LoginViewController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Login/LoginViewController.swift @@ -8,15 +8,14 @@ import UIKit import AuthenticationServices -class LoginViewController: UIViewController, LoginCoordinated, Networked { +class LoginViewController: UIViewController, LoginCoordinated, LoginNetworked { @IBOutlet weak var gitHubLoginButton: UIButton! @IBOutlet weak var appleLoginButton: UIStackView! private let state = UUID().description - weak var loginCoordinator: LoginFlowCoordinator? - var networkController: NetworkController? + private var loginNetworkManager: LoginNetworkManager! var isAuthenticating: Bool = false { didSet { @@ -28,6 +27,10 @@ class LoginViewController: UIViewController, LoginCoordinated, Networked { super.viewDidLoad() configAppleLoginButton() } + + func setLoginNetworkManager(_ loginNetworkManager: LoginNetworkManager) { + self.loginNetworkManager = loginNetworkManager + } } //MARK:- APPLE ID LOGIN @@ -74,7 +77,7 @@ extension LoginViewController: ASAuthorizationControllerPresentationContextProvi extension LoginViewController { func performAuthorization(with authorizationCode: String) { isAuthenticating = true - networkController?.authenticateWith(authorizationCode: authorizationCode, client: GitHubEndpoint.FieldNames.client) { [weak self] in + loginNetworkManager?.authenticateWith(authorizationCode: authorizationCode, client: GitHubEndpoint.FieldNames.client) { [weak self] in self?.loginCoordinator?.loginViewControllerDidFinishAuthorization() } } diff --git a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Setting/SettingViewController.swift b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Setting/SettingViewController.swift index a8a6eaa0f..acb9acf40 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Setting/SettingViewController.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Presentation/UI/ViewController/Setting/SettingViewController.swift @@ -7,9 +7,8 @@ import UIKit -class SettingViewController: UIViewController, MainCoordinated, Networked { - - var networkController: NetworkController? +class SettingViewController: UIViewController, MainCoordinated, LoginNetworked { + private var loginNetworkManager: LoginNetworkManager! weak var mainCoordinator: MainFlowCoordinator? override func viewDidLoad() { @@ -17,8 +16,12 @@ class SettingViewController: UIViewController, MainCoordinated, Networked { } + func setLoginNetworkManager(_ loginNetworkManager: LoginNetworkManager) { + self.loginNetworkManager = loginNetworkManager + } + @IBAction func logoutButtonTapped(_ sender: Any) { - networkController?.logOut() + loginNetworkManager?.logOut() mainCoordinator?.logOut() } } diff --git a/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard index 2750ab03a..ec0e48500 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard +++ b/iOS/issueTrackerApp/issueTrackerApp/issueTrackerApp/Base.lproj/Issue.storyboard @@ -1,5 +1,5 @@ - + From dc5785486f84980b1d76bc1c4338f99437142599 Mon Sep 17 00:00:00 2001 From: zombietux <> Date: Thu, 17 Jun 2021 14:41:12 +0900 Subject: [PATCH 46/46] =?UTF-8?q?Refactor:=20#27=20Coordinator=20Protocol?= =?UTF-8?q?=20=EC=88=98=EC=A0=95=20=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UserInterfaceState.xcuserstate | Bin 283616 -> 287699 bytes .../UseCase/Coordinator/Coordinator.swift | 18 +++++++++--------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate b/iOS/issueTrackerApp/issueTrackerApp.xcodeproj/project.xcworkspace/xcuserdata/zombietux.xcuserdatad/UserInterfaceState.xcuserstate index 48b22fc678b53522467b6f73df5b44ef8f4bf2e9..d84ba28d4b81f52f7035e3e25ffc08682cc90fc1 100644 GIT binary patch literal 287699 zcmcfp2Ygf2`#6r@d$W@^d$md1v>8p(jAkcI((I&V%ig850SaAqu#p>4RQ7PNWN(ly zQ$avMkXfd(6$hYzY(?;YZqhQ9me1=JF11+|9SK(9e

DcV;kVY4}iNm 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 F{|C1m4g&xH diff --git a/iOS/issueTrackerApp/issueTrackerApp/Domain/UseCase/Coordinator/Coordinator.swift b/iOS/issueTrackerApp/issueTrackerApp/Domain/UseCase/Coordinator/Coordinator.swift index aaa8d26bf..672c9c26e 100644 --- a/iOS/issueTrackerApp/issueTrackerApp/Domain/UseCase/Coordinator/Coordinator.swift +++ b/iOS/issueTrackerApp/issueTrackerApp/Domain/UseCase/Coordinator/Coordinator.swift @@ -8,7 +8,7 @@ import UIKit // MARK: Protocols -protocol Coordinator: AnyObject { +protocol Coordinator: class { func configure(viewController: UIViewController) } @@ -16,11 +16,11 @@ protocol Coordinated: class { var coordinator: Coordinator? { get set } } -protocol MainCoordinated: AnyObject { +protocol MainCoordinated: class { var mainCoordinator: MainFlowCoordinator? { get set } } -protocol LoginCoordinated: AnyObject { +protocol LoginCoordinated: class { var loginCoordinator: LoginFlowCoordinator? { get set } } @@ -28,16 +28,16 @@ protocol LoginNetworked: class { func setLoginNetworkManager(_ loginNetworkManager: LoginNetworkManager) } -protocol AddIssueViewModelType: AnyObject { - func setAddIssueViewModel(_ addIssueViewModel: AddIssueViewModel) +protocol IssueNetworked: class { + func setIssueNetworkController(_ issueNetworkController: IssueNetworkController) } -protocol IssueViewModelType: AnyObject { - func setIssueViewModel(_ issueViewModel: IssueViewModel) +protocol AddIssueViewModelType: class { + func setAddIssueViewModel(_ addIssueViewModel: AddIssueViewModel) } -protocol IssueNetworked: class { - func setIssueNetworkController(_ issueNetworkController: IssueNetworkController) +protocol IssueViewModelType: class { + func setIssueViewModel(_ issueViewModel: IssueViewModel) } class MainFlowCoordinator: NSObject {

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 o2@#9qw~>?F3G#6HLoj$sF}U+|U>d=7-f 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 literal 283616 zcmce;2Yi!N_c;DMPj=Gm*(ObsW;JO>vq#f5J8Y1aJ!)wK6iQn<*y9OHh6@A)6qG#_ z5M@sRl_9ez2m&ey2#BD9%KqOcX`zU(Ki<#h{eOYdq|^@I9D<K7lquTcGXGr_gR_540Eh5;_DOhE79g zpl_kG&^hQl^d0m)^fPoD`U`phLof^@FcBufT$l&*VF4_J#c(<-g_W=h*1|g21Q)BtOZHu5&|4)QLt z2w99QM?OF{A)Apc$W~+<@;UMavJcshoJW2^ZX=Iy2o8tCbNy4$h3T;H)?&&WDTOI^c?Mop9Z7y>KPC7_J;Q2v>=#!PVl1;)dbk zxL0t~akFrgGwufNSKM#7-*LBb5AirW9nZ#d@B(}qUX0JcEAUEu7G94x;LUgo-hp@GefS8z z9lj&J5Z?vg72gy8GQJES!% zj077YpAaAf2_ZrYLK{K{LJ^@Wp(mjip@h(f(3jAUP)!&@KnW8F6A4oYuMwsbW)bER z<`WhW77-Q`mJ?PG))6)lJ|%oc_?&QnaF}qM@HOEy;SAwC;XA@b!jFU-gx?7dh!7D^ zBokAJEFzD{C#Dk9iBh75XdpU?xkN9~NAwfJ#FoUi#FvPjh@FYui9LwL#FvTX#46$t z;t1kM;#lH%;w!|-#8-*05vLQE6IT#d5?2vFAbv<(ObC=oy;b4$YQdbtRoxACbE@mBfH3MavnLK z93V%?QF3c?8*&G7UvfWke{wl_0C^y}f;@;^NvB@a1o;&CTk?J*@pcpA8ik0G__$Yo#OG+zBYf2kR5v3EQ8>Ks?FQp%) zKc$>9fHH(KlroGmoHBxfQsR_Jls75UDKjYVQsz?@P?k`ZQdUw{Q}$9mqkK;Jg0hdY zpK^e5kn$zv5aj~pBIQTQCCX*W70OSPtCVY$>r|LZpc1K6DvipdvZy>NpPEWdqe`h6 zR0UN@&7x|l2C9*2p*pA@YCbhUjZj-r+fh4GU#6B(W7Kl$0BR+*idsvpqoUL}bsTj( zbpmxVbqaMV^-bz@>O$%w>SF2=>Qd@5>T>D|>PqSw>RReY)b-R2)ZNt2sb5eJQO{D( zQO{E^Qh%ggqF$w5qy9y`OT*FdGy;uCBhhFyE{#W%(d4vDnu4aJWzn=W9W96Eqxoq8 zT5DPxT3cE>T673Fnr8~Vdy*s@Jy_o(oy^J2Cm(vH(E9q7AT6!IQ7=1W> zG<^(x9DO|f75ZfQtMu3C)9Ewlv*~Zs-=V)tf1kdPzLdUT`d<2H^!@Y$^uzQc^alC~`YHN1^t1GH^dIOK=$GkN=-25#({Is#rQf0dLBB`8 zPk+pS7kY{opsJB;@j?=zM#mNHf{Rx#Ev)-pa}tY>UyY+>wR>}2d=>}Bj@ z>}MQe9A+G6G%!vwPBFe^oMn8^_edTDP)S65@tG6&dg-0nHpv`Q_sv{nwfT{gXv-BG7FeKW{4SPwq&+qwqv$u z7BY*NU76jOy_mh3eVC=pe$4*N3g#f@U}g<-2y-ZNBy$uKWyYBknUk1PnbVkWFyCa( zWX@vFWzJ(RV7|v(%v{1;!Cc8)&0NF$nE45F6LT|jJ97tfH**j38|G=|8Roalv&?hM z^UUv<-!p$;USj^tyutjPd7Jrw`H%&%U>3r{v1qImRwhfqQnFMmHA}>z&tbwcw)*x0TtBO_48qBI;4PlLDjbTk-O=P{s zdY$zK>uuH?)*9AY)<>*$tdCiru-3CSur{(bv9_`Hu=cVJunw{sSSMItvCgv2v3_UW zX5C@^!TOW+7wazT9_v2q0UKhI*km??&14JNB6ccU&dy}J*lxCmoy+#J^Vs?90=AFs zXNTEs*lpQ`>>_qgb}x2sb}_pjyFYsjdn_Ae$Jyi9B;HE zspZsh>N!I=Lpj4Z!#N{3BRQiuDCZT@D?#JBy+ymT$+%LI@xQDq%xJS9ixW~C) zbI)=wa4&MNbARUE=HB7acqu$OkHKT|SUfh5!{hRJJP|L0C*!Gk8lH)l!!z^TJP)q} z?H_8_28W)$vC0M)Tg{&E(DE&E~z$o5P#So5y>H z_b%^!-g4dw-WuLo-X`8=-WJ|&-X7jJywkihyl;7DdFOcNdEfEA=l#ID#QT|dgZDe{ zHtzxNA@32N$S3jB`BHucU&fd7Gx-X>lCR>c`8vLtZ{fT6ZoZ!%;0O63ej9#Ueks3< zALIAs_v82Hm-7ek2l6ZU)%>CSVf-=tvHVx~llfEl)A=*_EBGtxd zf5czM-@xC_-@)I@|BQc#f0%!Sf0BQSe}n%E|0e$y|5yHR{NMSv`FHq#@b3v=0U{s^ zC<3;CBj5_e0*SyPunKGfyTBoE3S0uWz$3^N6bK@MsGzN&ouIRzi=eBZo1nX(kDydA zTrff~QZPy|S};a1R)7lPf^mXLg4YDE3uX#t3FZqH2;LJc7pxHM6zmdwD%dU9BiJkW zOz^qj3&B3Ymx2bt3BhT>8Nmg?MZu4Pp9MFBI3Zq05E6wXAz4TfQiU{OijXA~3e$yB zp<1XBnuIyRh%hQ_A#5pZC2TEhBWx>dCu}b)6m}QBEG!Y03kL{mgtfvc!l}Y(!dHc_ z311h!A$(IfT{uHHTR301K)6J>RJdBWMz~hENw`^fM0iwqOn6+_AUq-bO8B+#r0|sR zTj2%aMd4N9HQ{f<--Wk@4}=dzToF&i7YRf{kw}y(N)w4i5|K=#5oL*tB9q7|a*2E* zzo?6-tEii(yQqh#r>K{xx2Rb3vZzcnP&8OnBN`zZDH<=DAetw7NA#{}zG#8yJ<QouV&9`$XqN=SAO%z8C!hRPNspC?|r_N2Cm-?Jt(gJD0wAN{D()y&8rj@0|()y0qthm)O-g$`?TxghY0J`#g^nYJqJgR~FRR;R5=`#5b&+OD)u)Apww zNIRI;kai;NYTC85>uEoy-AMZ-?Pl7ov|rPHOZy}3p%^E|i&MmOF<&eY>%|7KQEU?D zh|OY)*ebS(?P9msCyt1t;`ZVW;;!Ou;wo{qc(AxeTq~{<*NcaUhl+=ZM~TOar--MD zXNcbt&lJxR&lfKcuNQ9+ZxnA5Zx(M6ZxwG7Zx`DlS}bVIr^-ISh_ZcewPThpEC`RSqbaC+PHcIlndyQB|FuS~B>uTCGF zUXxy%UYA~MN?)A5BzF?5e8At{$BQ+x}L!2SWNY9XFWMs%PI_4MHN%$S z&B)6LXGAi3X7tMFol%_eaz;r;pN!IsvW!?pc}8`{;EbUe!!po}c*c~BsTuEQEX-Jx zu{dK%#?p*s8Ot+PWUS0sov}V+YsR*Wy&0cn9LhMHaWUh^j7u4pGp=O(lyNoVTE_K^ zpEGV{{F(7r#-ohKGLnoeqsZ7Yjx0;2mFZ;JGQG?oGs;Y|9GO{Wmw9CYSy0wm)<#w& z>m(Z}tB?(nRm!Sl)w02|8dtr9xK9Q}L zZIEr0ZIW%1?UC)59grQDHOS7$zLotd`%U({?6&NV><`(WvcF_^W%p!{F^3UZ5CALx zx-&hQxtRr-k<2!kZ8JM%cFydbS)5s)IV5vv=CI7+nIkesW{%1nojE3RT;`O_shMwP zPS2d1IWO~_%*B~YGPh=K%iNy1BXeiwuFOv}cW3U&+?%;C^GN1bnO|p~%RHa?UFP?h zKV@Fce5`;JumVxw6nF(eK~#_wWJQXCt4LL(DKZrbMYck(2q=PzkRq&zD58oMik6C2 ziq?wuiq49jie8GCqOYP-QKguun51|`FP@GVlQk++Or?{lJtoTK7Q*lf2m*TFHsbneH zN{*7N3DnC=6 zQGTmDt30PXul!E=z48a;1?5HM73D9=+sZr2hssAPqKc$SS4mYFDw#^I%2X*-N|j2b zR_Rn`l|^M$xm6xjKowNAR<%*}QI)F7R54XwRX<_YM`o0HAFQ^HCi=MHA(fl z>J8OW)iTv`)e6;0)hg8ost;AGRcllqtG1|isXkThR~=9tS2d`9Qe9PDQ(ag6th%B4 zMRikkOZBVjj_QHxp&F;gt5ei;HD4`I>(vIeQEgJ^sLg7N+N!px?P|B$r;ezj>h|gm z>aOZ;>MC`$da$}iU8}BB*QWmk&s5J+&sM*!eoy_rdZT)i zdb4_qdaHVydb@gudZ&7qdawGR`k4B-`n39t`hxnR`mXw(`o8*s`l0%f`mqMmz#2qD z)X+72jXHCr@WHQO}1G+$^AX%1_? z)|}Lw*LSL(QWsB#V;8%wlDUvQo3;S(#a`EO(YCD>uuV zm6w&DRgmS&@@Iv!+GKUiD$MGU)ibLsE0#4fYgE?gtT9<*v(T(~*0`+kSrf7*XT6a% zD{FSvf~@zlmS?TV+L^U0>(i{=S$nefW__0RdDa(M`?9{wYRLK~>vYx+Sr@XdWnI_8 zT11P};jJuk~=mzP=>n7+X>L%%4(M{G( z(M{D&)4i&DQ}?!RzHWhTnQpmmt?nb;7rK4A{kj9XgSszuhjfQ^M|4MZCv<0Y-|K$R zUDaLFUDy4tyPZwVre&vO)3X`b%xqRRJDZcu%@$@$vz6JZY(us&+mY?eZkydMyM1%Y+N)9=?G&>z$v(SNN!sXwbfr@y4XtiPiFNqQ#jR>LvFaYKXQgyAd0*M^gZQ-*I0 zrw!)}KN_wXt{Z+g+%`NgJT!8RJR{#IFba(#W2!ODC^kxrGNZ<5FdB^xqtjSm^cg!F zyBNC~yBWJ1dl-8fdl`Ehi;bnm0md3*t#OKRs&Sg}RpV>M*Ntx&-!x7)&M?k4&NnVL zE-`*+Ty5N7+-N*xJZwB-JZd~ z923{XGx1FVlh7nGNlXfp)}%98Ojc8_$!qFpDl`?DI+;3~x|q6}x|zD0dYFn$eN7dn zL8f}s5YrgbSko-iY}4DOIi|U$d8T(v@0#YD7MK>9R+`qCJ~nMOZ8z;O9WWg<9Wfm> zoi?2@oi|-D{bu^z^rz`B(*x7PoOg2G%XvR%NzT%ol{u?&*5s_s`6Oq3&gPsgIXiN8 z=IqJYo3k%xf6k$t!#T%u8gfqNoXYt&=WNdRIX~oF%DJ3#E$4d9&74~~w{z~~+|9X{ z^C;)B8E3|u$!3a~Zf2M{X0BOi7MUgHbhF%?X;zyx=4`XxoMSed?PiDBW6m`fn0@Au zIc#oeZe?y~Zf`C$7n!@7yP12Ldz<^1OU?bv{mm8TLFU2c8uJkIQ1eLhC^Kq~nRvgBB7mRyV1l4l88LY6j`ww895_LdHou9j|=DoeFxu%*UQYpJu;TZUMM zT83FhS;kwYSf*NLSl+VCw7hGXZ~4Ts-m<~6(Xz?1*|Np5)w0d9-SVkrpJl)0h~=o| zl;s=CY0DYQ1gK^w@R&QtHzpV&9@d< zeOA9UU=3PB*042VZDoDQ+R<8Q?Pl$6?PD#qmRV!gLDov^1nWfWBsn%)M zSFNvEr(5S(=UU&hzHeP&U1?oq{lNN(b-neV^-Jp^>tX8=>rv}5>v3y?^@R15^}O{* z>m}o3-u)<3O(*%&sajb&roI5w`0XXD!hHla;y%d}uc+08)U1r4Y3Wi4YLim#cktkb8K^M^K9?f-nGrQEwH_3 zd*8Ouw$%2a?PJ>~wr#fUwjH+5ZC}{V+RoX|+rG1XZ~MV^!FJL1qwSLIs_mBT58I!% z$9BjL+bMRcU1pctGwlky(yp?r?HYTQU28YkZFY}6*B-Qo>|uLbdpmoXJ!bD~?`Q9C zFSie{542a<2iXVPhuO#2$J$@9Pqt67Pq)vouduJQud;t&|IohLzQ(@R{*is1eS>|w zeUE*w{Y(2H`(gXn_LKIX?KkYd*l*fz*?+bFX8+xO+kVG>*8w?*4w8fEU^zsNRENot z<1jlc4y(iFusa+Mr^Ds&I)aXtj#iG2jzUL~qm!eTqqn2ZQSTVy80r}2815M180i@0 z810BVCOcktyy1A;F~>32G0*XiW3gk2W2 z;*2_5I9obfIomlqIeR#JI?J3fXJ2Qfv&uQqIm!8obFy=abEXNzCE{)6N%5j-pZkNZ^!S#}>qpQ$Wgwj| zpJH;@A}U5z3T_p1=mH_kFK9wH(j?}f4Kg1J$6HGvYX=0aLe3s zccxq6R=QPgwOixPa_ikzx7+P;2i!q-$Q^dKb+>buxnu6W?tbq6?sE44_ds`rdyspu zdzgESd#w8v_hk1J_f+=`_gn6j?p5v&+#kAEyVtnax<7KSbARmK=-%Pp>;BAr$bHy- z#C_6z%6-HAi~FYgmit%tZ|>jSx7~N#f4J{?U=PVd_OLu`566?{5qr!Yi^uA*dF&pC z$LVo-+#Zi7-xKz<_O$U7c{+J|d3t;5JoTO-o}r#$p5dMmo{^qWp3$DTXR>FC=MB%B zo;jYmo`s%8p3R;uo~@p3p6#9;o}Hduo=-iyJ)e6Hc^W(?Jl}fGdd_(+c`kb%cpiEl zc^>CNxo|F$i_6955^^cItXx5^FgGJtmMhQI=IU~Nx&GWhZZJ2L8_td7Msr)_w#;pt zTa?>9w?}SiZdqU&s~wb zGIw3>$GQ7+59A)q{WAAZ?%~`cxkq!4c)y`6i0XAH z>1BD@UXGXR<#|Qk46n+o_8Pq=uhZ-Dw)3|4cJRLB?dUD^7I`~)JA1o$dwBbJ`+Lj1 zgS|E0TJK2jDDMpKTi%)8S>D;+x4m<`bG`Gt?|9$yF7tlqUG3fA-RRxq-R1q%d(wN# z`;GUs_l);j?^*9T?|JWc-izLA-do;Zy?4F$@{l}SUTR)io;XjEm!2oh%gB@E$@4Pv z)Om(HYo0C7o0pfDpBKrC=Jm?!omZUqa$ZSZpS;q%vbfZ*ks|yrp@|@|NeV$Xl7WDsN5RhP;h=+w*qheV+G4-oCv3dB^gO=UvJB zDer3DwY=+jKj+=Z`z7yY-mSdbdH3_-d?cTmPs>lq=jHSBv-9=&hJ0hbDL*IQoNvju z=G*dJ`33pD{78N@zkPm({Fm}O=6BEUkv}-UCcienF26p1NdD0LVfn-JN92#mpO`-_ z|JD4N`Lpt8=P$^AFMmV+#{5nBoAbBiZ_VG9zde6P{?7b8`3Lfk<{!)dCjWH)5BV4J z|H{9ce=q-j{)7C7`H%7+7eEDY0ihtJfK$LN5En=alm)7S+yZYwUO|3AL4mKpUl1q= z7K92~6tpksRM5GgcR_K%%LV-l$_vI8pat=QaRuWGCKOC8m{jme!Q_Hh3*IW2TQIL+ zQNiMZB?TWAtS;DF@L9p<1z!~GE7)Ifpx|J^mj#Ckjuo6LI9G7K;Bvv0f}aX*75wTW z`N%$skLsiOQhanD!^iZod_14nC--IgbiQn#)o1gy^0oH0@wN4}^R@SN@V(^g=qvPf z@%8o<`(nPnzDi$}ui7`*H{3VE_oi>UZ-(zJ-%Q^u-)!I8zB#_RzWKf-zNNkod>{JO z`!@JC`gZzu`M&m@^qum3<2&s;&Jm-;jOGQZrP=~wtQexu*!xBK(_`Thcb)ZfD2+h6Q|*`D6aR{(k;} z{u+O+f4F~yf1H23e}aFa|26;X{w4mU{$>8<{uTa}{#E`D{2%&P``7t5`*-?x`S*(a@?Z5|^I!M>?7!jv#edU(%YWN{-~S+h1aJXbASJ*H@B`TaeZUYf226pR zfH`0ZSOd0zD^L&!2O@!Xf%bt8ftLc^0^I}Efx&^AKy9EdP#+i)7#bKB7#{WDm6twF$KiwF|WmbqKu_>KG~v6@|KnibJtb-%w?! zDpVaB78)LUBlKoydT2)It+Wl?oh6U~bHqW)+g z8jOab;bo7N$3ZGi!uc$Zy(IE!Jgjf(45_D--XdDhoSapVZvy_lu6=j4Qfe!JZe1Ro5xaKK{lJIpSFBVx9OBfxucIC6?vyq2MGm#Uh9 zwbdo1u~1cM{h(N7UDM2IP$r~X4v8TNlnzOu3`hpaQ36UtNhlempj4E$98y3^NCm0E zkSs`rrl53iej$gz7$KU6X7|Rxmsgfm4UN>442l)A@|(|BRMIC{RasY4RZ$VEDRzfK zL8spuHn{Di5LPlca9-ojRc(bP)@{c2^X`}PauM)10^+GN@_co*OvFGh;=Ei z>t9%2*{>o7dWuk^C{nWLB4-J|ugk!G6>e0G@~qenN<*9PT7x|NU} zazIYV1-T&)lnZ&GJd}YlQ5MQZIVcz9p?p-Z5>VF%`Jn(5ghEglP&^6=kHsF^dI|DePZ0v|Y)N@_r>?smZ1%U;Q;PuwXVA)v2z$qP(s=R@ps^;miCr>7Z_3T_88ybrBsqfbhaE!%m8yi$rGdx;TQr-V)YZDGnX6OZ` z3zwBQ!lg7VzXp@3U!0JLp{(`Gz}G_5;Pr^q8ZDfUQlnS7;RXBYl~UwT}!LVVn%>P>+(9| zlcC0zwYBvz&@cWE{ShF!#Vpx>=zSt9#VpBx7?Pk#F)QaucVSh1O=+xA=sUG+h6@G_ z2yd{e8nEOACT${OB~%CLmO@ofH8dEifojoARDmi{6{=ne)k8x70f#}uQ4N{}h^Iw$ z7|}AHpz{nl5@dTq6ZyXlYFwA<-^LWy)zp{P)z^ScZ+|lGKdwJH`HK-DIX20h{}*fj z_ni4RVQGLSLX)6Zpvm2ny15eQyspWQ7*o0J3ftD#Vag{|4%AImWl7EO#bEdpXll=P zg-_eMwkvF(xY^#s!LcGQ77QP+piJm?+pGY_Z>>?aFal=!q1b)&i9#|@MQ_9H~|6Q2qaI|}TQAW+C9 z)wQv*NO=W@Hy^Y;yV1ZBKs%;Jo{TLTUX8U0L0foObxCDetgJ2Abrs2#fF4XwhHGl7 zY5>%_SPc;Na3w|yu*I;hCxD)P3e&tDW2N9!dj2s9=);sjVkZuw5IrIhUM+1wX{m=n4h!$e}NgZ4ts~O&*1UpUv6>Fa!puPGg z=-Q#A4zyP`iOvz|1f*L69fgiT$Dsx^goe=w8eIZ?1$_;jgifI?(3WT`v^54=fDsW8 z8gQntw5mE5>|a$?i>Y}DurunyCAGtgs#;cpGXoS7oX@6|j7R83uC7v(p3%;F%et<4O7oi`aOTgH<3|#@W5?7&X z(DiO5m8JcwFgfX#09q8Q8PshM1|(Qg8|#kkt+E83-4opjWYCw;He?h+JD?rE0?=+i zzd$#kTL9i~(C+|?*f3CIQd(XYDzB}sC>ah^6oB3pkZTYoB1LroF|<7jEH1Qd19hS zyo;d6(A59b`M36`bgQhYj3q$BI2d2dk^(7yLfr)DXBe;uCSY^?KSp(Elo*%{(}Bdm z6qpLr;1skI+8OPFc3lE9U?$9h8E7}O2ig<-4;4YDli<|xS#+B?6fvOUY;DY zSThi=PL)ad{QF>05=N}7Q_E+&n(z_9sgU6P_tEZ2Vorf2i!hCu)EdvsQdk8n8lY2~ zp3H#dkYFJ!LwhZRGtu6dS&V6#e|!e;8&<;_IIEbI2CM~4F?GP|kvhg2cSS;$(U;NU z_H356&-1lP34*b^mDj}vCDs8fDs0>MOG^`)30Ru3-nFHet=plh7Hp!b%3igN#!E}^ zOzm2h7nD0Ofe|kTmbMDgf(oS^P?zKcHemr20o6$zpdw%*^#+zuUr>)U2&#pKf@-9( zpay9YAjoUrV3-Nbf!>AQgBF8oqz^&u(WXS@(O#fU4njx3{{I@(9i0dJ?Go5uzkogQ z2Xqg51QQxSl@%zJf*3{BC3XF~flV13)&dCn5{Q~8nW6(hFUM@9q8gxHV>SNj>gQWJ zhpGmZlvj2S)ejmpTvi4QYZk5nY$f2GK-_;K2H1=xl~`Fz1x#!AW%Z zP})*R0Lryeu!61U=X<`TOQ+fxrW$$#tEy_s$}2JRmjyL6dM{}&io+)F_9O-}3w-K>Aa?@ae_$31X}}yC;P3nw zqVOOI*$1U91Fny-$@zI6>z*Bw2UlW?cI?!$H|C{0Js3N+sp?l=*#JeM7NE-S#g{gD zT@r!TkY{OQVPFty|NQjNw>*Q;->_+DtSo$SJSL?j@#q9`mjYi&nDmyOpS1|{X1lbD z)eQx{M5p%t`nvuNP!Hf__4+RsO`4dTtQh0x%ZbT=!}#~@-yNt$Op5{MuK_BB%0Qju zi?2ugVRDLokY_O{t!xXWJU>B0W4+~zLp9GyLaoFEywM$c9`5rk&+w`nCOHWMv;p{4 znE&+R2z2`(iNG+3y9^rM#3pFO^HX;17y~9tZC!0cV=d{6Pr?PyV9FZBWFekp57h1X zDH;-WsT2PT^flE<$gg0EXL4dAi~b4jR8Z~u>VE;(dN2w1btr8i^u|9yOu92KOoNU4 z-b+H91*I**JfP=cKHt&+JSfZ?dhuDV;FGh=hq#NO1sJ9O3F`aMLf}=sIMiDmlTepH z%a=e)6I5RIJX~O>bf~GSt17LksFeX%N(Ky5%rFPh3>H8uS!n#ildfAfB01@5Ofr+T z$w90-`JX2K`%Zsmd;Cq6bxH(K8X({ufimY8#%I$!U_xU;ycyH%TfkYg6@<06{S!XV z%-*?EOKf{K0B>q1@TXpUzL9H_^X6Wbww zHA+@D=r8GynLY}+ym|f_XRIn7!O{lFdw{5;REm*g?;cz z@Y;l*;NKAfB1EJ}7I-m22)z8DCwS>WC4wSTz>5t&K-MEWz^e?tL4H7P<8ZhX93Lme z<$%`|%Aq;R4}0;SrHe6c96rdSX5?O6))^CDwq#`U%80hzmg}{SM+GP$++%c!hWu z6vy*PN|J%(0LAdFLD_ph(hyMQJ{c6azeid}+DbZ1I!n3)ir4Rel64kYLAH={$suxE zaxo}BA4Q%B%FVH2^DX2r$lrjn@;@m=P)yDTh2&09INp-d8I+0FQ$|rHQsz*WQ$C_> zq3of2ML9>gMR`mmQ`uArDCl;AGVX5FKGcEKA)s7)Iw;Zpgt{FRWFMnmpx&mzG%78f zrl;9y`Lr;t3+-iEEo~fa8f_*hpI%Gb4a%cWfx_s!p!}JZ!b?$uQfFsMD^T3rCuLyD zu#~AOZ>7AOvNmOB%D$9iDd$pd(qTG-o=#WMjdVY~1HBu)54|6~f?f|woyUVB=UMbQ zps;xj{nMlfB1rN#EJ*%t`k#I-8KudF^&oQv!lD()+*AAdx{C737l!VQh_ zkHxS7He%t87aU*A>Qh`)7Y%kcJ3^g{p3VVc`xeL3ug#`RL~5Ol(-n6vEVi1Tj!QV> zg&=!W*{@|8W^?o{2O+?wh)NFZgmlYbGi-sauno4u4zv$iik6`3b6=gNCWSArw#!K`)7m;tATmgUv>ubOhb!|%OK@7DJ1fT%1JI4Bg zwO5v6F}g(58txAFS_ITsPqZ2xjDk2X?{7gKnMx%yKd(HKGF<}q0ZEId=x3~MFSeBIJ6#(1EN03HYFtoY%Pp3#_+IMX+35`hbxDa*Hl$v zneOBqNov%>!Y1;@R;sTXY7=~1sw)Nd<4kw z<;Z|oV-TMWJs4|ab^fxlgq{4vwahB^Xp=OI!{b179q{X^7D&d86Tmx^l-DeR$78zS zU&l0|I1xh;9fe`kwWvQPcrtTSU(ZC}V63mH>Ged@*yI8f-ZCt!E2~Y)imY!{jqGpI zke`gd?t|hV;?8~B$qN927VZpbAN{DPuKNq9CZ;q2V2$)kMHU18?%%-a$=6s zzSymWza>wcIXO>~C-A%QB5WVehZn%_!SBNh(Mjkl=wx&XI&~?$7+wM$fS19`(P`)m zkWiV4&Pv3w0p3kpFR_b?YGPn}>YpqJ*m2MF2V#Igv1H^LY|-R!OeKM)SUZrJXw1SS zxrwEsnx&M$jsgu$+ZTJbNd>Ki*I@zckI+{a!XKlrVF7DwXhKca`fHmH-3V`nbPM54 z=<5sNE$AC)cCQ4x40Xv6Z4<;D@NP)A7_500{3%%Po9J}#1^WxWV1Ki_27t~j?H{Wx zDk|w$+w|B0_{%4V975khyEkui%qU0GvW+KLv0GKKlgkbLiV> zb`#|9;R{&DF7(ZX@I`da(~isVPgutlbne0g+F)vN-&jeVp}c*eA+hKdK=*?46lASp zl`(~{+Lt(gn*jd;-@=~1iN3oK{uP~%p)LnHxCR6bfkLc_l?6d)z8{EWg)t`^)08bk zAj$%+-oSUDZA;)k;6LHN;JfGo^gZ-_bRp_3W;q&F40f9I1s7)m^*}|(YOr+rlPeTW zP>udNkUi>CUx#H!ZU4=KNo7+vyqM+uZyo~&TO~+bf^~oio30+b5T=FYBLMjt&FV(- zAuxgiYR8HR#Dbizd(ZAyk$)z@`@W^|KwczSIn@kHaf zfSr%BP^@nWfYt$fH(o7f7(J_E0rQ!SrV|i_!n)xVK%*%@0u!6E32fqRdS%Z(*t=j|YST4G8A(Dq~!UT*B zEZHXnPblQXenkAxwnaz)38I_Pov617Km=(82^J$!qy^Fv-GXjKw=G6mLs>{$bUTpO z9ccGn0Nm4)yC?ST>GdrZ_?kGHOZtJ_c70i_8(3Cy#R?z#j4DAoA>E#vsXL@XdZN34 zxP02AubX5BBZ$IRgC^7w$c-l%UEC(tx2~wFV|l;+btjNMNGVAA?S_6sz&!|dyTT_N zZWF8Qm#~AHwIvP$bZ_FsMfxKBdNk`>g!G4|Hg9Mm&j4g#Qe}5lP@r*4jT+}~=XugzGCtXo;CxG7@=5Y%2s~^VG87qx3`a&F zBau<)0rX4sFnSa{j-Gg8N+DyRMZiuu2yUGK%jsYI@J2%gnUFA44q=8$^VD8b_mo8U z5v;o@1K8B{I&etFpvQnKGNLg(+0^q^;-LoYq2~?Ura^NOgTDF?gOK?U6Ip<~hrAD6 z?NQcvb+S{(Hr=qRCAD=WgR0S!=qVK3eu#t2cg$llnK0c@YZ_EiY6`__2ZC2vnw~kd zP2faJwmeO=KKDJz0t^(E>ohfsUYP!KNFymROOU1D5)zR2CIh<3_+Er8!_2XN>Pj+p z1+eFlmFVfGo9;to9k?ZctVY%#Ymtx8Gw8SIS@hfzkrNRpc6S9r+o#0bHFXfqKTA#w<%N=Slo_ntW@5xI*a(nGZffNr8vqWs zfHaSICi2O`HI6`Yho23(>^2yc>WjqM?$sWj5rgx6bH25 zB3vSP#jURI1Fl*n1FDAF#I@IAmf^{%f|<%m1<<66j2&YAN^0wCo34mrmxe_D>OSLa zI6H7do*dWBw)`TT15;@K*!SG-!@02Chs#B-;qq|#$c;D*Cj|Nt`XCOc#9`VqB8~Io z0!fjM!xZ#!GnvLkflT9C;9BBZ;acO`;M(Ha#bGE8BXJlPhw*Wk5Qm9znDj)n!NfqU zu<3wY0pqMK@F`nX0?!iMasxKovkXg;vPrg@NqAFJGuduxY9`E0P0b{^vFV>gcK{~3 zahUw?vRj48ZXBj2g?Hxvx$wRSy_yMe6(+C%-JbQ;;CfOb`kJMEUK)lcq+t}0hB3IY zm^834X^4ZHZ$KO*aajDUIE=%MZxV;pILvG=50f!@n1Y*%n}&N8_ZkT4zY&L7ahMZ_ zxp9~mhxu_>5Ql|NCbrMQE*FL8%(hjB;Zuq+N|#$ja~R>fh>QxVvjB)A+S zc<&|wuQd(;?q$;!KAF@S3QTJ>yKdLCotqiGO;3E61gicITug>IaX%(UW&MXyNqZM} zHOXsTlGoU!&i}P(o47%!vgBZQ2u*(@K{IAvO)^v0qw%Q0Nc7(yF|33j$bc1C5tCu^ z@Vpe1auq_VTNvU!_XX7+I(_Dy}rqCuu#`~`#gEuBcCO;`MBmb8o z^LHaBc}1krxcLWaJ(VB4F)2U!y@mj;hsw*^RF#zd!+C&DSO<7u9U#~73F{!7WPbp& zcjIuoXO08BAOFNUXcLEn&6y9(gQfTu_?Gxq_||yP8H&S^INTx*w~WKBp0FJ6O42l( zq^YpEZcE%udxr1$q9l`}7?YpgUTfmn3!V1(lH`o7|DB6{lU!_@0`-?)fv!o)&N z|7q#XnAkVT#J11vT96#C#t+8VAlLA9_4<8TLT-_D4`J>&43&6GDt zrVnr0x839LOU+p~2IPkDWAUK65aSGRv>*W4t#dL-F3 z^nb~&@@MaYo3N!BE2?X%1|&CLvxPKsBJgvQyy{WR(v?;XGL}?>I4FphKN~~08nH_= zNun9MwhT1-{`kfCl_0BwUxHtXUxr_fUlE6keNJ2Z^6W_yhQZad==H zu2_UWgg+dI2gTt^w0oygtl+0tX%#s2`_YYI5x(6r+0!v9u+#3YTj87*nW@#Fo%RngcSYdsiIxIed4J+@^A5_dZ zip}L9)m6;WK06YWGc>|)2G7_Ai_bnSmTZLD{wV^+4plWE+g4tuC^*)fsy|^=y&8vy zqiA&bmkWh}plWB%h?NypRkw)^iB&Xif)EgX zWiq|fGE`Lc1lOcYH&wH=EdgnLA=c@~%KJd|MeOM`SUNw!6%hYxOpYiDz8%>8|FL%-;7wdh!?w1sw8H9E zm#85DgC$#*4I!a}>Ajb@(n~NkA&DowkV;5z0#Zas@4Y7^q(XpH(nEUh^`EmxYfD%X zx(fO3_x+D=9_c2w);l`$?wmPuX68hWQ?ccZ=tS}D_(I;qn|TXw<#8!>8t6_3-5H=e z6Le>RZXM{(#^E2)Z(MO%|Ki~*7EU{Q)XL(Dk;S3GL#H*&nOD5BytrXl`Lqf1k1nnn zT0CU(xM`tbtBR|q77v;#}vEU$F`>hG8N@_LH@m+{}${)&n#&_ep zllAJw)IYh9Ommw+w=u;*;d}BW+AMbs=r$zHa(sjgY&jq0EBH#j7vGyd9CR0f?o!ZQ z2D-~ZcLnIK1l?85lOErN?@Qpj7<8AY3)Yd<%NAg*f7-}}iPxNxe>Zl)Po>l2)mf)U zeioe`V|04_pI@?O8>*y9lb=N=%~+OTSZgHasz@wABo^_D2@*F@B(5b$+yR(dkQ}7t zkLH(YNZbm#>ynXJMUYs{ui=m3kLA~54k4=hdeFr|w*_=Jf^IA5ZUWuSElA9zqkjV( zeV2-N>a>^Qzb1!jH9ihvAdA0@igQbL7}Px+(A`F1IP+loN;n~snp$W0O%eB-9s$|#OaXVONZQ?v_X}k`Q&Xq z&Dl-b%F}+-I+~HjCFXb2dp?|9&2Q3Y{!yyt)dy3}S$5@G4?vPq-=s=?6gNUqsp=O- zM6o~eKk+~Fzwp2Ezk%*)&^-gXZJ>J=bm#`@CuP zWRtgB>Bef3nPk+5qiHw#84F3VU(%SjdMtzh89bo_^O?{|=u94qSLx`zLPqah(7lr~ zdO}y>P;K={oJ<+IpFp$`oS?bS4VGev9qR}ACA!vNm^egD_|KCS8 z7zuP=q_QzzSfH`-8DQF)nmwUzWTi_c7@9f$ozQ7!qNZkLZxQ zM`HCfh9S{IZdp5~SWGsjXpW#hlc4)FyC%<|n*5wilx;{@h*}?_F z71$X`ST9^CY!EIIE*35kE)^~l&QH+uFdS)4#gi46yJee^1^_Tqmvj=s)je*!wEiU~aF3j~ z7;~p^k<&iyuLodAVZahRn-r}!=CY;zOciDxtG%jlMb-MRU`Gnf18d%3$IoCE90zeu@+tWco^^M0m+Eyix0KOgbhFUa}C&=;u(LZ^LD+a69OJ zX=GBcbF-!#&9tGW>F#)}fzet*t zdtm*-<<)fPX1KC*M*{ z?5J-v^XsU9ujp1^)6~?lZwIzr4-NRO z8~6MBxRsm^6YgJR!Gu!pJYn|qqZe@eS1;oD<7c-xUOU0v!4T`A#EfXdt z=y1SH+vL^1xLjPJnV?EwN|Q{Gc#LlKCh=Htt#}+TWx$jJ6Kys(;sQ1J!=THn27jz- z_C1<)OygOO5iK=^NT(Lhq*<|v>M{YCitJ|L9BLMNQL`}nV0tO(#7%nE&!NwHFC27r zMUlEHYdz?fsDpkv4*HeiRpQma^rM4*1R3;^zzhdwMABxH7!x;YqmE!6nLO&(<36Ey zgBTaLh&PH`f$0kjB0T_@LBI@Y8UIVvoj<&fnn!C(4G5%+f669d!p4jDs{6gnz)btS z;zQJM56++=s#@`J`l+EAK1Ek;;xkl_!>Aq)>Sk2Rx`9}5x_6j%IFj`H4At+j|1@J@ z);tohZN5)y5O$~_>_QOsh_8{SZyW_-Gy!2IV6J$|)Ay$Mmd3#}V8$eK@E$q<;``zU z;)hsS`?0uB`~;Y>z>EiG0x%PSnFP#aU|RMd#T}H0ag>No>JZQkEj7I%?es>~_%Day zB#u&&ealjkDJ6+5%MAzfX-}afQ!->u1J=TjBvXcPLo+w;P_i=nB)jBbK9ii1i?C5c zyu&5H%qDQ00?gtRI3%y+)8JSL%uz{jNF6Y6gJss8q|Q`8@3-r2VCc8jWBYNHij;2axvbUi8AbQs)P^pQech-W*IPzz$^!51u!dtSq04MxHN-0g3?h^ zwNz8kS*imDT|afX%B%$jfH{$Pf@-00+j8|k^aLdgzr-XQ`ePEFptKx4L1~3>FL?oT zELp3n@8}73*YvnnIv%}13B8@;V$un~9G{yPD4isos(OJEKEmh)o`7DQbh_#V;wI#N zOGz{LeaF6C5=&B#cIR`Y3sgT)I$!kzPtNuiaBr}o9@}7&YLb2{k>X`li!kVrCU;4? zluSm_6&NRuOIH(vb0(dPPD6X6!(mvTYHv15n>2faa-5!QZ*Cy=CN6D}Zj`o4H%T`G za|SSH0kaO6vw=AWm~&g~&876wK9fG$b}Z(oor}S(L_|BYt2jgj-4zZ6qHL!Y9vAF>2>K1+yJbl zRsA$-l9cTZ%tgT5)yfqiy9Cl+=^e~mJ3-qe044^^#hAH(j0CP#Q z@;@ia|3dmw`bzp*`bPQ|m`j1V44BJ-xdNCgfoa(j{+D+NWQi&``|d6+%1Z1K(99Ou zEPK#K%NE%x+pzP9LoSk?vP;I5`bJ;*8|5jaFeUvjao0;LfSXM()nu41ABEL+@(g*V zJWHMp44UryfVm%-2R6&qa!tWT8NG)GfqAS62j)4f>L)d(#NVg4YObYiuG5`HgRW$) zG*zucB_G!Awm@D=?zT`~BrlfHJADY4hkG7C+JTOm?hcQC|v3w#H5X&dYCj;{&FwZnsGs>sQXYF6uE3Yf) zD&xHNR8tW!Pd80#9#X6d?wXvEC9jt+Zgue`crhBtZRFx-o2IplamT(V4^6rHYB@&a zN0YlfhBdfrRPk{KsBy`{M1u*Uq#g2g1%=oe=>}4WMH1sjoB0!)yAWfIKF14U*D0NF z|ABNcnA)jY?JHEjY(gh2Go8|DiP}%T(Nds0^%}%%)Oehc>g#BGj{0Tqm`swaHz>w- zg(kDbYO_0voG!P=>+}19?K^br)Va$cGe?b2I>-a1m@scSNkTN^p&IlT;8r5#>cx(yT+9J7McxhE5-hC4JP}M+em0g83;q!3Y#WZUC;CahP z%jL$UOR&?+GAuS5Kr#+#*`ulXPL$n7{Iy!vKC-$IlgO~SK9!@nIJs&dz3q@?OV#_J z1XXpbu{S&Y+^7{K#j{D*#Nufs9$d^ZG9GNgHR;Vwg-v{u8(SCO{_QO$@1civ>t5WW zXGyf;h@qoKj~PFC%GB9MRoBg(H-FJ$dQuCPC6-{iT96#^K~DIDhh zyH}_T9|Sdem$u~??L^-!ITdgWeR#D3xt3kQouP1PS)@F10L+wCSTMU}RnPk%arf7JMvUIG)V1}!FAK-e1~(KTpe?>;T(5**n# z)NkMr!s3F|LuoelAJAlID%?0|FdkmwXmahW8WtKpVk9~*sH|FSb+VW$Z{ozNfwVaa ze)ZH}kuDTXi+22~C$jtm^wzqq2` zpnjEu2bJS52h2D&94W^mTZkf$+c|A|XvWN0n5wDaL%#>rRN`=(KVkzS$4+cq&}UZ3>S#lCd8n+UuCk^AJMG}NFRcg`mqwB9(oiH=Sy7rwH#W;N7q|;L zVZZV)_A0L`SXgjO!HL+Gbqh8HeF$4>zEJQkHdp)`+xfNEb;pij19gM3$JQ|22;E5C zDBT!rsx@9WQ8yWzQO(fJ(jBF%)t#t29b5F=qAj1sSN>)MrVu-JbY;3R#Y`zv z!3Z6W539&yD8Ban*F0#^~t( zV_V^r|8Y2vyg;Y?E%J?MA+^&z&^~XHx5!%y&O|FmRs`B)b+e3Jd*bpf*y8Rs`F8mZ z`A+#R`EL0hU|s^|Wnf+bW(P1kfq4}e^#6AQvj>mx%wAyL0p?v`-iynx$*;?A$ZyJT zVTZxJ@;fsA^nGCd0`?SOF9+i)FrE(97s0v@Y&tTc-LsV~lYRej*wtT??w@1>YboqB zk2v*P_fU@`pg)^!>Xl8TL?!j8C5s1Rb>8?j*d1n3OC~`}Q=r_^m9YrpKMj)4HuY|n zPrI>NzKTa4?f0$7oJX46Em^vzWdyr6U!A5-ydNI)vK+fBRpY))^I)qNlwx7Vd`#jP zzhWujZ~t4Rd`1K43;8Dk(3kR8^4HjI@>}^k`Fr^X`A1+r0OliL_5t%LFrNbno_q}q zE`7g`%RkG%$iK?J$-m2g$bZUz$$tZb7yJaw&%pcw%&)-w1`NiR{s87rY-H84&ewBv zo&Vu%)61)iSCbjGn7on7-d+c%JqQj=>!_v{e`xU`XcXqiMvNXUAA!jeeL^K&)c?S9 zc>0ugsb5^D{S^O|{48A71)Xw~Q~f!9SpARDY7R=D;!uy0O__Gdk@~)=KNz4NnEHbu`k|>m7_J|Y`h(H>F{wWo zub+w~wE7A9iTX+U$=nKH{svYDEDJ1;)zH`Kr|GBbXXt0@X8|h$8vwQ&uvNfLOm$&u zRn4*3*KEeY+@T*)T~m)e4KRd6i+_{diMjNa%xu%zgLz9el_ROuT2dYJNOYW0mc{jr z8AMt{MdD_g8V;sN$s%A-EW^#Qr64{$tT5X&>tNnIkz1d9(*)Bi^v7UC7#pvz(y!L9 z0agN5238NOVYB{N{aXET`s0CBfNckCA+Tn$X!;*5rB=7i^rzs4g8o!sjkxPNX2Hth zAuEfAMZ%=WvVT%tZOinlJ#A;{&&Cj}ejTu;TxxQ)%P!F4shrp8*Xu9TZ_r<)zgT|> zuohsgz}kSd1M2{`=sNvn`pflK=&#gYRnQq&C$KJH-N5>Q^RQc)vY{#Zkg+Bpod%Sbq!0O^Tc;|>#sjGiR|Lp#1)$aF#{?!~*w@bfU zzeoR?{&k|dPQc=O7hn$s_AsKljz@k}|GrLo4i8W1dTclp>QP=&5yjyNSB9}x8AmNt zj+0(#Sw&@8ID&DrXjxfe)ZQVZ_OAXtU=IPdE6Tob(U9V0lZ%JWA3kmVoJGasM;DJ< zJW!MMWBtAiqxQM}TVl|^Xn8KXCqJ6k>c7)}um3^+qy8sgi-GM0?BT%n0rm*;eCF5_ zL6hP){a@ImK>xe`5B;CO_5ijguqD`}z))b&ktPLf2-t9%CItuRNPtoQ=9UGCE(XnT zs5&-CsAB^fn^Md#pw`Hs7z%MmE~!a@!DKK4TLx@|>6b~MNp}S7lkAgJ8#!$)vvg&BD zb;T_o(}uB|p*X|yVF($}LphLXGgKOS8G0KIH}oOT$C1GH1-2isLx3GhpO1HGv~>Eh z#TZHN9t@W!9st7t%qK7m#B(|Z8-^H$k}uL9*a5%}1a=UxgX#C`KXqDhX+`n!l4aAD zEn87MZCLT#DPyLMZd_a(t}MorEv5~fHlcXpl;XwpgQg9ytSFv)baBn_O6|*yHH=ID z)EFiiFj*`8TxOV|Uu&3Um<{YO)z*vv7DK9Z$ZN=u*8)2nhkWqD`NdTuiU$uKuib8r zVP2-OTx7r#x(_&(D-0_Qs|>3RYsgrR0(La8V}KnG?1cTsGFlcTLrL~JND~jk3200V zO$GpVEU@EC{^;uBNL6uY*>FwHQw^tO7?!gP=c6$(tTUW#ILC0V z;XGg`0XrGkDZowzcG|Uu3k>TG=NUE_E&_Hsu#53$z%B)L*?(Y6{)fE+?Mq)}z!L#B z8Ll>5V~7De1K63s&LXyJv*B9RcA>(L`ZsLXR>I6pz*e`|u3HUvpzSi;X1E>L8enTT z8tydQ1#BI#^?5f~F+5;+6z!SeLBm6ahYdJWHUK*ZSTxG>HsjGZj~kvaJPGW4U>5+p z5ZFck*BY!)&|e~h`7*FeknvW1RSd5hcH;wR*ahs-|A7x@c+-HV4qRt=%kZ{gui+iT zy9S(;8-ZO8>wzWbN3=xO6+2xQoi^Jv>0qvl z$nI1R^~C4oo4M)D&X{eQeh_aq0hgVPJ=5PYK<{|gY}4F>c*p%ajQ7AzIg;B!Hs`c` zHl>5og(#z=(n-Nb;A~*e0ruQY!gi&rawy5AVsXB>fXoEsl=0bPMpTWTFniFzstKdV z%^p8!#GnBasz#5RJ$w+JRNDFjgQkq>hgl%n2ZF8s!lbJ4RsBZ{8i#*|{0-F{C_QyE zV@e6I=Qk~*KPWAD;2Lr`NAf0ms2nHDvT%9x=`eWeSMT&+q>qBBQ}{(L1oooDoUimF z_dwTVgLaQWIo+d5!IPxY4c2G{3(W8yxKO-IyT^EPj|sqDs@-F9PWPCuyjF17EvB`~ z3}vP=OPQ@4rBvf#X0=M4Qm-^9bCkKtJY_x}ZnjWaq%2mJC`*;2m1Rn!vRqlAtW;Lv zp=WE9W0Yf+waRhI@yZEGlLE?#%1O$}$|=gJ%4y2!${Bbp+F8mvqxRo0QGUwaRtM^~w!OT-l=BsBBek zQf|hh)oxX8Q*Kx8Q0`RjQtnpnQSMdlQ|?zDP##ns!eiGSQ65zuQyy2IP@YttQl7?R z*tRLpD$gm~mFJZgloyqk@L0B2lpV@WuvRl~$>=nRX1?)AzZUlBSu-5^51F&0w z-3si@z}^Zh&aig^dpEH60((EO4+8rzu#W=!IIuV!J`Ljm85z#RcxU*P%!HxRhNzzqd%7+@z!ZWM51fEx$g1mGqCHwCz9 zz|8<|7H~%aR|8xfa1FrC1#UiY3xQh<+*06{0k<5mGa|PdxMP4@3*7O*H34=w#KZ>f zRNzhr?o8m;0e22?=K*&C!R>YB4dqScEj%M{ukw!auJWGpzVdLHSYnN%>j%Mfp|vP5E8Wv1YVl?9Udxb`m(QLFBtwx*CZgd!nj83D==r($cUOb!6ZwwfN#`eYz z#*W5Lcv4>%;~~bb#zT#V8M_&~8;kMezMjSsW5^gbmKw{95o5VAYOF9;8haUg8xJ@3 zF&<$&(%2VI_v>#QU>s;1WE^Z9VjOC$G7d8iH;yolG>$Tk#*_cX8pj#O8*yAO1nx%Q z9s_O{V0Sm}Pv9-Uw+B7~{4n6B0KW+M6M#P-_)Wmy3;c7y?*;xF5I7K=AQXep4}^&z z%md*B5Y~fmJqY)KupNYVK=>X+0YoQ=hk@7SCQ2JvVRPXciRh}VO7KZwtRxEI9l zKoUW+gLDW;l^~4(tTK@nf^-Z>>p;2&Ff(6z0;D}4eFW0aAnQT)f?NV}e~>4D+yL@w zkk^5H706pbei-DJLH-crUqG)1y%+Q)pdSeONuZw#`n8}x2lN|3e<$dl2L0=x{~U0& zZ?J-)Js3*CFbE8j!7vXD$AaN(FkB6W+W`Gf!z*C;01Q8ZB7))qr8}T)MboF$fwByg zlR>!vl+B>r2g-I(-Uj7sFzUc)1!H?KmV$8*7$<{qUdr5VoJuFZD`%UI)3)sD<~3q= zAa-h8xCT$xz}@TG1+yEL;n@X8F5K_nyFTjqVI`6J3T%i-wn=Ljs2N#9s~hL`36++F zD@t&6T7ju$WzmYVl8U5{U;>l|VKgvQUXhll%2MoV7)p^T5!t^!?|}+u zR37RyT2UIo7;Z&bsInx4eHGJaudXB-iqu6?gjz)(y?Fiul?n4`c^K&qV|WPlgKZy6 zO4ANhMMG_ExFkiUwN$1X^Ovb6T2Wsfj7oI7Ozj zs7%<&E>E+Wd7MIJ;fnHTX#}aNtgI}r#O|SK2CA|$S`$IznmkbFQK9b0d!RB3)dG2C zDL#DI<1`KAp@v9(eYhmm8f>64-IcdY;eQ5sC7OvyL#j-dQJL<^Tc&?DPGOw#BGIyn z6y4F*i0plN%M?aSUQ=63bKp{ZgXRYhAG>I2X=!CTqlu`MMIxz2b2A+$+#NdD({Kw< z6{RK7Xh~Y0!l=7QZKyV7oZ?ibhw^^#!gZN^sHE8ir@qQaWk}8QNsOiDuT+#r8cOP- zDMH;$g?c3Kf%=C)p(U@2)~5PUcTkxg%YUFUPQ%UqN_j~*QX0nHLd;xi<=EAf)JCE; zsTS&9D%2DIEulgc^$jKU=j3z3{EstUmLI^7&(hO8MR3E91l%>e@ zIF;#{{AJ3hy_`JYI-I3z_fsD2H^M%fzf3iux{6RuO)GyT)NG<6VJuY%M@!N@dG(cb zm63*2-{5&VPTT(lppwi%7H1P3gSwKsR43{cD%1=43zgAEg(4N$NW3(PYpM|X!jZD_ zbjG~4z9H0r^+Cy$@1{b%l)v^e3e`+hw#8>nq^7L2CiTgqtz+3&@|P)-XV*d$dYq9k zE{M~4n-x*?Hj&5Vae9}I)6Tq=m(iAon(byJ+d8klIux$QIWbwNkEl?)@)j!dnyOi- zY{oo3lZ+RJ34$}2IXfU5vJ6dl)}rMUP^vq}$P)S;$&zs2X*RHoPS zm+7BTUKg!LM=JHn`+>^z=6_3hME9YJ+EhOZn=LnC(D&`Uh5Cn>mzIQTt1I_grT;~R zdM9t8{;6|U8Nt9oZFTaq*N&w^y*Jy;JfVfi7A>h;p&lAGv5J)UOsq=NoeCp(i|4Gs zt|onGDUeo0R98PD@rxegNr$;Ejq1^o#biIMPft9_0}q{4>(v?)Cm7@5Ay`3yXI$WB z7M{9`r&=t*BH5l}@CZwC&|+gxdN#=Td5c!ykFe$7(!_6)K0JQl@K&D-mGvm?(O9>j zCoQk)IbvSTGCWwjry5pVg+)z`*zKKsJvAUne$aDheKl74ke{dd!ae48QCsE}H-El( zY4!5CjeU};g0y?Id<}JQP|{_19498gVd>9)IjzMtb<393%{_Wa!;)iGFJ4x?X64*P z%hxPhuyX$LMKwLubL)Fz)l?mx;!K7IOYw^5EhUGgG-?Bq5Noa~{QoYQaQOS|CoNG+ zLSn3Jnp3~L&+3Zu+2v)$$ic$;;(1FN$tQ|izTNUAOBSl#X&U>q97byZhZQGsjVFs2Wb zmq*h%1$7uluMek$d)is3Q2X*9s7j0{N3nJ}$^WO3`)1d-w7jwm1DEMt-|A3Fb!m$8 z)UJri^lAPwWg4iQR_A0X)lgZTGS#*7Qkg!_Tc(V&N{dWcB2eL)lA8M3nv`fyyY^Hj zJdrxjP+i9GVUk0aZHJ?#q&ixICjcc=-h~SFb>0K@57(SE6_Jt%ra>pm)Q!sYZT7qSlrI>4<4AhZSreE`xDdUsZVhyrwx}Yl;uET&&vP=W1 zOuzrPWU8&JEiEfgwd7S)rauq9Oi9ylX2!$S(MUxNwjN0yr%_aT5>yk*L)yXK9>Y_o7ZZZXtFQo_;gYN$-&!I!Be)RS#v5%QjTP z?dDLKjE_Y!nL(EsT1C@R48-a1C=pMmt>%_ zY?$Ge3vM%{E?t_aOxFBm%IMX#I8a%3H*gC(goj_IOfIKTnXu(kzJ@%LOiAOECG(*& zR1+;vjXkwHlgd<-zfAvZa>4YTlFIT_XXRWflk4Eil$(LVgt5|c%+yGB3@)THdGdeo zD$D8`D(lNyJHIWN59r^Pm1N3%Xuyrx%2bd1QYw@$|AES64U#Ps<{MRDqE9;S7q?={ z_mk-=DpMfufy!vflh&PCHxh6f#IN!P$NXi=^yKA8c}1kUtUT3SxrxfuIe(e{p@pibi`0ZtXP4WlOow0~ z`t??U=<(GJ*uivs{W5aibYqY4gUOjQqzr<_lE>FKlBSyfKg6W>`=-so=H}pZhVR}M zp8n56=KtOB^gR^#L-T(KGgXx@v&*vEiCf zZC&MlTU3uxp^EbsD)Us+GAC!tM#Meqn#!8gspe@aRL{JH%DlRYV9!%rJK^+(nHlI^ zM#Jfr4d`doMJrR6GPFrO7s?;0O#8zvjsm7mmq##AmS+A7)s@ziV(2zy{(G4YRB8S) zWt{(-=j3cz5Y?5@NKI|3m$!?`6v8p_FXFH)JZCz1$phN{ad8p;|{!(?wz znWA~ilo_a;#tG9l8!Gk-yS_tZs>~nqOnyR(Imj9_$Dk~RXH$1PKBPkRKKKKbw7klk z>`s(dQWr^GuYXEq>XW}rnI60rTdt-bVWC30y@g6NY~&e^Q|a>hw}cWty44OgZ{c8R~~|wS}vflO4z(`0F|jaZ<#V$gBA;w#gY>btPb-@QWzgfWvcxzK6ur*d7BEV<7pcLD=wu&i9F=KK{sWcq!OLx956g$KMm1%nP&kD^H?pdXb)C?-rg8a3YX{1^(&sLsS+YpXmbzX{0)l{ZMdCQdf z(Zk&_Od2VTlww6TneXbENmr}`^rP??U)UwN5;3ZYkC7K-B9GmPbV zk;-rxJi|p3dbk90ZLoPpdAjv*MF|G* zaZ5gVB3@60f_#Ol&uGe%mI~SSuQ7&R9jZ)q?Jl80os_pwnU@MVO~fVD7{{u|#wf`n zbtM(*l>9l*7zA!HoLN(BqU8+@sSCZ0RHoDNm+7AwbF8|osIE)3QP)$M&d6J)j6}5< z^DKUOnAn3#tguMd-Bv2oS$WHpah2X8Qx+#GREK%D*n%fTrrW4YXXh=`KO8603!=U} zr7X7aZYtBc`9F9W8E@ImBYoK;p^B1pf$7?MOw6lJ9jFJWQ0M18P#HbDB;{q>=x7Mn zg;Rs&g^yC1*5@x%rU@oVrflJ{(kSlbp)sJH#tWY)d;w1fD}1u>slulVpDEl{_-x^G zh1(0C2W|s!7Xf!MaF+mgDR7qocR6rZ0C#1)@I`uPbm5M|orSL!bS~Tt+*R1b8UFz; z2Hf?)-9Y{|PTFODbt;U*3lJ