mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-21 06:59:09 +00:00
fix: correct offset direction in expected time calculations
This commit is contained in:
committed by
Carlos Valente
parent
4bf74d86b3
commit
111a1f95ba
@@ -22,8 +22,7 @@ interface ScheduleItemProps {
|
|||||||
delay: number;
|
delay: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function ScheduleItem(props: ScheduleItemProps) {
|
export default function ScheduleItem({ timeStart, timeEnd, title, colour, skip, delay }: ScheduleItemProps) {
|
||||||
const { timeStart, timeEnd, title, colour, skip, delay } = props;
|
|
||||||
const { showExpected } = useScheduleOptions();
|
const { showExpected } = useScheduleOptions();
|
||||||
|
|
||||||
if (showExpected) {
|
if (showExpected) {
|
||||||
@@ -67,9 +66,7 @@ export default function ScheduleItem(props: ScheduleItemProps) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function DelayedScheduleItem(props: ScheduleItemProps) {
|
function DelayedScheduleItem({ timeStart, timeEnd, title, colour, skip, delay }: ScheduleItemProps) {
|
||||||
const { timeStart, timeEnd, title, colour, skip, delay } = props;
|
|
||||||
|
|
||||||
const start = formatTime(timeStart, formatOptions);
|
const start = formatTime(timeStart, formatOptions);
|
||||||
const end = formatTime(timeEnd, formatOptions);
|
const end = formatTime(timeEnd, formatOptions);
|
||||||
const delayedStart = formatTime(timeStart + delay, formatOptions);
|
const delayedStart = formatTime(timeStart + delay, formatOptions);
|
||||||
@@ -95,9 +92,7 @@ function DelayedScheduleItem(props: ScheduleItemProps) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function ExpectedScheduleItem(props: ScheduleItemProps) {
|
function ExpectedScheduleItem({ timeStart, timeEnd, title, colour, skip, delay }: ScheduleItemProps) {
|
||||||
const { timeStart, timeEnd, title, colour, skip, delay } = props;
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<li className={cx(['entry', skip && 'entry--skip'])}>
|
<li className={cx(['entry', skip && 'entry--skip'])}>
|
||||||
<div className='entry-times'>
|
<div className='entry-times'>
|
||||||
@@ -116,12 +111,11 @@ interface ExpectedTimeProps {
|
|||||||
delay: number;
|
delay: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
function ExpectedTime(props: ExpectedTimeProps) {
|
function ExpectedTime({ time, delay }: ExpectedTimeProps) {
|
||||||
const { time, delay } = props;
|
|
||||||
const { offset } = useRuntimeOffset();
|
const { offset } = useRuntimeOffset();
|
||||||
|
|
||||||
const expectedOffset = offset - delay;
|
const expectedOffset = offset - delay;
|
||||||
const expectedTime = formatTime(time - offset, formatOptions);
|
const expectedTime = formatTime(time + offset, formatOptions);
|
||||||
const expectedState = getOffsetState(expectedOffset);
|
const expectedState = getOffsetState(expectedOffset);
|
||||||
|
|
||||||
return <SuperscriptTime className={`entry-times--${expectedState}`} time={expectedTime} />;
|
return <SuperscriptTime className={`entry-times--${expectedState}`} time={expectedTime} />;
|
||||||
|
|||||||
@@ -183,7 +183,7 @@ export function getUpcomingEvents(events: PlayableEvent[], selectedId: MaybeStri
|
|||||||
* Utility function calculates time to start
|
* Utility function calculates time to start
|
||||||
*/
|
*/
|
||||||
export function getTimeToStart(now: number, start: number, delay: number, offset: number): number {
|
export function getTimeToStart(now: number, start: number, delay: number, offset: number): number {
|
||||||
return start + delay - now - offset;
|
return start + delay - now + offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface TimelineLayout {
|
interface TimelineLayout {
|
||||||
|
|||||||
Reference in New Issue
Block a user