diff --git a/Shared/Config/xcconfig/Project-Shared.xcconfig b/Shared/Config/xcconfig/Project-Shared.xcconfig index bf14418..84d9035 100644 --- a/Shared/Config/xcconfig/Project-Shared.xcconfig +++ b/Shared/Config/xcconfig/Project-Shared.xcconfig @@ -5,7 +5,7 @@ // https://buildsettingextractor.com // -MARKETING_VERSION = 3.0.0 +MARKETING_VERSION = 3.1.0 ALWAYS_SEARCH_USER_PATHS = NO CLANG_ANALYZER_NONNULL = YES @@ -46,6 +46,6 @@ GCC_WARN_UNDECLARED_SELECTOR = YES GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE GCC_WARN_UNUSED_FUNCTION = YES GCC_WARN_UNUSED_VARIABLE = YES -IPHONEOS_DEPLOYMENT_TARGET = 16.4 +IPHONEOS_DEPLOYMENT_TARGET = 17.0 MTL_FAST_MATH = YES SDKROOT = iphoneos diff --git a/Shared/Config/xcconfig/SwiftIslandApp/SwiftIslandApp-Shared.xcconfig b/Shared/Config/xcconfig/SwiftIslandApp/SwiftIslandApp-Shared.xcconfig index 356871f..3252ab1 100644 --- a/Shared/Config/xcconfig/SwiftIslandApp/SwiftIslandApp-Shared.xcconfig +++ b/Shared/Config/xcconfig/SwiftIslandApp/SwiftIslandApp-Shared.xcconfig @@ -25,7 +25,7 @@ INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES INFOPLIST_KEY_UILaunchScreen_Generation = YES INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown -IPHONEOS_DEPLOYMENT_TARGET = 16.4 +IPHONEOS_DEPLOYMENT_TARGET = 17.0 LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks PRODUCT_BUNDLE_IDENTIFIER = nl.swiftisland.app PRODUCT_NAME = Swift Island diff --git a/Shared/Config/xcconfig/SwiftIslandAppTests/SwiftIslandAppTests-Shared.xcconfig b/Shared/Config/xcconfig/SwiftIslandAppTests/SwiftIslandAppTests-Shared.xcconfig index a4da407..8c003db 100644 --- a/Shared/Config/xcconfig/SwiftIslandAppTests/SwiftIslandAppTests-Shared.xcconfig +++ b/Shared/Config/xcconfig/SwiftIslandAppTests/SwiftIslandAppTests-Shared.xcconfig @@ -11,7 +11,7 @@ CODE_SIGN_STYLE = Automatic CURRENT_PROJECT_VERSION = 1 DEVELOPMENT_TEAM = V38QRBT6X5 GENERATE_INFOPLIST_FILE = YES -IPHONEOS_DEPLOYMENT_TARGET = 16.4 +IPHONEOS_DEPLOYMENT_TARGET = 17.0 PRODUCT_BUNDLE_IDENTIFIER = se.apptrix.SwiftIslandTests PRODUCT_NAME = $(TARGET_NAME) SWIFT_EMIT_LOC_STRINGS = NO diff --git a/SwiftIslandApp.xcodeproj/project.pbxproj b/SwiftIslandApp.xcodeproj/project.pbxproj index fd86d0e..dcf393b 100644 --- a/SwiftIslandApp.xcodeproj/project.pbxproj +++ b/SwiftIslandApp.xcodeproj/project.pbxproj @@ -1115,7 +1115,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 16.4; + IPHONEOS_DEPLOYMENT_TARGET = 17.0; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; @@ -1172,7 +1172,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 16.4; + IPHONEOS_DEPLOYMENT_TARGET = 17.0; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; SDKROOT = iphoneos; @@ -1207,7 +1207,7 @@ INFOPLIST_KEY_UILaunchScreen_Generation = YES; INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; - IPHONEOS_DEPLOYMENT_TARGET = 16.4; + IPHONEOS_DEPLOYMENT_TARGET = 17.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1250,7 +1250,7 @@ INFOPLIST_KEY_UILaunchScreen_Generation = YES; INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; - IPHONEOS_DEPLOYMENT_TARGET = 16.4; + IPHONEOS_DEPLOYMENT_TARGET = 17.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1278,7 +1278,7 @@ CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = V38QRBT6X5; GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 16.4; + IPHONEOS_DEPLOYMENT_TARGET = 17.0; MARKETING_VERSION = "${MARKETING_VERSION}"; PRODUCT_BUNDLE_IDENTIFIER = se.apptrix.SwiftIslandTests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1299,7 +1299,7 @@ CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = V38QRBT6X5; GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 16.4; + IPHONEOS_DEPLOYMENT_TARGET = 17.0; MARKETING_VERSION = "${MARKETING_VERSION}"; PRODUCT_BUNDLE_IDENTIFIER = se.apptrix.SwiftIslandTests; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/SwiftIslandApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/SwiftIslandApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 1ce9294..6be020f 100644 --- a/SwiftIslandApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/SwiftIslandApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -23,8 +23,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/google/app-check.git", "state" : { - "revision" : "076b241a625e25eac22f8849be256dfb960fcdfe", - "version" : "10.19.1" + "revision" : "3b62f154d00019ae29a71e9738800bb6f18b236d", + "version" : "10.19.2" } }, { @@ -59,8 +59,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/firebase-ios-sdk.git", "state" : { - "revision" : "9d17b500cd98d9a7009751ad62f802e152e97021", - "version" : "10.26.0" + "revision" : "eca84fd638116dd6adb633b5a3f31cc7befcbb7d", + "version" : "10.29.0" } }, { @@ -68,8 +68,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleAppMeasurement.git", "state" : { - "revision" : "16244d177c4e989f87b25e9db1012b382cfedc55", - "version" : "10.25.0" + "revision" : "fe727587518729046fc1465625b9afd80b5ab361", + "version" : "10.28.0" } }, { @@ -104,8 +104,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/google/gtm-session-fetcher.git", "state" : { - "revision" : "0382ca27f22fb3494cf657d8dc356dc282cd1193", - "version" : "3.4.1" + "revision" : "a2ab612cb980066ee56d90d60d8462992c07f24b", + "version" : "3.5.0" } }, { @@ -158,8 +158,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-argument-parser.git", "state" : { - "revision" : "0fbc8848e389af3bb55c182bc19ca9d5dc2f255b", - "version" : "1.4.0" + "revision" : "41982a3656a71c768319979febd796c6fd111d5c", + "version" : "1.5.0" } }, { @@ -167,8 +167,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-protobuf.git", "state" : { - "revision" : "9f0c76544701845ad98716f3f6a774a892152bcb", - "version" : "1.26.0" + "revision" : "d57a5aecf24a25b32ec4a74be2f5d0a995a47c4b", + "version" : "1.27.0" } }, { @@ -212,8 +212,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/jpsim/Yams.git", "state" : { - "revision" : "9234124cff5e22e178988c18d8b95a8ae8007f76", - "version" : "5.1.2" + "revision" : "3036ba9d69cf1fd04d433527bc339dc0dc75433d", + "version" : "5.1.3" } } ], diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/AndreyVolodin.imageset/IMG_0353.jpg b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/AndreyVolodin.imageset/IMG_0353.jpg deleted file mode 100644 index 66b244e..0000000 Binary files a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/AndreyVolodin.imageset/IMG_0353.jpg and /dev/null differ diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/JordiBruin.imageset/1685451387216.jpg b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/JordiBruin.imageset/1685451387216.jpg deleted file mode 100644 index 52047e7..0000000 Binary files a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/JordiBruin.imageset/1685451387216.jpg and /dev/null differ diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/MaximCramer.imageset/maxim_.jpg b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/MaximCramer.imageset/maxim_.jpg deleted file mode 100644 index 62654ac..0000000 Binary files a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/MaximCramer.imageset/maxim_.jpg and /dev/null differ diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/NataliyaMarmelstein.imageset/image1.jpg b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/NataliyaMarmelstein.imageset/image1.jpg deleted file mode 100644 index a2bff27..0000000 Binary files a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/NataliyaMarmelstein.imageset/image1.jpg and /dev/null differ diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/SofiaLarsson.imageset/Contents.json b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/SofiaLarsson.imageset/Contents.json deleted file mode 100644 index fe899b2..0000000 --- a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/SofiaLarsson.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "Social Profile Image.jpg", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/SofiaLarsson.imageset/Social Profile Image.jpg b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/SofiaLarsson.imageset/Social Profile Image.jpg deleted file mode 100644 index 978b778..0000000 Binary files a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/SofiaLarsson.imageset/Social Profile Image.jpg and /dev/null differ diff --git "a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/Sof\303\255aSwidarowicz.imageset/Contents.json" "b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/Sof\303\255aSwidarowicz.imageset/Contents.json" deleted file mode 100644 index ac48a0e..0000000 --- "a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/Sof\303\255aSwidarowicz.imageset/Contents.json" +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "sofia-sw-1.jpg", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git "a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/Sof\303\255aSwidarowicz.imageset/sofia-sw-1.jpg" "b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/Sof\303\255aSwidarowicz.imageset/sofia-sw-1.jpg" deleted file mode 100644 index f1cb26e..0000000 Binary files "a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/Sof\303\255aSwidarowicz.imageset/sofia-sw-1.jpg" and /dev/null differ diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/TomLokhorst.imageset/Tom-1.jpg b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/TomLokhorst.imageset/Tom-1.jpg deleted file mode 100644 index d38f6c3..0000000 Binary files a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/TomLokhorst.imageset/Tom-1.jpg and /dev/null differ diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/VincentPradeilles.imageset/Contents.json b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/VincentPradeilles.imageset/Contents.json deleted file mode 100644 index ea4fc1c..0000000 --- a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/VincentPradeilles.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "output copie.jpg", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/VincentPradeilles.imageset/output copie.jpg b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/VincentPradeilles.imageset/output copie.jpg deleted file mode 100644 index 211f7ac..0000000 Binary files a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/VincentPradeilles.imageset/output copie.jpg and /dev/null differ diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-audrey-2024.imageset/Contents.json b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-audrey-2024.imageset/Contents.json new file mode 100644 index 0000000..0b33bd5 --- /dev/null +++ b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-audrey-2024.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "speaker-audrey-2024.jpg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-audrey-2024.imageset/speaker-audrey-2024.jpg b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-audrey-2024.imageset/speaker-audrey-2024.jpg new file mode 100644 index 0000000..12ec0de Binary files /dev/null and b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-audrey-2024.imageset/speaker-audrey-2024.jpg differ diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-aviel-2024.imageset/Contents.json b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-aviel-2024.imageset/Contents.json new file mode 100644 index 0000000..9e09e57 --- /dev/null +++ b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-aviel-2024.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "speaker-aviel-2024.jpeg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-aviel-2024.imageset/speaker-aviel-2024.jpeg b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-aviel-2024.imageset/speaker-aviel-2024.jpeg new file mode 100644 index 0000000..1f22c6e Binary files /dev/null and b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-aviel-2024.imageset/speaker-aviel-2024.jpeg differ diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-francine-2024.imageset/Contents.json b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-francine-2024.imageset/Contents.json new file mode 100644 index 0000000..665b160 --- /dev/null +++ b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-francine-2024.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "speaker-francine-2024.jpg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-francine-2024.imageset/speaker-francine-2024.jpg b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-francine-2024.imageset/speaker-francine-2024.jpg new file mode 100644 index 0000000..fe88cb4 Binary files /dev/null and b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-francine-2024.imageset/speaker-francine-2024.jpg differ diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-jolanda-2024.imageset/Contents.json b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-jolanda-2024.imageset/Contents.json new file mode 100644 index 0000000..234d3ce --- /dev/null +++ b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-jolanda-2024.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "speaker-jolanda-2024.jpg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-jolanda-2024.imageset/speaker-jolanda-2024.jpg b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-jolanda-2024.imageset/speaker-jolanda-2024.jpg new file mode 100644 index 0000000..2d83419 Binary files /dev/null and b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-jolanda-2024.imageset/speaker-jolanda-2024.jpg differ diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/NataliyaMarmelstein.imageset/Contents.json b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-malin-2024.imageset/Contents.json similarity index 73% rename from SwiftIslandApp/Assets.xcassets/Conference/Mentors/NataliyaMarmelstein.imageset/Contents.json rename to SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-malin-2024.imageset/Contents.json index e15bb67..bc97324 100644 --- a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/NataliyaMarmelstein.imageset/Contents.json +++ b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-malin-2024.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "image1.jpg", + "filename" : "speaker-malin-2024.jpg", "idiom" : "universal" } ], diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-malin-2024.imageset/speaker-malin-2024.jpg b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-malin-2024.imageset/speaker-malin-2024.jpg new file mode 100644 index 0000000..7149a06 Binary files /dev/null and b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-malin-2024.imageset/speaker-malin-2024.jpg differ diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/AndreyVolodin.imageset/Contents.json b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-manu-2024.imageset/Contents.json similarity index 73% rename from SwiftIslandApp/Assets.xcassets/Conference/Mentors/AndreyVolodin.imageset/Contents.json rename to SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-manu-2024.imageset/Contents.json index b0b1e9c..fa03376 100644 --- a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/AndreyVolodin.imageset/Contents.json +++ b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-manu-2024.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "IMG_0353.jpg", + "filename" : "speaker-manu-2024.png", "idiom" : "universal" } ], diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-manu-2024.imageset/speaker-manu-2024.png b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-manu-2024.imageset/speaker-manu-2024.png new file mode 100644 index 0000000..b577da5 Binary files /dev/null and b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-manu-2024.imageset/speaker-manu-2024.png differ diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-mikaela-2024.imageset/Contents.json b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-mikaela-2024.imageset/Contents.json new file mode 100644 index 0000000..da9f444 --- /dev/null +++ b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-mikaela-2024.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "speaker-mikaela-2024.jpg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-mikaela-2024.imageset/speaker-mikaela-2024.jpg b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-mikaela-2024.imageset/speaker-mikaela-2024.jpg new file mode 100644 index 0000000..30837b0 Binary files /dev/null and b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-mikaela-2024.imageset/speaker-mikaela-2024.jpg differ diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/JordiBruin.imageset/Contents.json b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-nizar-2024.imageset/Contents.json similarity index 73% rename from SwiftIslandApp/Assets.xcassets/Conference/Mentors/JordiBruin.imageset/Contents.json rename to SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-nizar-2024.imageset/Contents.json index 4fd3954..e2c4085 100644 --- a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/JordiBruin.imageset/Contents.json +++ b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-nizar-2024.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "1685451387216.jpg", + "filename" : "speaker-nizar-2024.jpg", "idiom" : "universal" } ], diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-nizar-2024.imageset/speaker-nizar-2024.jpg b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-nizar-2024.imageset/speaker-nizar-2024.jpg new file mode 100644 index 0000000..4ce4b63 Binary files /dev/null and b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-nizar-2024.imageset/speaker-nizar-2024.jpg differ diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/MaximCramer.imageset/Contents.json b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-paul-2024.imageset/Contents.json similarity index 73% rename from SwiftIslandApp/Assets.xcassets/Conference/Mentors/MaximCramer.imageset/Contents.json rename to SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-paul-2024.imageset/Contents.json index 9cb6c4f..4177213 100644 --- a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/MaximCramer.imageset/Contents.json +++ b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-paul-2024.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "maxim_.jpg", + "filename" : "speaker-paul-2024.jpg", "idiom" : "universal" } ], diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-paul-2024.imageset/speaker-paul-2024.jpg b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-paul-2024.imageset/speaker-paul-2024.jpg new file mode 100644 index 0000000..a517f90 Binary files /dev/null and b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-paul-2024.imageset/speaker-paul-2024.jpg differ diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-zeyad-2024.imageset/Contents.json b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-zeyad-2024.imageset/Contents.json new file mode 100644 index 0000000..f7e022e --- /dev/null +++ b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-zeyad-2024.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "speaker-zeyad-2024.jpg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-zeyad-2024.imageset/speaker-zeyad-2024.jpg b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-zeyad-2024.imageset/speaker-zeyad-2024.jpg new file mode 100644 index 0000000..9d6d912 Binary files /dev/null and b/SwiftIslandApp/Assets.xcassets/Conference/Mentors/speaker-zeyad-2024.imageset/speaker-zeyad-2024.jpg differ diff --git a/SwiftIslandApp/Assets.xcassets/Social/Contents.json b/SwiftIslandApp/Assets.xcassets/Social/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/SwiftIslandApp/Assets.xcassets/Social/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SwiftIslandApp/Assets.xcassets/Social/X.symbolset/Contents.json b/SwiftIslandApp/Assets.xcassets/Social/X.symbolset/Contents.json new file mode 100644 index 0000000..69c0499 --- /dev/null +++ b/SwiftIslandApp/Assets.xcassets/Social/X.symbolset/Contents.json @@ -0,0 +1,12 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + }, + "symbols" : [ + { + "filename" : "X Social Network.svg", + "idiom" : "universal" + } + ] +} diff --git a/SwiftIslandApp/Assets.xcassets/Social/X.symbolset/X Social Network.svg b/SwiftIslandApp/Assets.xcassets/Social/X.symbolset/X Social Network.svg new file mode 100644 index 0000000..79d4422 --- /dev/null +++ b/SwiftIslandApp/Assets.xcassets/Social/X.symbolset/X Social Network.svg @@ -0,0 +1,90 @@ + + + + + + + Weight/Scale Variations + Ultralight + Thin + Light + Regular + Medium + Semibold + Bold + Heavy + Black + + + + + + + + + + + Design Variations + Symbols are supported in up to nine weights and three scales. + For optimal layout with text and other symbols, vertically align + symbols with the adjacent text. + + + + + + Margins + Leading and trailing margins on the left and right side of each symbol + can be adjusted by modifying the x-location of the margin guidelines. + Modifications are automatically applied proportionally to all + scales and weights. + + + + Exporting + Symbols should be outlined when exporting to ensure the + design is preserved when submitting to Xcode. + Template v.5.0 + Requires Xcode 15 or greater + Generated from X Social Network + Typeset at 100.0 points + Small + Medium + Large + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/TomLokhorst.imageset/Contents.json b/SwiftIslandApp/Assets.xcassets/Social/linkedin.symbolset/Contents.json similarity index 62% rename from SwiftIslandApp/Assets.xcassets/Conference/Mentors/TomLokhorst.imageset/Contents.json rename to SwiftIslandApp/Assets.xcassets/Social/linkedin.symbolset/Contents.json index a081c15..ef8dc17 100644 --- a/SwiftIslandApp/Assets.xcassets/Conference/Mentors/TomLokhorst.imageset/Contents.json +++ b/SwiftIslandApp/Assets.xcassets/Social/linkedin.symbolset/Contents.json @@ -1,12 +1,12 @@ { - "images" : [ - { - "filename" : "Tom-1.jpg", - "idiom" : "universal" - } - ], "info" : { "author" : "xcode", "version" : 1 - } + }, + "symbols" : [ + { + "filename" : "linkedin.svg", + "idiom" : "universal" + } + ] } diff --git a/SwiftIslandApp/Assets.xcassets/Social/linkedin.symbolset/linkedin.svg b/SwiftIslandApp/Assets.xcassets/Social/linkedin.symbolset/linkedin.svg new file mode 100644 index 0000000..860c395 --- /dev/null +++ b/SwiftIslandApp/Assets.xcassets/Social/linkedin.symbolset/linkedin.svg @@ -0,0 +1,108 @@ + + + + + + + + + + Weight/Scale Variations + Ultralight + Thin + Light + Regular + Medium + Semibold + Bold + Heavy + Black + + + + + + + + + + + Design Variations + Symbols are supported in up to nine weights and three scales. + For optimal layout with text and other symbols, vertically align + symbols with the adjacent text. + + + + + + Margins + Leading and trailing margins on the left and right side of each symbol + can be adjusted by modifying the x-location of the margin guidelines. + Modifications are automatically applied proportionally to all + scales and weights. + + + + Exporting + Symbols should be outlined when exporting to ensure the + design is preserved when submitting to Xcode. + Template v.4.0 + Requires Xcode 14 or greater + Generated from linkedin + Typeset at 100 points + Small + Medium + Large + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SwiftIslandApp/Assets.xcassets/Social/mastodon.symbolset/Contents.json b/SwiftIslandApp/Assets.xcassets/Social/mastodon.symbolset/Contents.json new file mode 100644 index 0000000..d674f08 --- /dev/null +++ b/SwiftIslandApp/Assets.xcassets/Social/mastodon.symbolset/Contents.json @@ -0,0 +1,12 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + }, + "symbols" : [ + { + "filename" : "mastodon.clean.fill.svg", + "idiom" : "universal" + } + ] +} diff --git a/SwiftIslandApp/Assets.xcassets/Social/mastodon.symbolset/mastodon.clean.fill.svg b/SwiftIslandApp/Assets.xcassets/Social/mastodon.symbolset/mastodon.clean.fill.svg new file mode 100644 index 0000000..0f214e4 --- /dev/null +++ b/SwiftIslandApp/Assets.xcassets/Social/mastodon.symbolset/mastodon.clean.fill.svg @@ -0,0 +1,200 @@ + + + + + + + + + + Weight/Scale Variations + Ultralight + Thin + Light + Regular + Medium + Semibold + Bold + Heavy + Black + + + + + + + + + + + Design Variations + Symbols are supported in up to nine weights and three scales. + For optimal layout with text and other symbols, vertically align + symbols with the adjacent text. + + + + + + Margins + Leading and trailing margins on the left and right side of each symbol + can be adjusted by modifying the x-location of the margin guidelines. + Modifications are automatically applied proportionally to all + scales and weights. + + + + Exporting + Symbols should be outlined when exporting to ensure the + design is preserved when submitting to Xcode. + Template v.4.0 + Requires Xcode 14 or greater + Generated from mastodon.clean.fill + Typeset at 100 points + Small + Medium + Large + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SwiftIslandApp/Pages/Conference/Boxes/ConferenceBoxWeather.swift b/SwiftIslandApp/Pages/Conference/Boxes/ConferenceBoxWeather.swift index 3417239..8ec2f75 100644 --- a/SwiftIslandApp/Pages/Conference/Boxes/ConferenceBoxWeather.swift +++ b/SwiftIslandApp/Pages/Conference/Boxes/ConferenceBoxWeather.swift @@ -15,6 +15,10 @@ struct ConferenceBoxWeather: View { private let measureFormatter: MeasurementFormatter = { let formatter = MeasurementFormatter() formatter.unitStyle = .medium + + let numberFormatter = NumberFormatter() + numberFormatter.generatesDecimalNumbers = false + formatter.numberFormatter = numberFormatter return formatter }() diff --git a/SwiftIslandApp/Pages/Conference/ConferencePageContentView.swift b/SwiftIslandApp/Pages/Conference/ConferencePageContentView.swift index 91c87e8..0d6205e 100644 --- a/SwiftIslandApp/Pages/Conference/ConferencePageContentView.swift +++ b/SwiftIslandApp/Pages/Conference/ConferencePageContentView.swift @@ -29,12 +29,12 @@ struct ConferencePageContentView: View { ConferenceBoxTicket() .padding(.vertical, 6) -// ConferenceBoxMentors( -// namespace: namespace, -// geo: geo, -// isShowingMentor: $isShowingMentor, -// mayShowMentorNextMentor: $mayShowMentorNextMentor, -// selectedMentor: $selectedMentor) + ConferenceBoxMentors( + namespace: namespace, + geo: geo, + isShowingMentor: $isShowingMentor, + mayShowMentorNextMentor: $mayShowMentorNextMentor, + selectedMentor: $selectedMentor) ConferenceBoxWeather() @@ -52,12 +52,12 @@ struct ConferencePageContentView: View { ProgressView() } -// ConferenceBoxMentors( -// namespace: namespace, -// geo: geo, -// isShowingMentor: $isShowingMentor, -// mayShowMentorNextMentor: $mayShowMentorNextMentor, -// selectedMentor: $selectedMentor) + ConferenceBoxMentors( + namespace: namespace, + geo: geo, + isShowingMentor: $isShowingMentor, + mayShowMentorNextMentor: $mayShowMentorNextMentor, + selectedMentor: $selectedMentor) ConferenceBoxWeather() } diff --git a/SwiftIslandApp/Pages/Conference/Mentors/MentorView.swift b/SwiftIslandApp/Pages/Conference/Mentors/MentorView.swift index 567db19..1492195 100644 --- a/SwiftIslandApp/Pages/Conference/Mentors/MentorView.swift +++ b/SwiftIslandApp/Pages/Conference/Mentors/MentorView.swift @@ -32,7 +32,7 @@ struct MentorView: View { .border(Color(.sRGB, red: 150 / 255, green: 150 / 255, blue: 150 / 255, opacity: 0.1), width: isShowContent ? 0 : 1) .cornerRadius(15) .overlay( - MentorExcerptView(namespace: namespace, headline: "\(mentor.name)", isShowContent: $isShowContent) + MentorExcerptView(namespace: namespace, mentor: mentor, isShowContent: $isShowContent) .cornerRadius(isShowContent ? 0 : 15) .offset(CGSize(width: 0, height: !isShowContent ? 10 : 0)) .matchedGeometryEffect(id: "\(mentor.id)-mentorExcerptView", in: namespace) @@ -84,26 +84,42 @@ struct MentorView: View { } } -struct MentorView_Previews: PreviewProvider { - @Namespace static var namespace +extension URL: Identifiable { + public var id: String { + absoluteString + } +} - static var previews: some View { - let mentor = Mentor.forPreview() +#Preview("No content") { + @Namespace var namespace + let mentor = Mentor.forPreview() - Group { - MentorView(namespace: namespace, mentor: mentor, isShowContent: .constant(false)) - .previewDisplayName("No content") - MentorView(namespace: namespace, mentor: mentor, isShowContent: .constant(true)) - .coordinateSpace(name: "Show content") - } + return MentorView(namespace: namespace, mentor: mentor, isShowContent: .constant(false)) + .previewDisplayName("No content") + + return Group { + + MentorView(namespace: namespace, mentor: mentor, isShowContent: .constant(true)) + .coordinateSpace(name: "Show content") + .ignoresSafeArea() } } +#Preview("Show content") { + @Namespace var namespace + let mentor = Mentor.forPreview() + + return MentorView(namespace: namespace, mentor: mentor, isShowContent: .constant(true)) + .coordinateSpace(name: "Show content") + .ignoresSafeArea() +} + struct MentorExcerptView: View { var namespace: Namespace.ID - let headline: String + let mentor: Mentor @Binding var isShowContent: Bool + @State private var showUrl: URL? var body: some View { VStack(alignment: .leading) { @@ -114,23 +130,66 @@ struct MentorExcerptView: View { .background(isShowContent ? Color.background : .clear) .overlay( HStack { - VStack(alignment: .leading) { - Text(headline) - .font(.title2) - .fontWeight(isShowContent ? .bold : .light) - .foregroundColor(.primary) - .minimumScaleFactor(0.1) - .lineLimit(2) - .padding(.bottom, isShowContent ? 5 : 0) - .matchedGeometryEffect(id: "\(headline)-headline", in: namespace) - } - .padding(.horizontal) - .padding(.bottom) - + Text(mentor.name) + .font(.title2) + .fontWeight(isShowContent ? .bold : .light) + .foregroundColor(.primary) + .minimumScaleFactor(0.1) + .lineLimit(2) + .padding(.bottom, isShowContent ? 5 : 0) Spacer() + HStack { + if isShowContent { + Spacer() + if let web = mentor.webUrl { + Button(action: { + showUrl = web + }, label: { + Image("web") + }) + .buttonStyle(.plain) + .padding(0) + .foregroundColor(.red) + } + if let mastodon = mentor.mastodonUrl { + Button(action: { + showUrl = mastodon + }, label: { + Image("mastodon") + }) + .buttonStyle(.plain) + } + if let linkedin = mentor.linkedInUrl { + Button(action: { + showUrl = linkedin + }, label: { + Image("linkedin") + }) + .buttonStyle(.plain) + } + if let twitter = mentor.twitterUrl { + Button(action: { + showUrl = twitter + }, label: { + Image("x") + }) + .buttonStyle(.plain) + .padding(0) + } + } + } + .foregroundColor(.primary) } - ) + .matchedGeometryEffect(id: "\(mentor.name)-headline", in: namespace) + .padding(.horizontal) + ) } .foregroundColor(.clear) + .sheet(item: $showUrl) { + showUrl = nil + } content: { url in + SafariWebView(url: url) + .ignoresSafeArea() + } } } diff --git a/SwiftIslandApp/Pages/Practical/Tickets/TicketAddButton.swift b/SwiftIslandApp/Pages/Practical/Tickets/TicketAddButton.swift index 2e69def..fd3d82e 100644 --- a/SwiftIslandApp/Pages/Practical/Tickets/TicketAddButton.swift +++ b/SwiftIslandApp/Pages/Practical/Tickets/TicketAddButton.swift @@ -29,6 +29,9 @@ struct TicketAddButton: View { return } var path = url.pathComponents + if (path.last == "settings") { + let _ = path.popLast() + } let slug = path.popLast() guard let slug = slug, path.last == "tickets" else { presentFailedPasteAlert = true diff --git a/SwiftIslandDataLogic/Package.swift b/SwiftIslandDataLogic/Package.swift index b643129..30d2e65 100644 --- a/SwiftIslandDataLogic/Package.swift +++ b/SwiftIslandDataLogic/Package.swift @@ -1,11 +1,11 @@ -// swift-tools-version: 5.7.1 +// swift-tools-version: 5.9 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription let package = Package( name: "SwiftIslandDataLogic", - platforms: [.iOS(.v16)], + platforms: [.iOS(.v17)], products: [ .library( name: "SwiftIslandDataLogic", diff --git a/SwiftIslandDataLogic/Sources/SwiftIslandDataLogic/Entities/Mentor.swift b/SwiftIslandDataLogic/Sources/SwiftIslandDataLogic/Entities/Mentor.swift index 75ea5d5..cba185e 100644 --- a/SwiftIslandDataLogic/Sources/SwiftIslandDataLogic/Entities/Mentor.swift +++ b/SwiftIslandDataLogic/Sources/SwiftIslandDataLogic/Entities/Mentor.swift @@ -9,10 +9,31 @@ public struct Mentor: Response { public let description: String public let imageName: String public let name: String - public let twitter: URL? - public let web: URL? - public let linkedIn: URL? + public let twitter: String? + public let web: String? + public let linkedIn: String? + public let mastodon: String? public let order: Int + + public var twitterUrl: URL? { + guard let twitter else { return nil } + return URL(string: "https://twitter.com/\(twitter)") + } + + public var webUrl: URL? { + guard let web else { return nil } + return URL(string: web) + } + + public var linkedInUrl: URL? { + guard let linkedIn else { return nil } + return URL(string: "https://linkedin.com/in/\(linkedIn)") + } + + public var mastodonUrl: URL? { + guard let mastodon else { return nil } + return URL(string: mastodon) + } } extension Mentor: Identifiable { @@ -21,12 +42,13 @@ extension Mentor: Identifiable { extension Mentor { public static func forPreview(description: String = "Lorem ipsum dolor sit amet, **consectetur adipiscing elit**. _Proin vitae cursus_ lectus. Mauris feugiat ipsum sed vulputate gravida. Nunc a risus ac odio consequat ornare nec sit amet arcu. In laoreet elit egestas sem ornare, at maximus sem maximus. Nulla molestie suscipit mollis. Cras gravida pellentesque mattis. Etiam at nisl lorem. Nullam viverra non arcu eget elementum. Nullam a velit laoreet, luctus risus at, dapibus dolor. Aliquam nec euismod augue, id lacinia nulla.", - imageName: String = ["JordiBruin", "AndreyVolodin", "MaximCramer"].randomElement()!, - name: String = "John Appleseed", - twitter: URL? = nil, - web: URL? = nil, - linkedIn: URL? = nil, - order: Int = 0) -> Mentor { + imageName: String = ["speaker-paul-2024", "speaker-manu-2024", "speaker-malin-2024"].randomElement()!, + name: String = "John Appleseed", + twitter: String? = ["ppeelen", "x"].randomElement(), + web: String? = "https://www.swiftisland.nl", + linkedIn: String? = "ppeelen", + mastodon: String? = nil, + order: Int = 0) -> Mentor { Mentor( description: description, imageName: imageName, @@ -34,6 +56,7 @@ extension Mentor { twitter: twitter, web: web, linkedIn: linkedIn, + mastodon: mastodon, order: order ) }