diff --git a/Jel.xcodeproj/project.pbxproj b/Jel.xcodeproj/project.pbxproj
index 6f74bf0..1954e5a 100644
--- a/Jel.xcodeproj/project.pbxproj
+++ b/Jel.xcodeproj/project.pbxproj
@@ -17,8 +17,8 @@
3D13F9692B389FA300E91913 /* ViewOffsetKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D13F9682B389FA300E91913 /* ViewOffsetKey.swift */; };
3D13F96F2B38A32500E91913 /* StickyHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D13F96E2B38A32500E91913 /* StickyHeaderView.swift */; };
3D16FC3C2B2CDFB500E6D8B3 /* DashboardLibraryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D16FC3B2B2CDFB500E6D8B3 /* DashboardLibraryView.swift */; };
+ 3D21F4292B69A8B0007207D2 /* ExpandableText in Frameworks */ = {isa = PBXBuildFile; productRef = 3D21F4282B69A8B0007207D2 /* ExpandableText */; };
3D3816C92B4B5648006414D7 /* ItemGenresView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D3816C82B4B5648006414D7 /* ItemGenresView.swift */; };
- 3D3816CE2B4B78BB006414D7 /* VisibilityTrackingScrollView in Frameworks */ = {isa = PBXBuildFile; productRef = 3D3816CD2B4B78BB006414D7 /* VisibilityTrackingScrollView */; };
3D41D1FA2B2CAE0000E58234 /* ItemIconView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D41D1F92B2CAE0000E58234 /* ItemIconView.swift */; };
3D4C15722B3CAA670035373E /* DashboardSectionTitleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D4C15712B3CAA670035373E /* DashboardSectionTitleView.swift */; };
3D58F07E2B4DB19300DB2936 /* TextRatingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D58F07D2B4DB19300DB2936 /* TextRatingView.swift */; };
@@ -133,8 +133,8 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
+ 3D21F4292B69A8B0007207D2 /* ExpandableText in Frameworks */,
3D13F95C2B375A9E00E91913 /* NukeUI in Frameworks */,
- 3D3816CE2B4B78BB006414D7 /* VisibilityTrackingScrollView in Frameworks */,
3D77093B2B29139700199889 /* PulseUI in Frameworks */,
3D7709392B29139700199889 /* Pulse in Frameworks */,
3D9064592B27E4C70063DD2A /* JellyfinKit in Frameworks */,
@@ -359,7 +359,7 @@
3D77093A2B29139700199889 /* PulseUI */,
3D13F9592B375A9E00E91913 /* Nuke */,
3D13F95B2B375A9E00E91913 /* NukeUI */,
- 3D3816CD2B4B78BB006414D7 /* VisibilityTrackingScrollView */,
+ 3D21F4282B69A8B0007207D2 /* ExpandableText */,
);
productName = Jel;
productReference = 3D9063C72B279A310063DD2A /* Jel.app */;
@@ -436,7 +436,7 @@
packageReferences = (
3D7709372B29139700199889 /* XCRemoteSwiftPackageReference "Pulse" */,
3D13F9582B375A9E00E91913 /* XCRemoteSwiftPackageReference "Nuke" */,
- 3D3816CC2B4B78BA006414D7 /* XCRemoteSwiftPackageReference "VisibilityTrackingScrollView" */,
+ 3D21F4272B69A8B0007207D2 /* XCRemoteSwiftPackageReference "ExpandableText" */,
);
productRefGroup = 3D9063C82B279A310063DD2A /* Products */;
projectDirPath = "";
@@ -890,12 +890,12 @@
minimumVersion = 12.2.0;
};
};
- 3D3816CC2B4B78BA006414D7 /* XCRemoteSwiftPackageReference "VisibilityTrackingScrollView" */ = {
+ 3D21F4272B69A8B0007207D2 /* XCRemoteSwiftPackageReference "ExpandableText" */ = {
isa = XCRemoteSwiftPackageReference;
- repositoryURL = "https://github.com/elegantchaos/VisibilityTrackingScrollView";
+ repositoryURL = "https://github.com/n3d1117/ExpandableText?tab=readme-ov-file";
requirement = {
- kind = upToNextMinorVersion;
- minimumVersion = 1.0.0;
+ branch = main;
+ kind = branch;
};
};
3D7709372B29139700199889 /* XCRemoteSwiftPackageReference "Pulse" */ = {
@@ -919,10 +919,10 @@
package = 3D13F9582B375A9E00E91913 /* XCRemoteSwiftPackageReference "Nuke" */;
productName = NukeUI;
};
- 3D3816CD2B4B78BB006414D7 /* VisibilityTrackingScrollView */ = {
+ 3D21F4282B69A8B0007207D2 /* ExpandableText */ = {
isa = XCSwiftPackageProductDependency;
- package = 3D3816CC2B4B78BA006414D7 /* XCRemoteSwiftPackageReference "VisibilityTrackingScrollView" */;
- productName = VisibilityTrackingScrollView;
+ package = 3D21F4272B69A8B0007207D2 /* XCRemoteSwiftPackageReference "ExpandableText" */;
+ productName = ExpandableText;
};
3D7709382B29139700199889 /* Pulse */ = {
isa = XCSwiftPackageProductDependency;
diff --git a/Jel.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Jel.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
index c9b17cb..4d38cb8 100644
--- a/Jel.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
+++ b/Jel.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
@@ -1,6 +1,15 @@
{
"object": {
"pins": [
+ {
+ "package": "ExpandableText",
+ "repositoryURL": "https://github.com/n3d1117/ExpandableText?tab=readme-ov-file",
+ "state": {
+ "branch": "main",
+ "revision": "2b0dd2f3d2870fe933ffe5c2ee057d2e9fa647e2",
+ "version": null
+ }
+ },
{
"package": "Get",
"repositoryURL": "https://github.com/kean/Get",
@@ -36,15 +45,6 @@
"revision": "4ce950479707ea109f229d7230ec074a133b15d7",
"version": "0.2.1"
}
- },
- {
- "package": "VisibilityTrackingScrollView",
- "repositoryURL": "https://github.com/elegantchaos/VisibilityTrackingScrollView",
- "state": {
- "branch": null,
- "revision": "9a5788298a1e238ed1e1f51b195a1296125a5a8c",
- "version": "1.0.3"
- }
}
]
},
diff --git a/Jel/Views/Item/ItemMediaView.swift b/Jel/Views/Item/ItemMediaView.swift
index be8264a..75fa2e1 100644
--- a/Jel/Views/Item/ItemMediaView.swift
+++ b/Jel/Views/Item/ItemMediaView.swift
@@ -7,7 +7,7 @@
import SwiftUI
import JellyfinKit
-import VisibilityTrackingScrollView
+import ExpandableText
struct ItemMediaView: View {
@EnvironmentObject var jellyfinClient: JellyfinClientController
@@ -22,9 +22,8 @@ struct ItemMediaView: View {
.font(.headline)
.frame(maxWidth: .infinity, alignment: .leading)
- ForEach(item.overview?.components(separatedBy: "
") ?? [], id: \.self) {overview in
- Text(overview)
- }
+ ExpandableText((item.overview ?? "").replacingOccurrences(of: "
", with: ""))
+ .lineLimit(8)
}
}
}
diff --git a/Jel/Views/Item/Types/ItemPersonView.swift b/Jel/Views/Item/Types/ItemPersonView.swift
index ebbc52f..e6a3b57 100644
--- a/Jel/Views/Item/Types/ItemPersonView.swift
+++ b/Jel/Views/Item/Types/ItemPersonView.swift
@@ -7,6 +7,7 @@
import SwiftUI
import JellyfinKit
+import ExpandableText
struct ItemPersonViewItemsRow: View {
var items: [BaseItemDto]
@@ -45,7 +46,8 @@ struct ItemPersonView: View {
.padding()
if let overview = item.overview {
- Text(overview)
+ ExpandableText(overview)
+ .lineLimit(8)
.padding([.horizontal, .bottom])
}