From 9719840098aff6cb14a030f9d24f89f969f2077c Mon Sep 17 00:00:00 2001 From: Paul Willis Date: Sat, 13 Dec 2025 17:41:38 +0000 Subject: [PATCH 1/7] chore(SharedViews): add new module Also add copy of `SwiftLeedsContainer` --- SwiftLeedsPackage/Package.swift | 11 +++++++- .../SharedViews/SwiftLeedsContainer.swift | 25 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 SwiftLeedsPackage/Sources/SharedViews/SwiftLeedsContainer.swift diff --git a/SwiftLeedsPackage/Package.swift b/SwiftLeedsPackage/Package.swift index 92a76d5..eba55d6 100644 --- a/SwiftLeedsPackage/Package.swift +++ b/SwiftLeedsPackage/Package.swift @@ -37,7 +37,13 @@ let package = Package( targets: [ "SharedAssets", ] - ) + ), + .library( + name: "SharedViews", + targets: [ + "SharedViews", + ] + ), ], dependencies: [ .package(url: "https://github.com/shadone/SwiftGenPlugin", branch: "6.6.2+deriveddatafix"), @@ -67,6 +73,9 @@ let package = Package( .plugin(name: "SwiftGenPlugin", package: "SwiftGenPlugin"), ] ), + .target( + name: "SharedViews" + ), ], // Set to v5 to avoid strict concurrency checking in pre swift 6 code swiftLanguageModes: [ diff --git a/SwiftLeedsPackage/Sources/SharedViews/SwiftLeedsContainer.swift b/SwiftLeedsPackage/Sources/SharedViews/SwiftLeedsContainer.swift new file mode 100644 index 0000000..a125281 --- /dev/null +++ b/SwiftLeedsPackage/Sources/SharedViews/SwiftLeedsContainer.swift @@ -0,0 +1,25 @@ +import SharedAssets +import SwiftUI + +struct SwiftLeedsContainer: View { + private var content: () -> (Content) + + init(@ViewBuilder content: @escaping () -> (Content)) { + self.content = content + } + + var body: some View { + ZStack { + Color.background.edgesIgnoringSafeArea(.all) + content() + } + } +} + +struct SwiftLeedsContainer_Previews: PreviewProvider { + static var previews: some View { + SwiftLeedsContainer { + Text(verbatim: "SwiftLeeds 22") + } + } +} From 1bb29983fec695c0574546197a0d58c24e117d83 Mon Sep 17 00:00:00 2001 From: Paul Willis Date: Sat, 13 Dec 2025 17:44:35 +0000 Subject: [PATCH 2/7] chore(SwiftLeedsContainer): remove project copy and add imports for compatibility --- SwiftLeeds.xcodeproj/project.pbxproj | 26 ++++++++++++++----- SwiftLeeds/Views/About/AboutView.swift | 1 + .../Views/Common/SwiftLeedsContainer.swift | 25 ------------------ .../Views/My Conference/ActivityView.swift | 1 + .../Views/My Conference/SpeakerView.swift | 1 + SwiftLeeds/Views/Sponsors/SponsorsView.swift | 1 + .../SharedViews/SwiftLeedsContainer.swift | 6 ++--- 7 files changed, 27 insertions(+), 34 deletions(-) delete mode 100644 SwiftLeeds/Views/Common/SwiftLeedsContainer.swift diff --git a/SwiftLeeds.xcodeproj/project.pbxproj b/SwiftLeeds.xcodeproj/project.pbxproj index e62990c..2e44a4d 100644 --- a/SwiftLeeds.xcodeproj/project.pbxproj +++ b/SwiftLeeds.xcodeproj/project.pbxproj @@ -26,7 +26,6 @@ 0B4CB3E928EAF5D200246E62 /* Local.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA534D8128A1909300A3BFBB /* Local.swift */; }; 0B4CB3EB28EAF5E300246E62 /* TalkCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AED26F73286764F000E06064 /* TalkCell.swift */; }; 0B4CB3EC28EAF5E900246E62 /* ActivityView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE5EFD74289E7CBF00464FE1 /* ActivityView.swift */; }; - 0B4CB3ED28EAF5F200246E62 /* SwiftLeedsContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA57DE4A2875B06B00911F03 /* SwiftLeedsContainer.swift */; }; 0B4CB3EE28EAF5FB00246E62 /* String.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE1C800F289E9F3800996659 /* String.swift */; }; 0B4CB3EF28EAF60200246E62 /* FancyHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A3831112884A96600030002 /* FancyHeaderView.swift */; }; 0B4CB3F028EAF60800246E62 /* SpeakerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 394653AA288BB7C800212E1C /* SpeakerView.swift */; }; @@ -90,6 +89,9 @@ 7B31C8F12ED0A7BF00FEEDF7 /* Settings in Frameworks */ = {isa = PBXBuildFile; productRef = 7B31C8F02ED0A7BF00FEEDF7 /* Settings */; }; 7B31C8F32ED0AB0E00FEEDF7 /* Settings in Frameworks */ = {isa = PBXBuildFile; productRef = 7B31C8F22ED0AB0E00FEEDF7 /* Settings */; }; 7B31C8F52ED0AB1600FEEDF7 /* Settings in Frameworks */ = {isa = PBXBuildFile; productRef = 7B31C8F42ED0AB1600FEEDF7 /* Settings */; }; + 7B62789C2EEDDCED00DE1473 /* SharedViews in Frameworks */ = {isa = PBXBuildFile; productRef = 7B62789B2EEDDCED00DE1473 /* SharedViews */; }; + 7B62789E2EEDDCF300DE1473 /* SharedViews in Frameworks */ = {isa = PBXBuildFile; productRef = 7B62789D2EEDDCF300DE1473 /* SharedViews */; }; + 7B6278A02EEDDCF700DE1473 /* SharedViews in Frameworks */ = {isa = PBXBuildFile; productRef = 7B62789F2EEDDCF700DE1473 /* SharedViews */; }; 7B8C3ECF2EE4A9F70089C6CF /* SharedAssets in Frameworks */ = {isa = PBXBuildFile; productRef = 7B8C3ECE2EE4A9F70089C6CF /* SharedAssets */; }; 7BE081522EE5BDA8004BCD1F /* SharedAssets in Frameworks */ = {isa = PBXBuildFile; productRef = 7BE081512EE5BDA8004BCD1F /* SharedAssets */; }; 7BE081542EE5BF13004BCD1F /* SharedAssets in Frameworks */ = {isa = PBXBuildFile; productRef = 7BE081532EE5BF13004BCD1F /* SharedAssets */; }; @@ -131,7 +133,6 @@ FA57DE462875B06500911F03 /* CommonTileButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA57DE432875B06500911F03 /* CommonTileButton.swift */; }; FA57DE472875B06500911F03 /* CommonTileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA57DE442875B06500911F03 /* CommonTileView.swift */; }; FA57DE482875B06500911F03 /* StackedTileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA57DE452875B06500911F03 /* StackedTileView.swift */; }; - FA57DE4B2875B06B00911F03 /* SwiftLeedsContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA57DE4A2875B06B00911F03 /* SwiftLeedsContainer.swift */; }; FA57DE502875B09900911F03 /* SponsorTileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA57DE4E2875B09900911F03 /* SponsorTileView.swift */; }; /* End PBXBuildFile section */ @@ -269,7 +270,6 @@ FA57DE432875B06500911F03 /* CommonTileButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CommonTileButton.swift; sourceTree = ""; }; FA57DE442875B06500911F03 /* CommonTileView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CommonTileView.swift; sourceTree = ""; }; FA57DE452875B06500911F03 /* StackedTileView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StackedTileView.swift; sourceTree = ""; }; - FA57DE4A2875B06B00911F03 /* SwiftLeedsContainer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwiftLeedsContainer.swift; sourceTree = ""; }; FA57DE4E2875B09900911F03 /* SponsorTileView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SponsorTileView.swift; sourceTree = ""; }; /* End PBXFileReference section */ @@ -279,6 +279,7 @@ buildActionMask = 2147483647; files = ( 7BE081522EE5BDA8004BCD1F /* SharedAssets in Frameworks */, + 7B62789C2EEDDCED00DE1473 /* SharedViews in Frameworks */, 7B31C8E92ED08EEE00FEEDF7 /* Networking in Frameworks */, 7B31C8F52ED0AB1600FEEDF7 /* Settings in Frameworks */, 741ED8FB2A75829C00494B25 /* ReadabilityModifier in Frameworks */, @@ -292,6 +293,7 @@ buildActionMask = 2147483647; files = ( 7BE081542EE5BF13004BCD1F /* SharedAssets in Frameworks */, + 7B6278A02EEDDCF700DE1473 /* SharedViews in Frameworks */, 7B31C8E72ED08EE800FEEDF7 /* Networking in Frameworks */, 7B31C8F32ED0AB0E00FEEDF7 /* Settings in Frameworks */, 74A09FE128C6778C00E03F39 /* SwiftUI.framework in Frameworks */, @@ -305,6 +307,7 @@ buildActionMask = 2147483647; files = ( 7B8C3ECF2EE4A9F70089C6CF /* SharedAssets in Frameworks */, + 7B62789E2EEDDCF300DE1473 /* SharedViews in Frameworks */, 7B31C8E52ED08DD100FEEDF7 /* Networking in Frameworks */, 7B31C8F12ED0A7BF00FEEDF7 /* Settings in Frameworks */, 74F5EF8C2A4B4352008D9413 /* ReadabilityModifier in Frameworks */, @@ -548,7 +551,6 @@ children = ( AE9367952A9354CC00F2DB3F /* Helper.swift */, 394653A8288BB47A00212E1C /* SectionHeader.swift */, - FA57DE4A2875B06B00911F03 /* SwiftLeedsContainer.swift */, ); path = Common; sourceTree = ""; @@ -622,6 +624,7 @@ 7B31C8EE2ED0959A00FEEDF7 /* DesignKit */, 7B31C8F42ED0AB1600FEEDF7 /* Settings */, 7BE081512EE5BDA8004BCD1F /* SharedAssets */, + 7B62789B2EEDDCED00DE1473 /* SharedViews */, ); productName = SwiftLeedsAppClip; productReference = 0B4CB3C528EAF19000246E62 /* SwiftLeedsAppClip.app */; @@ -668,6 +671,7 @@ 7B31C8EA2ED0959000FEEDF7 /* DesignKit */, 7B31C8F02ED0A7BF00FEEDF7 /* Settings */, 7B8C3ECE2EE4A9F70089C6CF /* SharedAssets */, + 7B62789D2EEDDCF300DE1473 /* SharedViews */, ); productName = SwiftLeeds; productReference = AECB295327417F9D00CDC983 /* SwiftLeeds.app */; @@ -824,7 +828,6 @@ 0B4CB3F128EAF61000246E62 /* StackedTileView.swift in Sources */, 0B4CB3DE28EAF57E00246E62 /* MyConferenceViewModel.swift in Sources */, AE9367902A93467500F2DB3F /* ScheduleView.swift in Sources */, - 0B4CB3ED28EAF5F200246E62 /* SwiftLeedsContainer.swift in Sources */, 0B4CB3EC28EAF5E900246E62 /* ActivityView.swift in Sources */, 0B4CB3F228EAF61600246E62 /* WebView.swift in Sources */, 0B59B5712E70EA6600820C3C /* About.swift in Sources */, @@ -895,7 +898,6 @@ AECB295927417F9D00CDC983 /* MyConferenceView.swift in Sources */, AE8C1B2428BFCFC700AF7318 /* Presentation.swift in Sources */, 2A3831122884A96600030002 /* FancyHeaderView.swift in Sources */, - FA57DE4B2875B06B00911F03 /* SwiftLeedsContainer.swift in Sources */, 0B59B5722E70EA6600820C3C /* About.swift in Sources */, 0B59B56B2E70E6AC00820C3C /* CompactActionItem.swift in Sources */, 74F5EF892A49CECB008D9413 /* SidebarView.swift in Sources */, @@ -1514,6 +1516,18 @@ isa = XCSwiftPackageProductDependency; productName = Settings; }; + 7B62789B2EEDDCED00DE1473 /* SharedViews */ = { + isa = XCSwiftPackageProductDependency; + productName = SharedViews; + }; + 7B62789D2EEDDCF300DE1473 /* SharedViews */ = { + isa = XCSwiftPackageProductDependency; + productName = SharedViews; + }; + 7B62789F2EEDDCF700DE1473 /* SharedViews */ = { + isa = XCSwiftPackageProductDependency; + productName = SharedViews; + }; 7B8C3ECE2EE4A9F70089C6CF /* SharedAssets */ = { isa = XCSwiftPackageProductDependency; productName = SharedAssets; diff --git a/SwiftLeeds/Views/About/AboutView.swift b/SwiftLeeds/Views/About/AboutView.swift index 14d8757..6da0e91 100644 --- a/SwiftLeeds/Views/About/AboutView.swift +++ b/SwiftLeeds/Views/About/AboutView.swift @@ -2,6 +2,7 @@ import DesignKit import CachedAsyncImage import ReadabilityModifier import SharedAssets +import SharedViews import SwiftUI struct AboutView: View { diff --git a/SwiftLeeds/Views/Common/SwiftLeedsContainer.swift b/SwiftLeeds/Views/Common/SwiftLeedsContainer.swift deleted file mode 100644 index a125281..0000000 --- a/SwiftLeeds/Views/Common/SwiftLeedsContainer.swift +++ /dev/null @@ -1,25 +0,0 @@ -import SharedAssets -import SwiftUI - -struct SwiftLeedsContainer: View { - private var content: () -> (Content) - - init(@ViewBuilder content: @escaping () -> (Content)) { - self.content = content - } - - var body: some View { - ZStack { - Color.background.edgesIgnoringSafeArea(.all) - content() - } - } -} - -struct SwiftLeedsContainer_Previews: PreviewProvider { - static var previews: some View { - SwiftLeedsContainer { - Text(verbatim: "SwiftLeeds 22") - } - } -} diff --git a/SwiftLeeds/Views/My Conference/ActivityView.swift b/SwiftLeeds/Views/My Conference/ActivityView.swift index 85b8ec3..44d792a 100644 --- a/SwiftLeeds/Views/My Conference/ActivityView.swift +++ b/SwiftLeeds/Views/My Conference/ActivityView.swift @@ -1,4 +1,5 @@ import DesignKit +import SharedViews import SwiftUI struct ActivityView: View { diff --git a/SwiftLeeds/Views/My Conference/SpeakerView.swift b/SwiftLeeds/Views/My Conference/SpeakerView.swift index ac936d4..f9b1879 100644 --- a/SwiftLeeds/Views/My Conference/SpeakerView.swift +++ b/SwiftLeeds/Views/My Conference/SpeakerView.swift @@ -1,4 +1,5 @@ import DesignKit +import SharedViews import SwiftUI struct SpeakerView: View { diff --git a/SwiftLeeds/Views/Sponsors/SponsorsView.swift b/SwiftLeeds/Views/Sponsors/SponsorsView.swift index 7698724..94d29d1 100644 --- a/SwiftLeeds/Views/Sponsors/SponsorsView.swift +++ b/SwiftLeeds/Views/Sponsors/SponsorsView.swift @@ -1,6 +1,7 @@ import DesignKit import ReadabilityModifier import SharedAssets +import SharedViews import SwiftUI struct SponsorsView: View { diff --git a/SwiftLeedsPackage/Sources/SharedViews/SwiftLeedsContainer.swift b/SwiftLeedsPackage/Sources/SharedViews/SwiftLeedsContainer.swift index a125281..ac5c1de 100644 --- a/SwiftLeedsPackage/Sources/SharedViews/SwiftLeedsContainer.swift +++ b/SwiftLeedsPackage/Sources/SharedViews/SwiftLeedsContainer.swift @@ -1,14 +1,14 @@ import SharedAssets import SwiftUI -struct SwiftLeedsContainer: View { +public struct SwiftLeedsContainer: View { private var content: () -> (Content) - init(@ViewBuilder content: @escaping () -> (Content)) { + public init(@ViewBuilder content: @escaping () -> (Content)) { self.content = content } - var body: some View { + public var body: some View { ZStack { Color.background.edgesIgnoringSafeArea(.all) content() From 371a79acbe17c0dc91fab9a8272c14e68262a4e1 Mon Sep 17 00:00:00 2001 From: Paul Willis Date: Sat, 13 Dec 2025 17:45:49 +0000 Subject: [PATCH 3/7] chore(SectionHeader): make copy in module --- SwiftLeeds/Views/Local/BottomSheetView.swift | 8 ++-- .../Sources/SharedViews/SectionHeader.swift | 40 +++++++++++++++++++ 2 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 SwiftLeedsPackage/Sources/SharedViews/SectionHeader.swift diff --git a/SwiftLeeds/Views/Local/BottomSheetView.swift b/SwiftLeeds/Views/Local/BottomSheetView.swift index 3e357b3..a788e5f 100644 --- a/SwiftLeeds/Views/Local/BottomSheetView.swift +++ b/SwiftLeeds/Views/Local/BottomSheetView.swift @@ -39,9 +39,11 @@ struct BottomSheetView: View { VStack { VStack(spacing: Padding.cellGap) { Spacer() - SectionHeader(title: "Local", - fontStyle: .title2.weight(.semibold), - foregroundColor: .primary) + SectionHeader( + title: "Local", + fontStyle: .title2.weight(.semibold), + foregroundColor: .primary + ) .fitToReadableContentGuide(type: .width) ScrollView { ForEach(categories) { category in diff --git a/SwiftLeedsPackage/Sources/SharedViews/SectionHeader.swift b/SwiftLeedsPackage/Sources/SharedViews/SectionHeader.swift new file mode 100644 index 0000000..bf47e8c --- /dev/null +++ b/SwiftLeedsPackage/Sources/SharedViews/SectionHeader.swift @@ -0,0 +1,40 @@ +import SwiftUI + +public struct SectionHeader: View { + private let title: String + private let fontStyle: Font + private let foregroundColor: Color + private let maxWidth: CGFloat + private let alignment: Alignment + private let accesibilityAddTraits: AccessibilityTraits + + public init( + title: String, + fontStyle: Font = .callout.weight(.semibold), + foregroundColor : Color = .secondary, + maxWidth: CGFloat = .infinity, + alignment: Alignment = .leading, + accessbilityAddTraits: AccessibilityTraits = .isHeader + ) { + self.title = title + self.fontStyle = fontStyle + self.foregroundColor = foregroundColor + self.maxWidth = maxWidth + self.alignment = alignment + self.accesibilityAddTraits = accessbilityAddTraits + } + + public var body: some View { + Text(title) + .font(fontStyle) + .foregroundColor(foregroundColor) + .frame(maxWidth: maxWidth, alignment: alignment) + .accessibilityAddTraits(accesibilityAddTraits) + } +} + +struct SectionHeader_Previews: PreviewProvider { + static var previews: some View { + SectionHeader(title: "SwiftLeeds") + } +} From b2850472ffd78c369246ab5c6538ba7a1ab3853a Mon Sep 17 00:00:00 2001 From: Paul Willis Date: Sat, 13 Dec 2025 17:49:53 +0000 Subject: [PATCH 4/7] chore(SectionHeader): remove module copy and move original to `Local` feature `SectionHeader` is only used in `Local` so best to isolate --- SwiftLeeds.xcodeproj/project.pbxproj | 8 ++-- SwiftLeeds/Views/Common/SectionHeader.swift | 39 ------------------- .../Views/Local}/SectionHeader.swift | 6 +-- SwiftLeedsPackage/Package.swift | 5 ++- 4 files changed, 11 insertions(+), 47 deletions(-) delete mode 100644 SwiftLeeds/Views/Common/SectionHeader.swift rename {SwiftLeedsPackage/Sources/SharedViews => SwiftLeeds/Views/Local}/SectionHeader.swift (92%) diff --git a/SwiftLeeds.xcodeproj/project.pbxproj b/SwiftLeeds.xcodeproj/project.pbxproj index 2e44a4d..e619ead 100644 --- a/SwiftLeeds.xcodeproj/project.pbxproj +++ b/SwiftLeeds.xcodeproj/project.pbxproj @@ -51,7 +51,6 @@ 0B910A382A49D09300648B32 /* Sponsor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B910A362A49D07700648B32 /* Sponsor.swift */; }; 2A3831122884A96600030002 /* FancyHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A3831112884A96600030002 /* FancyHeaderView.swift */; }; 39345FDA288F17EE0031BCFF /* BottomSheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39345FD9288F17EE0031BCFF /* BottomSheetView.swift */; }; - 394653A9288BB47A00212E1C /* SectionHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 394653A8288BB47A00212E1C /* SectionHeader.swift */; }; 394653AB288BB7C800212E1C /* SpeakerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 394653AA288BB7C800212E1C /* SpeakerView.swift */; }; 39ED0034288F113500AB337A /* LocalCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39ED0033288F113500AB337A /* LocalCell.swift */; }; 740162DA2A7053A000C2D1B3 /* AppState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 740162D92A7053A000C2D1B3 /* AppState.swift */; }; @@ -92,6 +91,7 @@ 7B62789C2EEDDCED00DE1473 /* SharedViews in Frameworks */ = {isa = PBXBuildFile; productRef = 7B62789B2EEDDCED00DE1473 /* SharedViews */; }; 7B62789E2EEDDCF300DE1473 /* SharedViews in Frameworks */ = {isa = PBXBuildFile; productRef = 7B62789D2EEDDCF300DE1473 /* SharedViews */; }; 7B6278A02EEDDCF700DE1473 /* SharedViews in Frameworks */ = {isa = PBXBuildFile; productRef = 7B62789F2EEDDCF700DE1473 /* SharedViews */; }; + 7B6278A22EEDDE1B00DE1473 /* SectionHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B6278A12EEDDE1B00DE1473 /* SectionHeader.swift */; }; 7B8C3ECF2EE4A9F70089C6CF /* SharedAssets in Frameworks */ = {isa = PBXBuildFile; productRef = 7B8C3ECE2EE4A9F70089C6CF /* SharedAssets */; }; 7BE081522EE5BDA8004BCD1F /* SharedAssets in Frameworks */ = {isa = PBXBuildFile; productRef = 7BE081512EE5BDA8004BCD1F /* SharedAssets */; }; 7BE081542EE5BF13004BCD1F /* SharedAssets in Frameworks */ = {isa = PBXBuildFile; productRef = 7BE081532EE5BF13004BCD1F /* SharedAssets */; }; @@ -211,7 +211,6 @@ 0B910A362A49D07700648B32 /* Sponsor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Sponsor.swift; sourceTree = ""; }; 2A3831112884A96600030002 /* FancyHeaderView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FancyHeaderView.swift; sourceTree = ""; }; 39345FD9288F17EE0031BCFF /* BottomSheetView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BottomSheetView.swift; sourceTree = ""; }; - 394653A8288BB47A00212E1C /* SectionHeader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SectionHeader.swift; sourceTree = ""; }; 394653AA288BB7C800212E1C /* SpeakerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpeakerView.swift; sourceTree = ""; }; 39ED0033288F113500AB337A /* LocalCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalCell.swift; sourceTree = ""; }; 740162D92A7053A000C2D1B3 /* AppState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppState.swift; sourceTree = ""; }; @@ -231,6 +230,7 @@ 74F5EF842A49CE6A008D9413 /* TabsMainView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TabsMainView.swift; sourceTree = ""; }; 74F5EF862A49CE9D008D9413 /* SidebarMainView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SidebarMainView.swift; sourceTree = ""; }; 74F5EF882A49CECB008D9413 /* SidebarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SidebarView.swift; sourceTree = ""; }; + 7B6278A12EEDDE1B00DE1473 /* SectionHeader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SectionHeader.swift; sourceTree = ""; }; 7B8108412E5CA00E00CCB2F5 /* SwiftLeedsPackage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = SwiftLeedsPackage; sourceTree = ""; }; AE1C800F289E9F3800996659 /* String.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = String.swift; sourceTree = ""; }; AE1C801328A7BCD000996659 /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = ""; }; @@ -501,6 +501,7 @@ AED26F7528676A8E00E06064 /* Local */ = { isa = PBXGroup; children = ( + 7B6278A12EEDDE1B00DE1473 /* SectionHeader.swift */, 39345FD9288F17EE0031BCFF /* BottomSheetView.swift */, 39ED0033288F113500AB337A /* LocalCell.swift */, AED26F7928676AA300E06064 /* LocalView.swift */, @@ -550,7 +551,6 @@ isa = PBXGroup; children = ( AE9367952A9354CC00F2DB3F /* Helper.swift */, - 394653A8288BB47A00212E1C /* SectionHeader.swift */, ); path = Common; sourceTree = ""; @@ -887,7 +887,6 @@ 0B59B5692E70E5FE00820C3C /* TeamMemberView.swift in Sources */, 394653AB288BB7C800212E1C /* SpeakerView.swift in Sources */, 0B59B56F2E70EA4F00820C3C /* AboutViewModel.swift in Sources */, - 394653A9288BB47A00212E1C /* SectionHeader.swift in Sources */, AE9367962A9354CC00F2DB3F /* Helper.swift in Sources */, AED26F7A28676AA300E06064 /* LocalView.swift in Sources */, 39ED0034288F113500AB337A /* LocalCell.swift in Sources */, @@ -914,6 +913,7 @@ AE8C1B2B28C4B39A00AF7318 /* TokenDetails.swift in Sources */, 0B910A372A49D07700648B32 /* Sponsor.swift in Sources */, AEDC0DAE286759630078A153 /* Tabs.swift in Sources */, + 7B6278A22EEDDE1B00DE1473 /* SectionHeader.swift in Sources */, AE8C1B2628BFCFE700AF7318 /* Speaker.swift in Sources */, AE8C1B2228BFCF4700AF7318 /* Activity.swift in Sources */, FA57DE482875B06500911F03 /* StackedTileView.swift in Sources */, diff --git a/SwiftLeeds/Views/Common/SectionHeader.swift b/SwiftLeeds/Views/Common/SectionHeader.swift deleted file mode 100644 index 77829ae..0000000 --- a/SwiftLeeds/Views/Common/SectionHeader.swift +++ /dev/null @@ -1,39 +0,0 @@ -import SwiftUI - -struct SectionHeader: View { - let title: String - let fontStyle: Font - let foregroundColor: Color - let maxWidth: CGFloat - let alignment: Alignment - let accesibilityAddTraits: AccessibilityTraits - - internal init(title: String, - fontStyle: Font = .callout.weight(.semibold), - foregroundColor : Color = .secondary, - maxWidth: CGFloat = .infinity, - alignment: Alignment = .leading, - accessbilityAddTraits: AccessibilityTraits = .isHeader - ) { - self.title = title - self.fontStyle = fontStyle - self.foregroundColor = foregroundColor - self.maxWidth = maxWidth - self.alignment = alignment - self.accesibilityAddTraits = accessbilityAddTraits - } - - var body: some View { - Text(title) - .font(fontStyle) - .foregroundColor(foregroundColor) - .frame(maxWidth: maxWidth, alignment: alignment) - .accessibilityAddTraits(accesibilityAddTraits) - } -} - -struct SectionHeader_Previews: PreviewProvider { - static var previews: some View { - SectionHeader(title: "SwiftLeeds") - } -} diff --git a/SwiftLeedsPackage/Sources/SharedViews/SectionHeader.swift b/SwiftLeeds/Views/Local/SectionHeader.swift similarity index 92% rename from SwiftLeedsPackage/Sources/SharedViews/SectionHeader.swift rename to SwiftLeeds/Views/Local/SectionHeader.swift index bf47e8c..8896c32 100644 --- a/SwiftLeedsPackage/Sources/SharedViews/SectionHeader.swift +++ b/SwiftLeeds/Views/Local/SectionHeader.swift @@ -1,6 +1,6 @@ import SwiftUI -public struct SectionHeader: View { +struct SectionHeader: View { private let title: String private let fontStyle: Font private let foregroundColor: Color @@ -8,7 +8,7 @@ public struct SectionHeader: View { private let alignment: Alignment private let accesibilityAddTraits: AccessibilityTraits - public init( + init( title: String, fontStyle: Font = .callout.weight(.semibold), foregroundColor : Color = .secondary, @@ -24,7 +24,7 @@ public struct SectionHeader: View { self.accesibilityAddTraits = accessbilityAddTraits } - public var body: some View { + var body: some View { Text(title) .font(fontStyle) .foregroundColor(foregroundColor) diff --git a/SwiftLeedsPackage/Package.swift b/SwiftLeedsPackage/Package.swift index eba55d6..67b7944 100644 --- a/SwiftLeedsPackage/Package.swift +++ b/SwiftLeedsPackage/Package.swift @@ -74,7 +74,10 @@ let package = Package( ] ), .target( - name: "SharedViews" + name: "SharedViews", + dependencies: [ + "SharedAssets", + ] ), ], // Set to v5 to avoid strict concurrency checking in pre swift 6 code From f46346c2b35ab9842716e2f9bd38d14cbcf45ff3 Mon Sep 17 00:00:00 2001 From: Paul Willis Date: Sat, 13 Dec 2025 17:50:38 +0000 Subject: [PATCH 5/7] chore(Helper): remove unused `Helper` enum --- SwiftLeeds.xcodeproj/project.pbxproj | 16 ---------------- SwiftLeeds/Views/Common/Helper.swift | 9 --------- 2 files changed, 25 deletions(-) delete mode 100644 SwiftLeeds/Views/Common/Helper.swift diff --git a/SwiftLeeds.xcodeproj/project.pbxproj b/SwiftLeeds.xcodeproj/project.pbxproj index e619ead..380bf3d 100644 --- a/SwiftLeeds.xcodeproj/project.pbxproj +++ b/SwiftLeeds.xcodeproj/project.pbxproj @@ -107,9 +107,6 @@ AE8C1B2B28C4B39A00AF7318 /* TokenDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE8C1B2A28C4B39A00AF7318 /* TokenDetails.swift */; }; AE93678F2A93455400F2DB3F /* ScheduleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE93678E2A93455400F2DB3F /* ScheduleView.swift */; }; AE9367902A93467500F2DB3F /* ScheduleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE93678E2A93455400F2DB3F /* ScheduleView.swift */; }; - AE9367962A9354CC00F2DB3F /* Helper.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE9367952A9354CC00F2DB3F /* Helper.swift */; }; - AE9367972A9354CC00F2DB3F /* Helper.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE9367952A9354CC00F2DB3F /* Helper.swift */; }; - AE9367982A9357D000F2DB3F /* Helper.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE9367952A9354CC00F2DB3F /* Helper.swift */; }; AEB06BD128CF8D2100E51967 /* WebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEB06BD028CF8D2100E51967 /* WebView.swift */; }; AECB295727417F9D00CDC983 /* SwiftLeedsApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = AECB295627417F9D00CDC983 /* SwiftLeedsApp.swift */; }; AECB295927417F9D00CDC983 /* MyConferenceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AECB295827417F9D00CDC983 /* MyConferenceView.swift */; }; @@ -243,7 +240,6 @@ AE8C1B2A28C4B39A00AF7318 /* TokenDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TokenDetails.swift; sourceTree = ""; }; AE8C1B2C28C4B8D800AF7318 /* SwiftLeeds.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = SwiftLeeds.entitlements; sourceTree = ""; }; AE93678E2A93455400F2DB3F /* ScheduleView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScheduleView.swift; sourceTree = ""; }; - AE9367952A9354CC00F2DB3F /* Helper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Helper.swift; sourceTree = ""; }; AEB06BD028CF8D2100E51967 /* WebView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebView.swift; sourceTree = ""; }; AECB295327417F9D00CDC983 /* SwiftLeeds.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SwiftLeeds.app; sourceTree = BUILT_PRODUCTS_DIR; }; AECB295627417F9D00CDC983 /* SwiftLeedsApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftLeedsApp.swift; sourceTree = ""; }; @@ -477,7 +473,6 @@ isa = PBXGroup; children = ( AED26F7628676A9200E06064 /* About */, - FA57DE412875B03800911F03 /* Common */, FA57DE422875B03B00911F03 /* Components */, AED26F7528676A8E00E06064 /* Local */, AEDC0DAF28675D060078A153 /* My Conference */, @@ -547,14 +542,6 @@ path = "My Conference"; sourceTree = ""; }; - FA57DE412875B03800911F03 /* Common */ = { - isa = PBXGroup; - children = ( - AE9367952A9354CC00F2DB3F /* Helper.swift */, - ); - path = Common; - sourceTree = ""; - }; FA57DE422875B03B00911F03 /* Components */ = { isa = PBXGroup; children = ( @@ -839,7 +826,6 @@ 0B4CB3E928EAF5D200246E62 /* Local.swift in Sources */, 0B910A352A48FEC100648B32 /* SponsorTileView.swift in Sources */, E3569B062E5B903800BC9556 /* ShimmerView.swift in Sources */, - AE9367972A9354CC00F2DB3F /* Helper.swift in Sources */, 0B4CB3E528EAF5B700246E62 /* Speaker.swift in Sources */, 0B4CB3E828EAF5CD00246E62 /* AnnouncementCell.swift in Sources */, 0B4CB3DD28EAF57900246E62 /* MyConferenceView.swift in Sources */, @@ -865,7 +851,6 @@ 74E62F7228CA98EA004422F9 /* SwiftLeedsSmallWidgetView.swift in Sources */, 7406572928E240720087F44F /* WidgetConstants.swift in Sources */, 0B59B5672E70E5D400820C3C /* TeamMember.swift in Sources */, - AE9367982A9357D000F2DB3F /* Helper.swift in Sources */, 74B14FB028CE21D7004C0A40 /* TimeineProvider.swift in Sources */, 74E62F7828CADBE0004422F9 /* Activity.swift in Sources */, 74E62F7A28CAE4DF004422F9 /* Speaker.swift in Sources */, @@ -887,7 +872,6 @@ 0B59B5692E70E5FE00820C3C /* TeamMemberView.swift in Sources */, 394653AB288BB7C800212E1C /* SpeakerView.swift in Sources */, 0B59B56F2E70EA4F00820C3C /* AboutViewModel.swift in Sources */, - AE9367962A9354CC00F2DB3F /* Helper.swift in Sources */, AED26F7A28676AA300E06064 /* LocalView.swift in Sources */, 39ED0034288F113500AB337A /* LocalCell.swift in Sources */, AEDC22552898288F00746247 /* Schedule.swift in Sources */, diff --git a/SwiftLeeds/Views/Common/Helper.swift b/SwiftLeeds/Views/Common/Helper.swift deleted file mode 100644 index 7f6c64e..0000000 --- a/SwiftLeeds/Views/Common/Helper.swift +++ /dev/null @@ -1,9 +0,0 @@ -import Foundation - -enum Helper { - static var shortDateFormatter: DateFormatter = { - let dateformatter = DateFormatter() - dateformatter.dateFormat = "dd-MM-yyyy" - return dateformatter - }() -} From 6eb4d0aa937dad29d62bb3365148e02807e446b4 Mon Sep 17 00:00:00 2001 From: Paul Willis Date: Sat, 13 Dec 2025 18:01:08 +0000 Subject: [PATCH 6/7] chore(SwiftLeedsContainer): remove unneeded container view Also allows us to remove the `SharedViews` module entirely --- SwiftLeeds.xcodeproj/project.pbxproj | 20 --------------- SwiftLeeds/Views/About/AboutView.swift | 8 +++--- .../Views/My Conference/ActivityView.swift | 7 +++--- .../Views/My Conference/SpeakerView.swift | 7 +++--- SwiftLeeds/Views/Sponsors/SponsorsView.swift | 11 +++----- SwiftLeedsPackage/Package.swift | 12 --------- .../SharedViews/SwiftLeedsContainer.swift | 25 ------------------- 7 files changed, 13 insertions(+), 77 deletions(-) delete mode 100644 SwiftLeedsPackage/Sources/SharedViews/SwiftLeedsContainer.swift diff --git a/SwiftLeeds.xcodeproj/project.pbxproj b/SwiftLeeds.xcodeproj/project.pbxproj index 380bf3d..a012eeb 100644 --- a/SwiftLeeds.xcodeproj/project.pbxproj +++ b/SwiftLeeds.xcodeproj/project.pbxproj @@ -88,9 +88,6 @@ 7B31C8F12ED0A7BF00FEEDF7 /* Settings in Frameworks */ = {isa = PBXBuildFile; productRef = 7B31C8F02ED0A7BF00FEEDF7 /* Settings */; }; 7B31C8F32ED0AB0E00FEEDF7 /* Settings in Frameworks */ = {isa = PBXBuildFile; productRef = 7B31C8F22ED0AB0E00FEEDF7 /* Settings */; }; 7B31C8F52ED0AB1600FEEDF7 /* Settings in Frameworks */ = {isa = PBXBuildFile; productRef = 7B31C8F42ED0AB1600FEEDF7 /* Settings */; }; - 7B62789C2EEDDCED00DE1473 /* SharedViews in Frameworks */ = {isa = PBXBuildFile; productRef = 7B62789B2EEDDCED00DE1473 /* SharedViews */; }; - 7B62789E2EEDDCF300DE1473 /* SharedViews in Frameworks */ = {isa = PBXBuildFile; productRef = 7B62789D2EEDDCF300DE1473 /* SharedViews */; }; - 7B6278A02EEDDCF700DE1473 /* SharedViews in Frameworks */ = {isa = PBXBuildFile; productRef = 7B62789F2EEDDCF700DE1473 /* SharedViews */; }; 7B6278A22EEDDE1B00DE1473 /* SectionHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B6278A12EEDDE1B00DE1473 /* SectionHeader.swift */; }; 7B8C3ECF2EE4A9F70089C6CF /* SharedAssets in Frameworks */ = {isa = PBXBuildFile; productRef = 7B8C3ECE2EE4A9F70089C6CF /* SharedAssets */; }; 7BE081522EE5BDA8004BCD1F /* SharedAssets in Frameworks */ = {isa = PBXBuildFile; productRef = 7BE081512EE5BDA8004BCD1F /* SharedAssets */; }; @@ -275,7 +272,6 @@ buildActionMask = 2147483647; files = ( 7BE081522EE5BDA8004BCD1F /* SharedAssets in Frameworks */, - 7B62789C2EEDDCED00DE1473 /* SharedViews in Frameworks */, 7B31C8E92ED08EEE00FEEDF7 /* Networking in Frameworks */, 7B31C8F52ED0AB1600FEEDF7 /* Settings in Frameworks */, 741ED8FB2A75829C00494B25 /* ReadabilityModifier in Frameworks */, @@ -289,7 +285,6 @@ buildActionMask = 2147483647; files = ( 7BE081542EE5BF13004BCD1F /* SharedAssets in Frameworks */, - 7B6278A02EEDDCF700DE1473 /* SharedViews in Frameworks */, 7B31C8E72ED08EE800FEEDF7 /* Networking in Frameworks */, 7B31C8F32ED0AB0E00FEEDF7 /* Settings in Frameworks */, 74A09FE128C6778C00E03F39 /* SwiftUI.framework in Frameworks */, @@ -303,7 +298,6 @@ buildActionMask = 2147483647; files = ( 7B8C3ECF2EE4A9F70089C6CF /* SharedAssets in Frameworks */, - 7B62789E2EEDDCF300DE1473 /* SharedViews in Frameworks */, 7B31C8E52ED08DD100FEEDF7 /* Networking in Frameworks */, 7B31C8F12ED0A7BF00FEEDF7 /* Settings in Frameworks */, 74F5EF8C2A4B4352008D9413 /* ReadabilityModifier in Frameworks */, @@ -611,7 +605,6 @@ 7B31C8EE2ED0959A00FEEDF7 /* DesignKit */, 7B31C8F42ED0AB1600FEEDF7 /* Settings */, 7BE081512EE5BDA8004BCD1F /* SharedAssets */, - 7B62789B2EEDDCED00DE1473 /* SharedViews */, ); productName = SwiftLeedsAppClip; productReference = 0B4CB3C528EAF19000246E62 /* SwiftLeedsAppClip.app */; @@ -658,7 +651,6 @@ 7B31C8EA2ED0959000FEEDF7 /* DesignKit */, 7B31C8F02ED0A7BF00FEEDF7 /* Settings */, 7B8C3ECE2EE4A9F70089C6CF /* SharedAssets */, - 7B62789D2EEDDCF300DE1473 /* SharedViews */, ); productName = SwiftLeeds; productReference = AECB295327417F9D00CDC983 /* SwiftLeeds.app */; @@ -1500,18 +1492,6 @@ isa = XCSwiftPackageProductDependency; productName = Settings; }; - 7B62789B2EEDDCED00DE1473 /* SharedViews */ = { - isa = XCSwiftPackageProductDependency; - productName = SharedViews; - }; - 7B62789D2EEDDCF300DE1473 /* SharedViews */ = { - isa = XCSwiftPackageProductDependency; - productName = SharedViews; - }; - 7B62789F2EEDDCF700DE1473 /* SharedViews */ = { - isa = XCSwiftPackageProductDependency; - productName = SharedViews; - }; 7B8C3ECE2EE4A9F70089C6CF /* SharedAssets */ = { isa = XCSwiftPackageProductDependency; productName = SharedAssets; diff --git a/SwiftLeeds/Views/About/AboutView.swift b/SwiftLeeds/Views/About/AboutView.swift index 6da0e91..1d383c4 100644 --- a/SwiftLeeds/Views/About/AboutView.swift +++ b/SwiftLeeds/Views/About/AboutView.swift @@ -29,11 +29,10 @@ struct AboutView: View { } var body: some View { - SwiftLeedsContainer { - ScrollView { - content - } + ScrollView { + content } + .background(Color.background, ignoresSafeAreaEdges: .all) .edgesIgnoringSafeArea(.top) } @@ -192,5 +191,6 @@ struct AboutView: View { struct AboutView_Previews: PreviewProvider { static var previews: some View { AboutView() + .preferredColorScheme(.dark) } } diff --git a/SwiftLeeds/Views/My Conference/ActivityView.swift b/SwiftLeeds/Views/My Conference/ActivityView.swift index 44d792a..0c4e41f 100644 --- a/SwiftLeeds/Views/My Conference/ActivityView.swift +++ b/SwiftLeeds/Views/My Conference/ActivityView.swift @@ -8,11 +8,10 @@ struct ActivityView: View { @Environment(\.openURL) var openURL var body: some View { - SwiftLeedsContainer { - ScrollView { - content - } + ScrollView { + content } + .background(Color.background, ignoresSafeAreaEdges: .all) .edgesIgnoringSafeArea(.top) } diff --git a/SwiftLeeds/Views/My Conference/SpeakerView.swift b/SwiftLeeds/Views/My Conference/SpeakerView.swift index f9b1879..26cfd02 100644 --- a/SwiftLeeds/Views/My Conference/SpeakerView.swift +++ b/SwiftLeeds/Views/My Conference/SpeakerView.swift @@ -11,11 +11,10 @@ struct SpeakerView: View { @Environment(\.openURL) var openURL var body: some View { - SwiftLeedsContainer { - ScrollView { - content - } + ScrollView { + content } + .background(Color.background, ignoresSafeAreaEdges: .all) .edgesIgnoringSafeArea(.top) } diff --git a/SwiftLeeds/Views/Sponsors/SponsorsView.swift b/SwiftLeeds/Views/Sponsors/SponsorsView.swift index 94d29d1..16e687a 100644 --- a/SwiftLeeds/Views/Sponsors/SponsorsView.swift +++ b/SwiftLeeds/Views/Sponsors/SponsorsView.swift @@ -11,20 +11,13 @@ struct SponsorsView: View { @State private var selectedSponsorLevel: SponsorLevel? var body: some View { - SwiftLeedsContainer { - content - } - .edgesIgnoringSafeArea(.top) - } - - private var content: some View { ScrollView { VStack(spacing: 0) { FancyHeaderView( title: "Sponsors", foregroundImageName: Assets.Image.swiftLeedsIcon ) - + if isLoading { loadingView .padding(.top, Padding.screen) @@ -36,6 +29,8 @@ struct SponsorsView: View { } } } + .background(Color.background, ignoresSafeAreaEdges: .all) + .edgesIgnoringSafeArea(.top) .scrollIndicators(.hidden) .task { await loadSponsors() diff --git a/SwiftLeedsPackage/Package.swift b/SwiftLeedsPackage/Package.swift index 67b7944..6ea2c94 100644 --- a/SwiftLeedsPackage/Package.swift +++ b/SwiftLeedsPackage/Package.swift @@ -38,12 +38,6 @@ let package = Package( "SharedAssets", ] ), - .library( - name: "SharedViews", - targets: [ - "SharedViews", - ] - ), ], dependencies: [ .package(url: "https://github.com/shadone/SwiftGenPlugin", branch: "6.6.2+deriveddatafix"), @@ -73,12 +67,6 @@ let package = Package( .plugin(name: "SwiftGenPlugin", package: "SwiftGenPlugin"), ] ), - .target( - name: "SharedViews", - dependencies: [ - "SharedAssets", - ] - ), ], // Set to v5 to avoid strict concurrency checking in pre swift 6 code swiftLanguageModes: [ diff --git a/SwiftLeedsPackage/Sources/SharedViews/SwiftLeedsContainer.swift b/SwiftLeedsPackage/Sources/SharedViews/SwiftLeedsContainer.swift deleted file mode 100644 index ac5c1de..0000000 --- a/SwiftLeedsPackage/Sources/SharedViews/SwiftLeedsContainer.swift +++ /dev/null @@ -1,25 +0,0 @@ -import SharedAssets -import SwiftUI - -public struct SwiftLeedsContainer: View { - private var content: () -> (Content) - - public init(@ViewBuilder content: @escaping () -> (Content)) { - self.content = content - } - - public var body: some View { - ZStack { - Color.background.edgesIgnoringSafeArea(.all) - content() - } - } -} - -struct SwiftLeedsContainer_Previews: PreviewProvider { - static var previews: some View { - SwiftLeedsContainer { - Text(verbatim: "SwiftLeeds 22") - } - } -} From 258d5d391e25257b6836717a919415a3b03f6d9d Mon Sep 17 00:00:00 2001 From: Paul Willis Date: Mon, 15 Dec 2025 20:08:19 +0000 Subject: [PATCH 7/7] chore(SharedViews): remove import of removed `SharedViews` --- SwiftLeeds/Views/About/AboutView.swift | 1 - SwiftLeeds/Views/My Conference/ActivityView.swift | 1 - SwiftLeeds/Views/My Conference/SpeakerView.swift | 1 - SwiftLeeds/Views/Sponsors/SponsorsView.swift | 1 - 4 files changed, 4 deletions(-) diff --git a/SwiftLeeds/Views/About/AboutView.swift b/SwiftLeeds/Views/About/AboutView.swift index 1d383c4..0f58b4a 100644 --- a/SwiftLeeds/Views/About/AboutView.swift +++ b/SwiftLeeds/Views/About/AboutView.swift @@ -2,7 +2,6 @@ import DesignKit import CachedAsyncImage import ReadabilityModifier import SharedAssets -import SharedViews import SwiftUI struct AboutView: View { diff --git a/SwiftLeeds/Views/My Conference/ActivityView.swift b/SwiftLeeds/Views/My Conference/ActivityView.swift index 0c4e41f..c65c844 100644 --- a/SwiftLeeds/Views/My Conference/ActivityView.swift +++ b/SwiftLeeds/Views/My Conference/ActivityView.swift @@ -1,5 +1,4 @@ import DesignKit -import SharedViews import SwiftUI struct ActivityView: View { diff --git a/SwiftLeeds/Views/My Conference/SpeakerView.swift b/SwiftLeeds/Views/My Conference/SpeakerView.swift index 26cfd02..5150b1e 100644 --- a/SwiftLeeds/Views/My Conference/SpeakerView.swift +++ b/SwiftLeeds/Views/My Conference/SpeakerView.swift @@ -1,5 +1,4 @@ import DesignKit -import SharedViews import SwiftUI struct SpeakerView: View { diff --git a/SwiftLeeds/Views/Sponsors/SponsorsView.swift b/SwiftLeeds/Views/Sponsors/SponsorsView.swift index 16e687a..4d81870 100644 --- a/SwiftLeeds/Views/Sponsors/SponsorsView.swift +++ b/SwiftLeeds/Views/Sponsors/SponsorsView.swift @@ -1,7 +1,6 @@ import DesignKit import ReadabilityModifier import SharedAssets -import SharedViews import SwiftUI struct SponsorsView: View {