Fix URL params in embed player

When opening/closing embedded videos, maintain existing URL parameters including pagination state. Previously, the video player would reset page to 0 and lose other query parameters.
This commit is contained in:
Mason James
2025-03-27 19:36:32 -04:00
parent 8f34626a27
commit 40bae8d73d
2 changed files with 10 additions and 2 deletions

View File

@@ -121,7 +121,11 @@ const EmbeddableVideoPlayer = ({ videoId }: EmbeddableVideoPlayerProps) => {
alt="close-icon" alt="close-icon"
title="Close player" title="Close player"
onClick={() => { onClick={() => {
setSearchParams({}); setSearchParams(params => {
const newParams = new URLSearchParams(params);
newParams.delete('videoId');
return newParams;
});
}} }}
/> />

View File

@@ -40,7 +40,11 @@ const VideoListItem = ({
<div className={`video-item ${viewLayout}`}> <div className={`video-item ${viewLayout}`}>
<a <a
onClick={() => { onClick={() => {
setSearchParams({ videoId: video.youtube_id }); setSearchParams(params => {
const newParams = new URLSearchParams(params);
newParams.set('videoId', video.youtube_id);
return newParams;
});
}} }}
> >
<div className={`video-thumb-wrap ${viewLayout}`}> <div className={`video-thumb-wrap ${viewLayout}`}>