import { memo } from "preact/compat"; import getDelayColor from "../utils/getDelayColor"; import getDelayString from "../utils/getDelayString"; import useRouteStop from "../utils/hooks/useRouteStop"; import type { JSX, PreactDOMAttributes } from "preact"; export type RouteStopDelayProps = JSX.HTMLAttributes & PreactDOMAttributes; function RouteStopDelay(props: RouteStopDelayProps) { const { status, stop } = useRouteStop(); const { arrivalDelay, departureDelay } = stop; const hideDelay = status.isNotRealtime || status.isCancelled || status.isNotStop || status.isPassed; return (
{hideDelay || arrivalDelay === null || status.isFirst ? null : ( {`+${getDelayString(arrivalDelay)}`} )} {hideDelay || departureDelay === null || status.isLast ? null : ( {`+${getDelayString(departureDelay)}`} )}
); } export default memo(RouteStopDelay);