a tool for shared writing and social publishing

fix open logic in popover

+5 -2
+5 -2
components/Popover.tsx
··· 2 2 import * as RadixPopover from "@radix-ui/react-popover"; 3 3 import { theme } from "tailwind.config"; 4 4 import { NestedCardThemeProvider } from "./ThemeManager/ThemeProvider"; 5 - import { createContext, useState } from "react"; 5 + import { createContext, useEffect, useState } from "react"; 6 6 import { PopoverArrow } from "./Icons/PopoverArrow"; 7 7 8 8 export const PopoverOpenContext = createContext(false); ··· 22 22 arrowFill?: string; 23 23 }) => { 24 24 let [open, setOpen] = useState(props.open || false); 25 + useEffect(() => { 26 + if (props.open !== undefined) setOpen(props.open); 27 + }, [props.open]); 25 28 return ( 26 29 <RadixPopover.Root 27 30 open={props.open} 28 31 onOpenChange={(o) => { 29 32 setOpen(o); 30 - props.onOpenChange?.(open); 33 + props.onOpenChange?.(o); 31 34 }} 32 35 > 33 36 <PopoverOpenContext value={open}>