From 0538f6c98533f4e41eecdb96041df76ea233fa69 Mon Sep 17 00:00:00 2001 From: Eric Park Date: Fri, 13 Oct 2023 12:21:13 -0400 Subject: [PATCH 1/3] Refactor poster width variable in library item row --- Swiftfin/Components/LibraryItemRow.swift | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Swiftfin/Components/LibraryItemRow.swift b/Swiftfin/Components/LibraryItemRow.swift index 58aa11452..95e5a26fe 100644 --- a/Swiftfin/Components/LibraryItemRow.swift +++ b/Swiftfin/Components/LibraryItemRow.swift @@ -17,13 +17,15 @@ struct LibraryItemRow: View { private let item: BaseItemDto private var onSelect: () -> Void + private let posterWidth: CGFloat = 60 + var body: some View { Button { onSelect() } label: { HStack(alignment: .bottom) { - ImageView(item.portraitPosterImageSource(maxWidth: 60)) - .posterStyle(type: .portrait, width: 60) + ImageView(item.portraitPosterImageSource(maxWidth: posterWidth)) + .posterStyle(type: .portrait, width: posterWidth) .posterShadow() VStack(alignment: .leading) { From 5db018d24c50efe6ceaa08c822de2611e0da8e40 Mon Sep 17 00:00:00 2001 From: Eric Park Date: Fri, 13 Oct 2023 15:54:56 -0400 Subject: [PATCH 2/3] Add padding to library item on both iOS and iPadOS --- Swiftfin/Components/PagingLibraryView.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Swiftfin/Components/PagingLibraryView.swift b/Swiftfin/Components/PagingLibraryView.swift index 9ac8c7df6..590b6b1f6 100644 --- a/Swiftfin/Components/PagingLibraryView.swift +++ b/Swiftfin/Components/PagingLibraryView.swift @@ -27,7 +27,7 @@ struct PagingLibraryView: View { if libraryGridPosterType == .landscape && UIDevice.isPhone { return .fixedNumberOfColumns(2) } else { - return .adaptive(withMinItemSize: libraryGridPosterType.width + (UIDevice.isIPad ? 10 : 0)) + return .adaptive(withMinItemSize: libraryGridPosterType.width + 10) } } From a24e8e416fc69d3435583f369527d7379049ad61 Mon Sep 17 00:00:00 2001 From: Eric Park Date: Mon, 30 Oct 2023 15:42:56 -0400 Subject: [PATCH 3/3] Scale portrait poster size --- Swiftfin/Components/PagingLibraryView.swift | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Swiftfin/Components/PagingLibraryView.swift b/Swiftfin/Components/PagingLibraryView.swift index 590b6b1f6..e4d6a51d7 100644 --- a/Swiftfin/Components/PagingLibraryView.swift +++ b/Swiftfin/Components/PagingLibraryView.swift @@ -23,11 +23,13 @@ struct PagingLibraryView: View { private var onSelect: (BaseItemDto) -> Void + private let portraitPosterScale = 1.25 + private var gridLayout: NSCollectionLayoutSection.GridLayoutMode { if libraryGridPosterType == .landscape && UIDevice.isPhone { return .fixedNumberOfColumns(2) } else { - return .adaptive(withMinItemSize: libraryGridPosterType.width + 10) + return .adaptive(withMinItemSize: libraryGridPosterType.width * portraitPosterScale + 10) } } @@ -62,7 +64,7 @@ struct PagingLibraryView: View { private var libraryGridView: some View { CollectionView(items: viewModel.items.elements) { _, item, _ in PosterButton(state: .item(item), type: libraryGridPosterType) - .scaleItem(libraryGridPosterType == .landscape && UIDevice.isPhone ? 0.85 : 1) + .scaleItem(libraryGridPosterType == .landscape && UIDevice.isPhone ? 0.85 : portraitPosterScale) .onSelect { onSelect(item) }