use browser back button to dismiss review pane

This commit is contained in:
Josh Hawkins 2024-10-01 07:48:10 -05:00
parent cf7e65025e
commit d957959ce7

View File

@ -37,6 +37,7 @@ import {
MobilePageHeader, MobilePageHeader,
MobilePageTitle, MobilePageTitle,
} from "@/components/mobile/MobilePage"; } from "@/components/mobile/MobilePage";
import { useOverlayState } from "@/hooks/use-overlay-state";
type ReviewDetailDialogProps = { type ReviewDetailDialogProps = {
review?: ReviewSegment; review?: ReviewSegment;
@ -83,10 +84,12 @@ export default function ReviewDetailDialog({
// dialog and mobile page // dialog and mobile page
const [isOpen, setIsOpen] = useState(review != undefined); const [isOpen, setIsOpen] = useOverlayState("reviewPane", false);
useEffect(() => { useEffect(() => {
setIsOpen(review != undefined); setIsOpen(review != undefined);
// we know that these deps are correct
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [review]); }, [review]);
const Overlay = isDesktop ? Sheet : MobilePage; const Overlay = isDesktop ? Sheet : MobilePage;
@ -102,7 +105,7 @@ export default function ReviewDetailDialog({
return ( return (
<> <>
<Overlay <Overlay
open={isOpen} open={isOpen ?? false}
onOpenChange={(open) => { onOpenChange={(open) => {
if (!open) { if (!open) {
setReview(undefined); setReview(undefined);