From f10c46f0d856f468130dd23376cfbee3b96b0c0c Mon Sep 17 00:00:00 2001 From: sebastjanartic <45803536-sebastjanartic@users.noreply.replit.com> Date: Sat, 30 Aug 2025 14:39:17 +0000 Subject: [PATCH] Improve video grid scrolling behavior when modal is open Introduce a `hideScrollButtons` prop to `CategoryRow` in `netflix-grid.tsx` to conditionally render scroll buttons based on the `isModalOpen` state, preventing scroll button interference when a modal is active. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 074b0e4c-6171-43bd-aa98-f9e04623ca14 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/074b0e4c-6171-43bd-aa98-f9e04623ca14/DVZN4Rp --- attached_assets/image_1756564625261.png | Bin 0 -> 25348 bytes client/src/components/netflix-grid.tsx | 48 +++++++++++++----------- 2 files changed, 27 insertions(+), 21 deletions(-) create mode 100644 attached_assets/image_1756564625261.png diff --git a/attached_assets/image_1756564625261.png b/attached_assets/image_1756564625261.png new file mode 100644 index 0000000000000000000000000000000000000000..38013486d90bb7ca1f5154a9da6506950b1414da GIT binary patch literal 25348 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%0DOve5~*k{ZA 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 literal 0 HcmV?d00001 diff --git a/client/src/components/netflix-grid.tsx b/client/src/components/netflix-grid.tsx index 439bfe6..5ac3351 100644 --- a/client/src/components/netflix-grid.tsx +++ b/client/src/components/netflix-grid.tsx @@ -111,6 +111,7 @@ export default function NetflixGrid({ videos, isLoading }: NetflixGridProps) { ))} @@ -130,9 +131,10 @@ export default function NetflixGrid({ videos, isLoading }: NetflixGridProps) { interface CategoryRowProps { category: VideoCategory; onVideoClick: (video: Video) => void; + hideScrollButtons?: boolean; } -function CategoryRow({ category, onVideoClick }: CategoryRowProps) { +function CategoryRow({ category, onVideoClick, hideScrollButtons = false }: CategoryRowProps) { const scrollRef = useRef(null); const [isScrolling, setIsScrolling] = useState(false); const scrollIntervalRef = useRef(); @@ -195,27 +197,31 @@ function CategoryRow({ category, onVideoClick }: CategoryRowProps) { {category.title}
- {/* Left scroll button - only on desktop */} - + {/* Left scroll button - only on desktop and not hidden */} + {!hideScrollButtons && ( + + )} - {/* Right scroll button - only on desktop */} - + {/* Right scroll button - only on desktop and not hidden */} + {!hideScrollButtons && ( + + )} {/* Scrollable video row - true edge to edge */}