import * as React from "react"; import { useState, useCallback } from "react"; import { VidepPlayerCollapsePropsBase } from ".."; import { VideoItem } from "../../video/video"; type UseVideoPlayerManager = { video?: VideoItem; open: boolean; onClose: () => void; }; export function useVideoPlayerCollapse({ open, video, onClose, }: UseVideoPlayerManager): { videoPlayerModal: VidepPlayerCollapsePropsBase; } { const [isMinimized, setIsMinimized] = useState(false); const [isOpenInfo, setIsOpenInfo] = useState(false); const [showBottomOptions, setShowBottomOptions] = useState(false); const [isShareOptionsOpened, setIsShareOptionOpened] = useState(false); const onMinimize = useCallback(() => setIsMinimized(!isMinimized), [ isMinimized, ]); const onSwitchInfo = useCallback(() => setIsOpenInfo(!isOpenInfo), [ isOpenInfo, ]); const onOpenShareOptions = useCallback( () => setIsShareOptionOpened(!isShareOptionsOpened), [isShareOptionsOpened] ); const onCloseVideo = onClose; const onShowBottomOptions = useCallback(() => setShowBottomOptions(true), []); const onHiddeBottomOptions = useCallback( () => setShowBottomOptions(false), [] ); return { videoPlayerModal: { isMinimized, show: open, data: video, onMinimize, isOpenInfo, onSwitchInfo, isShareOptionsOpened, onOpenShareOptions, onCloseVideo, onShowBottomOptions, onHiddeBottomOptions, showBottomOptions, }, }; }