mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-26 23:58:31 -06:00
moving v2 to top level
This commit is contained in:
25
src/app/course/[courseName]/context/drag/getNewLockDate.ts
Normal file
25
src/app/course/[courseName]/context/drag/getNewLockDate.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
"use client";
|
||||
import { getDateFromStringOrThrow, dateToMarkdownString } from "@/models/local/utils/timeUtils";
|
||||
|
||||
|
||||
export function getNewLockDate(
|
||||
originalDueDate: string,
|
||||
originalLockDate: string | undefined,
|
||||
dayAsDate: Date
|
||||
): string | undefined {
|
||||
// todo: preserve previous due date / lock date offset
|
||||
const dueDate = getDateFromStringOrThrow(originalDueDate, "dueAt date");
|
||||
const lockDate = originalLockDate === undefined
|
||||
? undefined
|
||||
: getDateFromStringOrThrow(originalLockDate, "lockAt date");
|
||||
|
||||
const originalOffset = lockDate === undefined ? undefined : lockDate.getTime() - dueDate.getTime();
|
||||
|
||||
const newLockDate = originalOffset === undefined
|
||||
? undefined
|
||||
: new Date(dayAsDate.getTime() + originalOffset);
|
||||
|
||||
return newLockDate === undefined
|
||||
? undefined
|
||||
: dateToMarkdownString(newLockDate);
|
||||
}
|
||||
Reference in New Issue
Block a user