diff --git a/web/src/components/MemoEditor/ActionButton/VisibilitySelector.tsx b/web/src/components/MemoEditor/ActionButton/VisibilitySelector.tsx index d34e963f..9b6186ce 100644 --- a/web/src/components/MemoEditor/ActionButton/VisibilitySelector.tsx +++ b/web/src/components/MemoEditor/ActionButton/VisibilitySelector.tsx @@ -3,16 +3,18 @@ import { useState } from "react"; import VisibilityIcon from "@/components/VisibilityIcon"; import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/Popover"; import { Visibility } from "@/types/proto/api/v1/memo_service"; +import { cn } from "@/utils"; import { useTranslate } from "@/utils/i18n"; interface Props { value: Visibility; onChange: (visibility: Visibility) => void; + onOpenChange?: (open: boolean) => void; className?: string; } const VisibilitySelector = (props: Props) => { - const { value, onChange, className } = props; + const { value, onChange } = props; const t = useTranslate(); const [open, setOpen] = useState(false); @@ -26,14 +28,24 @@ const VisibilitySelector = (props: Props) => { const handleSelect = (visibility: Visibility) => { onChange(visibility); - setOpen(false); + handleOpenChange(false); + }; + + const handleOpenChange = (open: boolean) => { + setOpen(open); + if (props.onOpenChange) { + props.onOpenChange(open); + } }; return ( - +