diff --git a/packages/Schedulely/__tests__/layouts/EventWeekLayout.spec.tsx b/packages/Schedulely/__tests__/layouts/EventWeekLayout.spec.tsx
index 34a7fa7..d8ee441 100644
--- a/packages/Schedulely/__tests__/layouts/EventWeekLayout.spec.tsx
+++ b/packages/Schedulely/__tests__/layouts/EventWeekLayout.spec.tsx
@@ -1,6 +1,6 @@
import { DefaultEvent } from '@/components';
import { EventWeekLayout, getGridEndIndex, getGridStartIndex } from '@/layouts';
-import { InternalCalendarEvent } from '@/types';
+import { InternalCalendarEvent, WeekDay } from '@/types';
import { RenderResult, fireEvent, render } from '@testing-library/react';
import { vi } from 'vitest';
@@ -73,7 +73,11 @@ describe('EventWeekLayout', () => {
beforeEach(() => {
mockSetParentContainerRef.mockClear();
testObject = render(
-
+
);
});
@@ -119,6 +123,10 @@ describe('EventWeekLayout', () => {
expect(mockSetParentContainerRef).toHaveBeenCalledTimes(1));
});
+ describe.todo(
+ 'replace getGridEndIndex and getGridStartIndex with getEventPosition'
+ );
+
describe('getGridEndIndex', () => {
it.each<{ eventEnd: Date; endOfWeek: Date; expected: number }>([
{
diff --git a/packages/Schedulely/src/layouts/eventWeekLayout/EventWeekLayout.tsx b/packages/Schedulely/src/layouts/eventWeekLayout/EventWeekLayout.tsx
index 59026cb..5b46ba2 100644
--- a/packages/Schedulely/src/layouts/eventWeekLayout/EventWeekLayout.tsx
+++ b/packages/Schedulely/src/layouts/eventWeekLayout/EventWeekLayout.tsx
@@ -1,7 +1,4 @@
-import {
- CalendarEvent,
- InternalCalendarEvent,
-} from '@/types/InternalCalendarEvent';
+import { InternalCalendarEvent } from '@/types/InternalCalendarEvent';
import { WeekDay } from '@/types';
import {
useActions,
@@ -16,6 +13,15 @@ export interface EventLayoutProps {
firstDayOfWeek: WeekDay;
}
+export const getGridStartIndex = (eventDate: Date, startOfWeek: Date) =>
+ eventDate <= startOfWeek ? 1 : eventDate.getDay() + 1; //add one because css-grid isn't zero-index'd
+
+export const getGridEndIndex = (eventEndDate: Date, endOfWeek: Date) => {
+ if (eventEndDate > endOfWeek) return 8;
+ const end = eventEndDate.getDay() + 2; // add two because css-grid isn't zero index'd, and day of week is zero-index'd
+ return end;
+};
+
export const getEventPosition = (
{ start, end }: InternalCalendarEvent,
daysInWeek: Date[],