blocks/multiplatform/videos/video-block/video-block.tsx (27 lines of code) (raw):
import React, { FC } from 'react';
import { useTextStyles } from '@rescui/typography';
import cn from 'classnames';
import styles from './video-block.module.css';
import { MiniVideoPlayer, MiniVideoPlayerProps, PlayButtonMode } from '@webteam/video-player';
type VideoBlockProps = {
title: string;
children?: React.ReactNode;
iconPath: string;
textWidthLimit?: string;
} & MiniVideoPlayerProps;
export const VideoBlock: FC<VideoBlockProps> = ({ className, title, children, iconPath, textWidthLimit, ...props }) => {
const textCn = useTextStyles();
return (
<section className={cn(styles.videoBlock, 'ktl-layout', 'ktl-layout--center')}>
<img src={iconPath} className={styles.icon} alt="" />
<h2 className={cn(styles.title, textCn('rs-h1'))}>{title}</h2>
<div className={cn(styles.subtitle, textCn('rs-subtitle-2', { hardness: 'average' }))}
style={textWidthLimit ? { 'maxWidth': textWidthLimit } : {}}>{children}</div>
<MiniVideoPlayer
{...props}
className={cn(className, styles.videoPlayer)}
autoplay={true}
muted={true}
playButtonMode={PlayButtonMode.Black}
/>
</section>
);
};