mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-11 18:33:53 +00:00
feat: pip for timer preview (#1862)
--------- Co-authored-by: Shobhit Nagpal <74096450+Shobhit-Nagpal@users.noreply.github.com> Co-authored-by: Carlos Valente <carlosvalente@pm.me>
This commit is contained in:
committed by
GitHub
parent
3dfb49e63f
commit
f223766445
@@ -1,6 +1,7 @@
|
||||
.corner {
|
||||
.arrow {
|
||||
transform: rotate(45deg);
|
||||
|
||||
}
|
||||
.corner {
|
||||
position: absolute;
|
||||
top: 0.5rem;
|
||||
right: 0.5rem;
|
||||
@@ -21,6 +22,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
.offsetCorner {
|
||||
right: 2rem;
|
||||
}
|
||||
|
||||
.header {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
@@ -51,6 +56,6 @@
|
||||
|
||||
&.vertical {
|
||||
width: 1px;
|
||||
height: 0.75em;
|
||||
height: 0.75em;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,33 @@
|
||||
import type { HTMLAttributes, LabelHTMLAttributes } from 'react';
|
||||
import type { HTMLAttributes, JSX, LabelHTMLAttributes, MouseEventHandler } from 'react';
|
||||
import { IconBaseProps } from 'react-icons';
|
||||
import { IoArrowUp } from 'react-icons/io5';
|
||||
import { TbPictureInPictureOff } from 'react-icons/tb';
|
||||
|
||||
import { cx } from '../../utils/styleUtils';
|
||||
|
||||
import style from './EditorUtils.module.scss';
|
||||
|
||||
export function Corner({ className, ...elementProps }: IconBaseProps) {
|
||||
return <IoArrowUp className={cx([style.corner, className])} {...elementProps} />;
|
||||
export function CornerExtract({ className, ...elementProps }: IconBaseProps) {
|
||||
return <IoArrowUp className={cx([style.corner, style.arrow, className])} {...elementProps} />;
|
||||
}
|
||||
|
||||
export function CornerPipButton({ className, ...elementProps }: IconBaseProps) {
|
||||
return <TbPictureInPictureOff className={cx([style.corner, style.offsetCorner, className])} {...elementProps} />;
|
||||
}
|
||||
|
||||
interface ExtractAndPip extends IconBaseProps {
|
||||
onExtractClick: MouseEventHandler<SVGElement>;
|
||||
pipElement: JSX.Element;
|
||||
}
|
||||
|
||||
export function CornerWithPip({ className, pipElement, onExtractClick }: ExtractAndPip) {
|
||||
return (
|
||||
<>
|
||||
<IoArrowUp className={cx([style.corner, style.arrow, className])} onClick={onExtractClick} />
|
||||
{/* the pip element returns the icon button */}
|
||||
{pipElement}
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export function Title({ children, className, ...elementProps }: HTMLAttributes<HTMLHeadingElement>) {
|
||||
|
||||
Reference in New Issue
Block a user