PromucFlow_constructor/app/client/src/components/designSystems/appsmith/PopoverVideo.tsx
2020-12-24 10:02:25 +05:30

65 lines
1.5 KiB
TypeScript

import React from "react";
import {
Popover,
PopoverInteractionKind,
PopoverPosition,
} from "@blueprintjs/core";
import { Colors } from "constants/Colors";
import VideoComponent, { VideoComponentProps } from "./VideoComponent";
import styled, { AnyStyledComponent } from "styled-components";
import { ControlIcons } from "icons/ControlIcons";
const PlayIcon = styled(ControlIcons.PLAY_VIDEO as AnyStyledComponent)`
position: relative;
top: 10px;
cursor: pointer;
&:hover {
svg {
path {
fill: ${Colors.POMEGRANATE};
}
}
}
`;
const PlayerWrapper = styled.div` import React, { Ref } from "react";
width: 600px;
height: 400px;
`;
const PopoverVideo = (props: VideoComponentProps) => {
return (
<div onClick={(e) => e.stopPropagation()}>
<Popover
position={PopoverPosition.AUTO}
interactionKind={PopoverInteractionKind.CLICK}
minimal
usePortal
enforceFocus={false}
lazy={true}
modifiers={{
flip: {
behavior: ["right", "left", "bottom", "top"],
},
keepTogether: {
enabled: false,
},
arrow: {
enabled: false,
},
preventOverflow: {
enabled: true,
boundariesElement: "viewport",
},
}}
>
<PlayIcon></PlayIcon>
<PlayerWrapper>
<VideoComponent url={props.url} />
</PlayerWrapper>
</Popover>
</div>
);
};
export default PopoverVideo;