diff --git a/OuviFalar.xcodeproj/project.pbxproj b/OuviFalar.xcodeproj/project.pbxproj index c2e7dec..c8645c8 100644 --- a/OuviFalar.xcodeproj/project.pbxproj +++ b/OuviFalar.xcodeproj/project.pbxproj @@ -11,7 +11,6 @@ 0CAEB279257ACA82003091FC /* SearchingBank.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CAEB278257ACA82003091FC /* SearchingBank.swift */; }; 0CCC36D2257AC73700FD0454 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCC36D1257AC73700FD0454 /* AppDelegate.swift */; }; 0CCC36D4257AC73700FD0454 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCC36D3257AC73700FD0454 /* SceneDelegate.swift */; }; - 0CCC36D6257AC73700FD0454 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCC36D5257AC73700FD0454 /* ContentView.swift */; }; 0CCC36D9257AC73700FD0454 /* OuviFalar.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 0CCC36D7257AC73700FD0454 /* OuviFalar.xcdatamodeld */; }; 0CCC36DB257AC74100FD0454 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0CCC36DA257AC74100FD0454 /* Assets.xcassets */; }; 0CCC36DE257AC74100FD0454 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0CCC36DD257AC74100FD0454 /* Preview Assets.xcassets */; }; @@ -37,6 +36,10 @@ 857EAF3E257D539100D0014E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0CCC36DA257AC74100FD0454 /* Assets.xcassets */; }; ACFC5E90257ACDC700881712 /* PositiveResultCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACFC5E8F257ACDC700881712 /* PositiveResultCard.swift */; }; ACFC5E94257AD73B00881712 /* NegativeResultCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACFC5E93257AD73B00881712 /* NegativeResultCard.swift */; }; + C1AC2EED25EE612D00502881 /* MainModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1AC2EEC25EE612D00502881 /* MainModifier.swift */; }; + C1AC2EF325EE628E00502881 /* NavigationViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1AC2EF225EE628E00502881 /* NavigationViewModifier.swift */; }; + C1AC2EF725EE62ED00502881 /* PickerModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1AC2EF625EE62ED00502881 /* PickerModifier.swift */; }; + C1AC2F0225EE645C00502881 /* History.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1AC2F0125EE645C00502881 /* History.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -69,7 +72,6 @@ 0CCC36CE257AC73700FD0454 /* OuviFalar.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OuviFalar.app; sourceTree = BUILT_PRODUCTS_DIR; }; 0CCC36D1257AC73700FD0454 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 0CCC36D3257AC73700FD0454 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; - 0CCC36D5257AC73700FD0454 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; 0CCC36D8257AC73700FD0454 /* OuviFalar.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = OuviFalar.xcdatamodel; sourceTree = ""; }; 0CCC36DA257AC74100FD0454 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 0CCC36DD257AC74100FD0454 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; @@ -91,6 +93,10 @@ 35DACB34257D1074009D4A60 /* OuviFalar.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = OuviFalar.entitlements; sourceTree = ""; }; ACFC5E8F257ACDC700881712 /* PositiveResultCard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PositiveResultCard.swift; sourceTree = ""; }; ACFC5E93257AD73B00881712 /* NegativeResultCard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NegativeResultCard.swift; sourceTree = ""; }; + C1AC2EEC25EE612D00502881 /* MainModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainModifier.swift; sourceTree = ""; }; + C1AC2EF225EE628E00502881 /* NavigationViewModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationViewModifier.swift; sourceTree = ""; }; + C1AC2EF625EE62ED00502881 /* PickerModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PickerModifier.swift; sourceTree = ""; }; + C1AC2F0125EE645C00502881 /* History.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = History.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -133,19 +139,11 @@ isa = PBXGroup; children = ( 35DACB34257D1074009D4A60 /* OuviFalar.entitlements */, - 0CCC36E9257AC82D00FD0454 /* Views */, - 0CCC36D1257AC73700FD0454 /* AppDelegate.swift */, - 35DACB11257C2E6D009D4A60 /* View+ResignKeyboard.swift */, - 0CAEB278257ACA82003091FC /* SearchingBank.swift */, - 0CCC36D3257AC73700FD0454 /* SceneDelegate.swift */, - 0CCC36D5257AC73700FD0454 /* ContentView.swift */, - 353EDF6A257DC67A00A2D528 /* TweetIntentClassifier.mlmodel */, - 353EDF6F257DC68000A2D528 /* TweetDesinfoClassifier.mlmodel */, - 353EDF65257DC5FA00A2D528 /* ClassifierPlayground.playground */, - 0CCC36DA257AC74100FD0454 /* Assets.xcassets */, - 0CCC36DF257AC74100FD0454 /* LaunchScreen.storyboard */, 0CCC36E2257AC74100FD0454 /* Info.plist */, - 0CCC36D7257AC73700FD0454 /* OuviFalar.xcdatamodeld */, + C1AC2F0725EE646000502881 /* Models */, + C1AC2EFF25EE642D00502881 /* Global */, + C1AC2EFC25EE63F800502881 /* Assets */, + 0CCC36E9257AC82D00FD0454 /* Views */, 0CCC36DC257AC74100FD0454 /* Preview Content */, ); path = OuviFalar; @@ -162,10 +160,10 @@ 0CCC36E9257AC82D00FD0454 /* Views */ = { isa = PBXGroup; children = ( + 0CD0B4F8257AC95600F2005E /* WaitingRoomView */, 0CD0B4FF257AC9C400F2005E /* OnboardingView */, 0CD0B4FE257AC9B400F2005E /* ResultView */, 0CD0B4FD257AC9A300F2005E /* SearchView */, - 0CD0B4F8257AC95600F2005E /* WaitingRoomView */, ); path = Views; sourceTree = ""; @@ -182,6 +180,7 @@ 0CD0B4FD257AC9A300F2005E /* SearchView */ = { isa = PBXGroup; children = ( + C1AC2EEB25EE611D00502881 /* ViewModifiers */, 0CD0B4EE257AC8CD00F2005E /* SearchView.swift */, ); path = SearchView; @@ -216,6 +215,56 @@ path = SharedExtension; sourceTree = ""; }; + C1AC2EEB25EE611D00502881 /* ViewModifiers */ = { + isa = PBXGroup; + children = ( + C1AC2EEC25EE612D00502881 /* MainModifier.swift */, + C1AC2EF225EE628E00502881 /* NavigationViewModifier.swift */, + C1AC2EF625EE62ED00502881 /* PickerModifier.swift */, + ); + path = ViewModifiers; + sourceTree = ""; + }; + C1AC2EFC25EE63F800502881 /* Assets */ = { + isa = PBXGroup; + children = ( + 353EDF6A257DC67A00A2D528 /* TweetIntentClassifier.mlmodel */, + 353EDF6F257DC68000A2D528 /* TweetDesinfoClassifier.mlmodel */, + 353EDF65257DC5FA00A2D528 /* ClassifierPlayground.playground */, + 0CCC36DA257AC74100FD0454 /* Assets.xcassets */, + 0CCC36DF257AC74100FD0454 /* LaunchScreen.storyboard */, + 0CCC36D7257AC73700FD0454 /* OuviFalar.xcdatamodeld */, + ); + path = Assets; + sourceTree = ""; + }; + C1AC2EFF25EE642D00502881 /* Global */ = { + isa = PBXGroup; + children = ( + 0CCC36D1257AC73700FD0454 /* AppDelegate.swift */, + 0CAEB278257ACA82003091FC /* SearchingBank.swift */, + 0CCC36D3257AC73700FD0454 /* SceneDelegate.swift */, + C1AC2F0025EE643400502881 /* Modifiers */, + ); + path = Global; + sourceTree = ""; + }; + C1AC2F0025EE643400502881 /* Modifiers */ = { + isa = PBXGroup; + children = ( + 35DACB11257C2E6D009D4A60 /* View+ResignKeyboard.swift */, + ); + path = Modifiers; + sourceTree = ""; + }; + C1AC2F0725EE646000502881 /* Models */ = { + isa = PBXGroup; + children = ( + C1AC2F0125EE645C00502881 /* History.swift */, + ); + path = Models; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -318,14 +367,17 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + C1AC2F0225EE645C00502881 /* History.swift in Sources */, 0CCC36D2257AC73700FD0454 /* AppDelegate.swift in Sources */, + C1AC2EED25EE612D00502881 /* MainModifier.swift in Sources */, 0CCC36D4257AC73700FD0454 /* SceneDelegate.swift in Sources */, - 0CCC36D6257AC73700FD0454 /* ContentView.swift in Sources */, 353EDF70257DC68000A2D528 /* TweetDesinfoClassifier.mlmodel in Sources */, 353EDF6B257DC67A00A2D528 /* TweetIntentClassifier.mlmodel in Sources */, + C1AC2EF725EE62ED00502881 /* PickerModifier.swift in Sources */, 0CD0B4FA257AC96C00F2005E /* WaitingRoomView.swift in Sources */, ACFC5E90257ACDC700881712 /* PositiveResultCard.swift in Sources */, 0CD0B4F3257AC8EF00F2005E /* OnboardingView.swift in Sources */, + C1AC2EF325EE628E00502881 /* NavigationViewModifier.swift in Sources */, 0CD0B4EF257AC8CD00F2005E /* SearchView.swift in Sources */, 0CD0B4F6257AC90700F2005E /* ResultView.swift in Sources */, 0C1404BA257AE21000716069 /* WaitingRoomIcons.swift in Sources */, @@ -508,14 +560,14 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 4; DEVELOPMENT_ASSET_PATHS = "\"OuviFalar/Preview Content\""; - DEVELOPMENT_TEAM = P63952MS7L; + DEVELOPMENT_TEAM = 2529YUQTU2; ENABLE_PREVIEWS = YES; INFOPLIST_FILE = OuviFalar/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = br.ufpe.academy.OuviFalar; + PRODUCT_BUNDLE_IDENTIFIER = br.ufpe.academy.OuviFalar2; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -532,14 +584,14 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 4; DEVELOPMENT_ASSET_PATHS = "\"OuviFalar/Preview Content\""; - DEVELOPMENT_TEAM = P63952MS7L; + DEVELOPMENT_TEAM = 2529YUQTU2; ENABLE_PREVIEWS = YES; INFOPLIST_FILE = OuviFalar/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = br.ufpe.academy.OuviFalar; + PRODUCT_BUNDLE_IDENTIFIER = br.ufpe.academy.OuviFalar2; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -552,14 +604,14 @@ CODE_SIGN_ENTITLEMENTS = SharedExtension/SharedExtension.entitlements; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 4; - DEVELOPMENT_TEAM = P63952MS7L; + DEVELOPMENT_TEAM = 2529YUQTU2; INFOPLIST_FILE = SharedExtension/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = br.ufpe.academy.OuviFalar.SharedExtension; + PRODUCT_BUNDLE_IDENTIFIER = br.ufpe.academy.OuviFalar2.SharedExtension; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; @@ -573,14 +625,14 @@ CODE_SIGN_ENTITLEMENTS = SharedExtension/SharedExtension.entitlements; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 4; - DEVELOPMENT_TEAM = P63952MS7L; + DEVELOPMENT_TEAM = 2529YUQTU2; INFOPLIST_FILE = SharedExtension/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = br.ufpe.academy.OuviFalar.SharedExtension; + PRODUCT_BUNDLE_IDENTIFIER = br.ufpe.academy.OuviFalar2.SharedExtension; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; diff --git a/OuviFalar.xcodeproj/project.xcworkspace/xcuserdata/pedromoura.xcuserdatad/UserInterfaceState.xcuserstate b/OuviFalar.xcodeproj/project.xcworkspace/xcuserdata/pedromoura.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..f9d141a Binary files /dev/null and b/OuviFalar.xcodeproj/project.xcworkspace/xcuserdata/pedromoura.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/OuviFalar.xcodeproj/xcuserdata/pedromoura.xcuserdatad/xcschemes/xcschememanagement.plist b/OuviFalar.xcodeproj/xcuserdata/pedromoura.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..e4b112b --- /dev/null +++ b/OuviFalar.xcodeproj/xcuserdata/pedromoura.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,47 @@ + + + + + SchemeUserState + + ClassifierPlayground (Playground) 1.xcscheme + + isShown + + orderHint + 2 + + ClassifierPlayground (Playground) 2.xcscheme + + isShown + + orderHint + 4 + + ClassifierPlayground (Playground) 3.xcscheme + + isShown + + orderHint + 5 + + ClassifierPlayground (Playground).xcscheme + + isShown + + orderHint + 3 + + OuviFalar.xcscheme_^#shared#^_ + + orderHint + 1 + + SharedExtension.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/OuviFalar/.DS_Store b/OuviFalar/.DS_Store index d5c6cba..e87ffaa 100644 Binary files a/OuviFalar/.DS_Store and b/OuviFalar/.DS_Store differ diff --git a/OuviFalar/Assets.xcassets/AccentColor.colorset/Contents.json b/OuviFalar/Assets/Assets.xcassets/AccentColor.colorset/Contents.json similarity index 100% rename from OuviFalar/Assets.xcassets/AccentColor.colorset/Contents.json rename to OuviFalar/Assets/Assets.xcassets/AccentColor.colorset/Contents.json diff --git a/OuviFalar/Assets.xcassets/AppIcon.appiconset/Contents.json b/OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from OuviFalar/Assets.xcassets/AppIcon.appiconset/Contents.json rename to OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-1024.png b/OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-1024.png similarity index 100% rename from OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-1024.png rename to OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-1024.png diff --git a/OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-20.png b/OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-20.png similarity index 100% rename from OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-20.png rename to OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-20.png diff --git a/OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-20@2x.png b/OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-20@2x.png similarity index 100% rename from OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-20@2x.png rename to OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-20@2x.png diff --git a/OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-20@3x.png b/OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-20@3x.png similarity index 100% rename from OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-20@3x.png rename to OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-20@3x.png diff --git a/OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-29.png b/OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-29.png similarity index 100% rename from OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-29.png rename to OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-29.png diff --git a/OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-29@2x.png b/OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-29@2x.png similarity index 100% rename from OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-29@2x.png rename to OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-29@2x.png diff --git a/OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-29@3x.png b/OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-29@3x.png similarity index 100% rename from OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-29@3x.png rename to OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-29@3x.png diff --git a/OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-40.png b/OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-40.png similarity index 100% rename from OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-40.png rename to OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-40.png diff --git a/OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-40@2x.png b/OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-40@2x.png similarity index 100% rename from OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-40@2x.png rename to OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-40@2x.png diff --git a/OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-40@3x.png b/OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-40@3x.png similarity index 100% rename from OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-40@3x.png rename to OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-40@3x.png diff --git a/OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-60@2x.png b/OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-60@2x.png similarity index 100% rename from OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-60@2x.png rename to OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-60@2x.png diff --git a/OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-60@3x.png b/OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-60@3x.png similarity index 100% rename from OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-60@3x.png rename to OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-60@3x.png diff --git a/OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-76.png b/OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-76.png similarity index 100% rename from OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-76.png rename to OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-76.png diff --git a/OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-76@2x.png b/OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-76@2x.png similarity index 100% rename from OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-76@2x.png rename to OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-76@2x.png diff --git a/OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-83.5@2x.png b/OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-83.5@2x.png similarity index 100% rename from OuviFalar/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-83.5@2x.png rename to OuviFalar/Assets/Assets.xcassets/AppIcon.appiconset/Group 37logoOFIC-83.5@2x.png diff --git a/OuviFalar/Assets.xcassets/Contents.json b/OuviFalar/Assets/Assets.xcassets/Contents.json similarity index 100% rename from OuviFalar/Assets.xcassets/Contents.json rename to OuviFalar/Assets/Assets.xcassets/Contents.json diff --git a/OuviFalar/Assets.xcassets/NegativeResult.imageset/Contents.json b/OuviFalar/Assets/Assets.xcassets/NegativeResult.imageset/Contents.json similarity index 100% rename from OuviFalar/Assets.xcassets/NegativeResult.imageset/Contents.json rename to OuviFalar/Assets/Assets.xcassets/NegativeResult.imageset/Contents.json diff --git a/OuviFalar/Assets.xcassets/NegativeResult.imageset/Frame-3.png b/OuviFalar/Assets/Assets.xcassets/NegativeResult.imageset/Frame-3.png similarity index 100% rename from OuviFalar/Assets.xcassets/NegativeResult.imageset/Frame-3.png rename to OuviFalar/Assets/Assets.xcassets/NegativeResult.imageset/Frame-3.png diff --git a/OuviFalar/Assets.xcassets/PositiveResult.imageset/Contents 2.json b/OuviFalar/Assets/Assets.xcassets/PositiveResult.imageset/Contents 2.json similarity index 100% rename from OuviFalar/Assets.xcassets/PositiveResult.imageset/Contents 2.json rename to OuviFalar/Assets/Assets.xcassets/PositiveResult.imageset/Contents 2.json diff --git a/OuviFalar/Assets.xcassets/PositiveResult.imageset/Contents.json b/OuviFalar/Assets/Assets.xcassets/PositiveResult.imageset/Contents.json similarity index 100% rename from OuviFalar/Assets.xcassets/PositiveResult.imageset/Contents.json rename to OuviFalar/Assets/Assets.xcassets/PositiveResult.imageset/Contents.json diff --git a/OuviFalar/Assets.xcassets/PositiveResult.imageset/Frame.png b/OuviFalar/Assets/Assets.xcassets/PositiveResult.imageset/Frame.png similarity index 100% rename from OuviFalar/Assets.xcassets/PositiveResult.imageset/Frame.png rename to OuviFalar/Assets/Assets.xcassets/PositiveResult.imageset/Frame.png diff --git a/OuviFalar/Base.lproj/LaunchScreen.storyboard b/OuviFalar/Assets/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from OuviFalar/Base.lproj/LaunchScreen.storyboard rename to OuviFalar/Assets/Base.lproj/LaunchScreen.storyboard diff --git a/OuviFalar/ClassifierPlayground.playground/Contents.swift b/OuviFalar/Assets/ClassifierPlayground.playground/Contents.swift similarity index 100% rename from OuviFalar/ClassifierPlayground.playground/Contents.swift rename to OuviFalar/Assets/ClassifierPlayground.playground/Contents.swift diff --git a/OuviFalar/ClassifierPlayground.playground/Resources/testing_tweets_tratados.json b/OuviFalar/Assets/ClassifierPlayground.playground/Resources/testing_tweets_tratados.json similarity index 100% rename from OuviFalar/ClassifierPlayground.playground/Resources/testing_tweets_tratados.json rename to OuviFalar/Assets/ClassifierPlayground.playground/Resources/testing_tweets_tratados.json diff --git a/OuviFalar/ClassifierPlayground.playground/Resources/tweets_tratados.json b/OuviFalar/Assets/ClassifierPlayground.playground/Resources/tweets_tratados.json similarity index 100% rename from OuviFalar/ClassifierPlayground.playground/Resources/tweets_tratados.json rename to OuviFalar/Assets/ClassifierPlayground.playground/Resources/tweets_tratados.json diff --git a/OuviFalar/ClassifierPlayground.playground/contents.xcplayground b/OuviFalar/Assets/ClassifierPlayground.playground/contents.xcplayground similarity index 100% rename from OuviFalar/ClassifierPlayground.playground/contents.xcplayground rename to OuviFalar/Assets/ClassifierPlayground.playground/contents.xcplayground diff --git a/OuviFalar/OuviFalar.xcdatamodeld/.xccurrentversion b/OuviFalar/Assets/OuviFalar.xcdatamodeld/.xccurrentversion similarity index 100% rename from OuviFalar/OuviFalar.xcdatamodeld/.xccurrentversion rename to OuviFalar/Assets/OuviFalar.xcdatamodeld/.xccurrentversion diff --git a/OuviFalar/OuviFalar.xcdatamodeld/OuviFalar.xcdatamodel/contents b/OuviFalar/Assets/OuviFalar.xcdatamodeld/OuviFalar.xcdatamodel/contents similarity index 100% rename from OuviFalar/OuviFalar.xcdatamodeld/OuviFalar.xcdatamodel/contents rename to OuviFalar/Assets/OuviFalar.xcdatamodeld/OuviFalar.xcdatamodel/contents diff --git a/OuviFalar/TweetDesinfoClassifier.mlmodel b/OuviFalar/Assets/TweetDesinfoClassifier.mlmodel similarity index 100% rename from OuviFalar/TweetDesinfoClassifier.mlmodel rename to OuviFalar/Assets/TweetDesinfoClassifier.mlmodel diff --git a/OuviFalar/TweetIntentClassifier.mlmodel b/OuviFalar/Assets/TweetIntentClassifier.mlmodel similarity index 100% rename from OuviFalar/TweetIntentClassifier.mlmodel rename to OuviFalar/Assets/TweetIntentClassifier.mlmodel diff --git a/OuviFalar/ContentView.swift b/OuviFalar/ContentView.swift deleted file mode 100644 index 1d3e0e9..0000000 --- a/OuviFalar/ContentView.swift +++ /dev/null @@ -1,21 +0,0 @@ -// -// ContentView.swift -// OuviFalar -// -// Created by Danilo Araújo on 04/12/20. -// - -import SwiftUI - -struct ContentView: View { - var body: some View { - Text("Hello, world!") - .padding() - } -} - -struct ContentView_Previews: PreviewProvider { - static var previews: some View { - ContentView() - } -} diff --git a/OuviFalar/AppDelegate.swift b/OuviFalar/Global/AppDelegate.swift similarity index 100% rename from OuviFalar/AppDelegate.swift rename to OuviFalar/Global/AppDelegate.swift diff --git a/OuviFalar/View+ResignKeyboard.swift b/OuviFalar/Global/Modifiers/View+ResignKeyboard.swift similarity index 100% rename from OuviFalar/View+ResignKeyboard.swift rename to OuviFalar/Global/Modifiers/View+ResignKeyboard.swift diff --git a/OuviFalar/SceneDelegate.swift b/OuviFalar/Global/SceneDelegate.swift similarity index 100% rename from OuviFalar/SceneDelegate.swift rename to OuviFalar/Global/SceneDelegate.swift diff --git a/OuviFalar/SearchingBank.swift b/OuviFalar/Global/SearchingBank.swift similarity index 99% rename from OuviFalar/SearchingBank.swift rename to OuviFalar/Global/SearchingBank.swift index 0409483..3e19d8f 100644 --- a/OuviFalar/SearchingBank.swift +++ b/OuviFalar/Global/SearchingBank.swift @@ -8,6 +8,7 @@ import Foundation import NaturalLanguage import SwiftUI + class SearchingBank: ObservableObject { @Published var searchItem: Search? @@ -15,11 +16,8 @@ class SearchingBank: ObservableObject { init(){ } - - - - } + enum Intent: String{ case favor case contra diff --git a/OuviFalar/Models/History.swift b/OuviFalar/Models/History.swift new file mode 100644 index 0000000..2c1307c --- /dev/null +++ b/OuviFalar/Models/History.swift @@ -0,0 +1,28 @@ +// +// History.swift +// OuviFalar +// +// Created by Pedro Moura on 02/03/21. +// + +import SwiftUI + +struct History { + var title: String = "" + var description: String = "" +} + +var history: [History] = [ + History( + title: "Cloroquina é recomendável para a Covid", + description: "- Acreditamos que esse tema tem grande potencial de ser fake news e por isso não recomendamos seu compartilhamento." + ), + History( + title: "Cloroquina pode causar infarto", + description: "- Não encontramos indícios claros de que se trata de uma Fake News, mas recomendamos que você avalie a fonte antes de compartilhá-la." + ), + History( + title: "Cloroquina é usada para Covid desde 2005", + description: "- Acreditamos que esse tema tem grande potencial de ser fake news e por isso não recomendamos seu compartilhamento." + ) +] diff --git a/OuviFalar/OuviFalar.entitlements b/OuviFalar/OuviFalar.entitlements index 8626419..2eb7e33 100644 --- a/OuviFalar/OuviFalar.entitlements +++ b/OuviFalar/OuviFalar.entitlements @@ -3,8 +3,6 @@ com.apple.security.application-groups - - group.br.ufpe.academy.OuviFalar - + diff --git a/OuviFalar/Views/SearchView/SearchView.swift b/OuviFalar/Views/SearchView/SearchView.swift index 65c436c..28ae466 100644 --- a/OuviFalar/Views/SearchView/SearchView.swift +++ b/OuviFalar/Views/SearchView/SearchView.swift @@ -10,128 +10,22 @@ import SwiftUI struct SearchView: View { @State var searchText: String = "" - - var category = ["Cloroquina", "Vacina", "Covid"] @State private var selectedCategory = 0 - @State private var isPickerShown: Bool = false - - struct Historico { - var title: String = "" - var description: String = "" - } - - var historico: [Historico] = [Historico(title: "Cloroquina é recomendável para a Covid", description: "- Acreditamos que esse tema tem grande potencial de ser fake news e por isso não recomendamos seu compartilhamento."), Historico(title: "Cloroquina pode causar infarto", description: "- Não encontramos indícios claros de que se trata de uma Fake News, mas recomendamos que você avalie a fonte antes de compartilhá-la."), Historico(title: "Cloroquina é usada para Covid desde 2005", description: "- Acreditamos que esse tema tem grande potencial de ser fake news e por isso não recomendamos seu compartilhamento.")] - + + var category = ["Cloroquina", "Vacina", "Covid"] + let textField = UITextView() - var body: some View { ZStack(alignment: .bottom){ VStack{ - - HStack(){ - Text("Selecione a categoria") - .font(.title3) - .fontWeight(.semibold) - - Spacer() - } - .padding() - Button(action:{ - isPickerShown = true - }){ - HStack{ - Spacer() - Text(category[selectedCategory]) - .padding() - .foregroundColor(.primary) - Spacer() - } - } - .background(Color(.systemGray6)) - .cornerRadius(10) - .padding(.horizontal) - - HStack(){ - Text("O que tu ouviu falar?") - .font(.title3) - .fontWeight(.semibold) - Spacer() - } - .padding([.leading, .top]) - - TextEditor(text: $searchText) - .cornerRadius(5) - .border(Color(.systemGray3)) - .padding(.horizontal) - - - NavigationLink(destination: WaitingRoomView(item: Search(text: searchText))){ - Text("Checar") - .padding() - .padding(.horizontal, 40) - .background(Color.primaryColor) - .foregroundColor(Color(.systemBackground)) - .cornerRadius(10) - .shadow(radius: 7) - } - .padding(.top) - .disabled(searchText.isEmpty) - HStack { - Text("Histórico") - .font(.headline) - Spacer() - } - - .padding([.top, .leading]) - - ScrollView(.horizontal) { - LazyHStack(spacing: 1) { - - ForEach(0..<(historico.count)){ index in - - VStack{ - HStack { - Text(historico[index].title) - .fontWeight(.bold) - .foregroundColor(.white) - .padding([.top, .leading, .trailing]) - Image(systemName: "xmark.circle") - .padding() - .foregroundColor(.red) - - Spacer() - } - - - Text(historico[index].description) - .padding([.leading, .bottom, .trailing]) - .padding(.top, 5) - .foregroundColor(Color(.systemGray6)) - - Spacer() - } - - .frame(maxWidth: 320) - .background(Color.primaryColor) - .cornerRadius(20) - .padding() - - } - } - } - - - } - .resingKeyboardOnTapGesture() - .blur(radius: isPickerShown ? 3.0 : 0) - .disabled(isPickerShown) - .onTapGesture { - if isPickerShown{ - isPickerShown = false - } + SelectCategory(isPickerShown: $isPickerShown, selectedCategory: $selectedCategory, category: category) + Spacer() + SearchBox(searchText: $searchText) + .padding(.bottom) } + .modifier(MainModifier(isPickerShown: $isPickerShown)) VStack{ Picker(selection: $selectedCategory, label: Text("Selecione a categoria: ")) { @@ -139,23 +33,11 @@ struct SearchView: View { Text(self.category[$0]) } } - .pickerStyle(WheelPickerStyle()) - .padding() + .modifier(PickerModifier()) } - .background(Color(.systemGray6)) - .offset(y: isPickerShown ? 0 : UIScreen.main.bounds.height) - .animation(.spring()) - - - } - .navigationTitle("Pesquisa") - .navigationBarHidden(false) - .onAppear{ -// let userDefaults = UserDefaults(suiteName: "group.br.ufpe.academy.OuviFalar") -// if let text = userDefaults?.string(forKey: "start-text-key"){ -// searchText = text -// } + .modifier(PickerStackModifier(isPickerShown: $isPickerShown)) } + .modifier(NavigationViewModifier()) } } @@ -169,6 +51,118 @@ struct WaitingView: View { } } +struct SearchBox: View { + @Binding var searchText: String + var body: some View { + HStack(){ + Text("O que tu ouviu falar?") + .font(.title3) + .fontWeight(.semibold) + Spacer() + } + .padding([.leading, .top]) + + TextEditor(text: $searchText) + .cornerRadius(5) + .border(Color(.systemGray3)) + .padding(.horizontal) + .frame(height: 300) + + NavigationLink(destination: WaitingRoomView(item: Search(text: searchText))){ + Text("Checar") + .padding() + .padding(.horizontal, 40) + .background(Color.primaryColor) + .foregroundColor(Color(.systemBackground)) + .cornerRadius(10) + .shadow(radius: 7) + } + .padding(.top) + .disabled(searchText.isEmpty) + Spacer() + } +} + +struct SelectCategory: View { + @Binding var isPickerShown: Bool + @Binding var selectedCategory: Int + var category: [String] + var body: some View { + HStack(){ + Text("Selecione a categoria") + .font(.title3) + .fontWeight(.semibold) + + Spacer() + } + .padding() + + Button(action:{ + isPickerShown = true + }){ + HStack{ + Spacer() + Text(category[selectedCategory]) + .padding() + .foregroundColor(.primary) + Spacer() + } + } + .background(Color(.systemGray6)) + .cornerRadius(10) + .padding(.horizontal) + .shadow(color: .gray, radius: 3, x: 0, y: 2) + } +} + +//struct History: View { +// var body: some View { +// HStack { +// Text("Histórico") +// .font(.headline) +// Spacer() +// } +// +// .padding([.top, .leading]) +// +// ScrollView(.horizontal) { +// LazyHStack(spacing: 1) { +// +// ForEach(0..<(historico.count)){ index in +// +// VStack{ +// HStack { +// Text(historico[index].title) +// .fontWeight(.bold) +// .foregroundColor(.white) +// .padding([.top, .leading, .trailing]) +// Image(systemName: "xmark.circle") +// .padding() +// .foregroundColor(.red) +// +// Spacer() +// } +// +// +// Text(historico[index].description) +// .padding([.leading, .bottom, .trailing]) +// .padding(.top, 5) +// .foregroundColor(Color(.systemGray6)) +// +// Spacer() +// } +// +// .frame(maxWidth: 320) +// .background(Color.primaryColor) +// .cornerRadius(20) +// .padding() +// +// } +// } +// } +// } +//} + struct SearchView_Previews: PreviewProvider { static var previews: some View { NavigationView{ diff --git a/OuviFalar/Views/SearchView/ViewModifiers/MainModifier.swift b/OuviFalar/Views/SearchView/ViewModifiers/MainModifier.swift new file mode 100644 index 0000000..6cc3067 --- /dev/null +++ b/OuviFalar/Views/SearchView/ViewModifiers/MainModifier.swift @@ -0,0 +1,23 @@ +// +// MainModifier.swift +// OuviFalar +// +// Created by Pedro Moura on 02/03/21. +// + +import SwiftUI + +struct MainModifier: ViewModifier { + @Binding var isPickerShown: Bool + func body(content: Content) -> some View { + content + .resingKeyboardOnTapGesture() + .blur(radius: isPickerShown ? 3.0 : 0) + .disabled(isPickerShown) + .onTapGesture { + if isPickerShown{ + isPickerShown = false + } + } + } +} diff --git a/OuviFalar/Views/SearchView/ViewModifiers/NavigationViewModifier.swift b/OuviFalar/Views/SearchView/ViewModifiers/NavigationViewModifier.swift new file mode 100644 index 0000000..370ddbf --- /dev/null +++ b/OuviFalar/Views/SearchView/ViewModifiers/NavigationViewModifier.swift @@ -0,0 +1,22 @@ +// +// NavigationViewModifier.swift +// OuviFalar +// +// Created by Pedro Moura on 02/03/21. +// + +import SwiftUI + +struct NavigationViewModifier: ViewModifier { + func body(content: Content) -> some View { + content + .navigationTitle("Pesquisa") + .navigationBarHidden(false) + .onAppear{ + // let userDefaults = UserDefaults(suiteName: "group.br.ufpe.academy.OuviFalar") + // if let text = userDefaults?.string(forKey: "start-text-key"){ + // searchText = text + // } + } + } +} diff --git a/OuviFalar/Views/SearchView/ViewModifiers/PickerModifier.swift b/OuviFalar/Views/SearchView/ViewModifiers/PickerModifier.swift new file mode 100644 index 0000000..4d63df3 --- /dev/null +++ b/OuviFalar/Views/SearchView/ViewModifiers/PickerModifier.swift @@ -0,0 +1,26 @@ +// +// PickerModifier.swift +// OuviFalar +// +// Created by Pedro Moura on 02/03/21. +// + +import SwiftUI + +struct PickerModifier: ViewModifier { + func body(content: Content) -> some View { + content + .pickerStyle(WheelPickerStyle()) + .padding() + } +} + +struct PickerStackModifier: ViewModifier { + @Binding var isPickerShown: Bool + func body(content: Content) -> some View { + content + .background(Color(.systemGray6)) + .offset(y: isPickerShown ? 0 : UIScreen.main.bounds.height) + .animation(.spring()) + } +} diff --git a/SharedExtension/ShareViewController.swift b/SharedExtension/ShareViewController.swift index c19078f..8bac4f4 100644 --- a/SharedExtension/ShareViewController.swift +++ b/SharedExtension/ShareViewController.swift @@ -42,7 +42,7 @@ class ShareViewController: UIViewController, ShareViewDelegate { } private func save(_ value: Any, key: String) { - let userDefaults = UserDefaults(suiteName: "group.br.ufpe.academy.OuviFalar") + let userDefaults = UserDefaults(suiteName: "group.br.ufpe.academy.OuviFalar2") userDefaults!.set(value, forKey: key) print(userDefaults?.string(forKey: key) as Any) searchItem = Search(text: (userDefaults?.string(forKey: key))!, delegate: self) @@ -52,13 +52,12 @@ class ShareViewController: UIViewController, ShareViewDelegate { waitingRoomView.view.translatesAutoresizingMaskIntoConstraints = false self.view.addSubview(waitingRoomView.view) - let constraints = [ waitingRoomView.view.topAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.topAnchor, constant: 0), waitingRoomView.view.centerXAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.centerXAnchor, constant: 0), waitingRoomView.view.leadingAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.leadingAnchor, constant: 0), waitingRoomView.view.trailingAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.trailingAnchor, constant: 0), - waitingRoomView.view.bottomAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.bottomAnchor, constant: 0) + waitingRoomView.view.bottomAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.bottomAnchor, constant: 0), ] NSLayoutConstraint.activate(constraints) } diff --git a/SharedExtension/SharedExtension.entitlements b/SharedExtension/SharedExtension.entitlements index 8626419..2eb7e33 100644 --- a/SharedExtension/SharedExtension.entitlements +++ b/SharedExtension/SharedExtension.entitlements @@ -3,8 +3,6 @@ com.apple.security.application-groups - - group.br.ufpe.academy.OuviFalar - +