From bfbb5c6b6cf7f66aeca47d0a99260f6e7df61749 Mon Sep 17 00:00:00 2001 From: Mason Fox Date: Thu, 12 Feb 2026 18:10:20 -0500 Subject: [PATCH 1/6] fix: hide FL wedge toggle for VIP torrents in dual fetch mode --- app/components/DualDownloadButton.jsx | 88 ------------------------ app/components/DualSearchResultsList.jsx | 6 +- app/components/MobileBottomSheet.jsx | 4 +- 3 files changed, 5 insertions(+), 93 deletions(-) delete mode 100644 app/components/DualDownloadButton.jsx diff --git a/app/components/DualDownloadButton.jsx b/app/components/DualDownloadButton.jsx deleted file mode 100644 index c5edcc4..0000000 --- a/app/components/DualDownloadButton.jsx +++ /dev/null @@ -1,88 +0,0 @@ -import PropTypes from 'prop-types'; -import WedgeToggleButton from './WedgeToggleButton'; - -export default function DualDownloadButton({ - audiobookSelected, - bookSelected, - onDownload, - loading, - userStats, - useAudiobookWedge, - useBookWedge, - onToggleAudiobookWedge, - onToggleBookWedge -}) { - const bothSelected = audiobookSelected && bookSelected; - const disabled = !bothSelected || loading; - const hasWedges = userStats?.flWedges > 0; - - return ( -
-
- {/* Wedge toggles when both selected */} - {bothSelected && hasWedges && ( -
- Use FL Wedge: - - -
- )} - - {/* Download button */} - -
-
- ); -} - -DualDownloadButton.propTypes = { - audiobookSelected: PropTypes.bool.isRequired, - bookSelected: PropTypes.bool.isRequired, - onDownload: PropTypes.func.isRequired, - loading: PropTypes.bool.isRequired, - userStats: PropTypes.shape({ - uploaded: PropTypes.string, - downloaded: PropTypes.string, - ratio: PropTypes.string, - flWedges: PropTypes.number - }), - useAudiobookWedge: PropTypes.bool, - useBookWedge: PropTypes.bool, - onToggleAudiobookWedge: PropTypes.func, - onToggleBookWedge: PropTypes.func -}; diff --git a/app/components/DualSearchResultsList.jsx b/app/components/DualSearchResultsList.jsx index 8e798e1..323e3b9 100644 --- a/app/components/DualSearchResultsList.jsx +++ b/app/components/DualSearchResultsList.jsx @@ -138,10 +138,10 @@ export default function DualSearchResultsList({ {bothSelected && (
{/* FL Wedge toggles */} - {userStats?.flWedges > 0 && (selectedBook?.freeleech === false || selectedAudiobook?.freeleech === false) ? ( + {userStats?.flWedges > 0 && ((selectedBook?.freeleech === false && !selectedBook?.vip) || (selectedAudiobook?.freeleech === false && !selectedAudiobook?.vip)) ? (
Use FL Wedge: - {!selectedBook?.freeleech && ( + {!selectedBook?.freeleech && !selectedBook?.vip && ( )} - {!selectedAudiobook?.freeleech && ( + {!selectedAudiobook?.freeleech && !selectedAudiobook?.vip && ( 0; const stepText = currentStep === 1 ? 'a Book' : 'an Audiobook'; - const showBookWedge = selectedBook && !selectedBook.freeleech; - const showAudiobookWedge = selectedAudiobook && !selectedAudiobook.freeleech; + const showBookWedge = selectedBook && !selectedBook.freeleech && !selectedBook.vip; + const showAudiobookWedge = selectedAudiobook && !selectedAudiobook.freeleech && !selectedAudiobook.vip; return ( <> From db69b5698268bd22c9ca0ae175e45c57a651f387 Mon Sep 17 00:00:00 2001 From: Mason Fox Date: Thu, 12 Feb 2026 18:16:17 -0500 Subject: [PATCH 2/6] fix: consolidate wedge visibility logic and remove separator in dual mode header --- app/components/DualSearchResultsList.jsx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/app/components/DualSearchResultsList.jsx b/app/components/DualSearchResultsList.jsx index 323e3b9..472b570 100644 --- a/app/components/DualSearchResultsList.jsx +++ b/app/components/DualSearchResultsList.jsx @@ -87,6 +87,11 @@ export default function DualSearchResultsList({ } // Download button component - matching search button style with icon + const hasWedges = userStats?.flWedges > 0; + const showBookWedge = hasWedges && selectedBook?.freeleech === false && !selectedBook?.vip; + const showAudiobookWedge = hasWedges && selectedAudiobook?.freeleech === false && !selectedAudiobook?.vip; + const showWedges = showBookWedge || showAudiobookWedge; + const downloadButton = (