pass data from ssocket

This commit is contained in:
arc-alex
2025-03-20 16:04:44 +01:00
parent 729c68e9e2
commit 7c642f3832
3 changed files with 19 additions and 9 deletions
@@ -54,6 +54,8 @@ describe('calculateTimeUntilStart()', () => {
clock: 90,
offset: 0,
offsetMode: OffsetMode.Absolute,
actualStart: null,
plannedStart: null,
};
expect(calculateTimeUntilStart({ ...test, isLinkedToLoaded: false })).toBe(10);
@@ -70,6 +72,8 @@ describe('calculateTimeUntilStart()', () => {
clock: 90,
offset: -20,
offsetMode: OffsetMode.Absolute,
actualStart: null,
plannedStart: null,
};
expect(calculateTimeUntilStart({ ...test, isLinkedToLoaded: false })).toBe(30);
@@ -86,6 +90,8 @@ describe('calculateTimeUntilStart()', () => {
clock: 80,
offset: 10,
offsetMode: OffsetMode.Absolute,
actualStart: null,
plannedStart: null,
};
expect(calculateTimeUntilStart({ ...test, isLinkedToLoaded: false })).toBe(20); // <-- when running ahead the unlinked timer stays put
@@ -102,6 +108,8 @@ describe('calculateTimeUntilStart()', () => {
clock: 50,
offset: -20,
offsetMode: OffsetMode.Absolute,
actualStart: null,
plannedStart: null,
};
expect(calculateTimeUntilStart({ ...test, isLinkedToLoaded: false })).toBe(50);
@@ -118,6 +126,8 @@ describe('calculateTimeUntilStart()', () => {
clock: 50,
offset: -20,
offsetMode: OffsetMode.Absolute,
actualStart: 0,
plannedStart: 0,
};
expect(calculateTimeUntilStart({ ...test, isLinkedToLoaded: false })).toBe(60);
+5 -8
View File
@@ -138,11 +138,10 @@ export function useTimeUntilStart(
data: Pick<OntimeEvent, 'timeStart' | 'dayOffset' | 'delay'> & {
totalGap: number;
isLinkedToLoaded: boolean;
offsetMode: OffsetMode;
},
): number {
const { offset, clock, currentDay } = useTimeUntilData();
return calculateTimeUntilStart({ ...data, currentDay, clock, offset });
const { offset, clock, currentDay, offsetMode, actualStart, plannedStart } = useTimeUntilData();
return calculateTimeUntilStart({ ...data, currentDay, clock, offset, offsetMode, actualStart, plannedStart });
}
/**
@@ -162,8 +161,8 @@ export function calculateTimeUntilStart(
clock: number;
offset: number;
offsetMode: OffsetMode;
actualStart?: number;
plannedStart?: number;
actualStart: MaybeNumber;
plannedStart: MaybeNumber;
},
): number {
const {
@@ -191,9 +190,7 @@ export function calculateTimeUntilStart(
let relativeStartOffset = 0;
if (offsetMode === OffsetMode.Relative) {
assert(actualStart !== undefined);
assert(plannedStart !== undefined);
relativeStartOffset = actualStart - plannedStart;
relativeStartOffset = (actualStart ?? 0) - (plannedStart ?? 0);
}
const scheduledTimeUntil = normalisedTimeStart - clock + relativeStartOffset;