Bugfix: Share dialog was not receiving the player timestamp after removing key that triggered remounts

This commit is contained in:
0x464e 2026-03-20 21:54:07 +02:00
parent dd5ad11a6e
commit 55a858783c
No known key found for this signature in database
GPG Key ID: E6D221DF6CBFBFFA
2 changed files with 26 additions and 21 deletions

View File

@ -31,6 +31,10 @@ type ShareTimestampDialogProps = {
currentTime: number;
open: boolean;
onOpenChange: (open: boolean) => void;
selectedOption: "current" | "custom";
setSelectedOption: (option: "current" | "custom") => void;
customTimestamp: number;
setCustomTimestamp: (timestamp: number) => void;
onShareTimestamp: (timestamp: number) => void;
};
@ -38,35 +42,22 @@ export default function ShareTimestampDialog({
currentTime,
open,
onOpenChange,
selectedOption,
setSelectedOption,
customTimestamp,
setCustomTimestamp,
onShareTimestamp,
}: Readonly<ShareTimestampDialogProps>) {
const { t } = useTranslation(["components/dialog"]);
const [selectedOption, setSelectedOption] = useState<"current" | "custom">(
"current",
);
const [openedCurrentTime, setOpenedCurrentTime] = useState(
Math.floor(currentTime),
);
const [customTimestamp, setCustomTimestamp] = useState(openedCurrentTime);
const handleOpenChange = useCallback(
(nextOpen: boolean) => {
if (nextOpen) {
const initialTimestamp = Math.floor(currentTime);
setOpenedCurrentTime(initialTimestamp);
setSelectedOption("current");
setCustomTimestamp(initialTimestamp);
}
onOpenChange(nextOpen);
},
[currentTime, onOpenChange],
(nextOpen: boolean) => onOpenChange(nextOpen),
[onOpenChange],
);
const content = (
<ShareTimestampContent
currentTime={openedCurrentTime}
currentTime={currentTime}
selectedOption={selectedOption}
setSelectedOption={setSelectedOption}
customTimestamp={customTimestamp}

View File

@ -213,6 +213,12 @@ export function RecordingView({
const [shareTimestampAtOpen, setShareTimestampAtOpen] = useState(
Math.floor(startTime),
);
const [shareTimestampOption, setShareTimestampOption] = useState<
"current" | "custom"
>("current");
const [customShareTimestamp, setCustomShareTimestamp] = useState(
Math.floor(startTime),
);
// move to next clip
@ -694,13 +700,21 @@ export function RecordingView({
currentTime={shareTimestampAtOpen}
open={shareTimestampOpen}
onOpenChange={setShareTimestampOpen}
selectedOption={shareTimestampOption}
setSelectedOption={setShareTimestampOption}
customTimestamp={customShareTimestamp}
setCustomTimestamp={setCustomShareTimestamp}
onShareTimestamp={onShareReviewLink}
/>
)}
{isDesktop && (
<ActionsDropdown
onShareTimestampClick={() => {
setShareTimestampAtOpen(Math.floor(currentTime));
const initialTimestamp = Math.floor(currentTime);
setShareTimestampAtOpen(initialTimestamp);
setShareTimestampOption("current");
setCustomShareTimestamp(initialTimestamp);
setShareTimestampOpen(true);
}}
onDebugReplayClick={() => {