Skip to main content

Program - Vertical

Below is an example that allows you to render your custom Program component using Plaby's style components.

import {
ProgramBox,
ProgramContent,
ProgramFlex,
ProgramStack,
ProgramTitle,
ProgramText,
ProgramImage,
Program,
ProgramItem
useProgram,
} from "planby";


const CustomItem = (({ isVerticalMode, program, ...rest }: ProgramItem) => {
const {
isRTL,
styles,
formatTime,
set12HoursTimeFormat,
getRTLSinceTime,
getRTLTillTime,
isLive,
isMinWidth,
} = useProgram({
isVerticalMode,
program,
...rest,
});

const { data } = program;
const { image, title, since, till } = data;

const sinceTime = formatTime(
getRTLSinceTime(since),
set12HoursTimeFormat()
).toLowerCase();

const tillTime = formatTime(
getRTLTillTime(till),
set12HoursTimeFormat()
).toLowerCase();

return (
<ProgramBox width={styles.width} style={styles.position}>
<ProgramContent
isVerticalMode={isVerticalMode}
width={styles.width}
isLive={isLive}
>
<ProgramFlex isVerticalMode={isVerticalMode}>
{isLive && isMinWidth && (
<ProgramImage
isVerticalMode={isVerticalMode}
src={image}
alt="Preview"
/>
)}
<ProgramStack >
<ProgramTitle>{title}</ProgramTitle>
<ProgramText>
{sinceTime} - {tillTime}
</ProgramText>
</ProgramStack>
</ProgramFlex>
</ProgramContent>
</ProgramBox>
);
};