import type { IData } from "react-native-week-schedule-1";

export const findConflicts = <T extends IData>(currentItem: T, items: T[]) => {
    const s1 = new Date(currentItem.date.split('.')[0] as string).getTime();
    const e1 = new Date(s1 + (currentItem.duration * 60000)).getTime();
    const conflicts = items.filter(item => {
        const s2 = new Date(item.date.split('.')[0] as string).getTime();
        const e2 = new Date(s2 + (item.duration * 60000)).getTime();
        return !((s1 < s2 && e1 <= s2) || (s2 < s1 && e2 <= s1))
    });
    return conflicts;
};

/* 
crossing
s1 s2 e1 e2
s1 s2 e2 e1
s2 s1 e2 e1
s12 e12
s12 e1 e2
s12 e2 e1
s1 s2 e12
s2 s1 e12

don't crossing
s1 e1 s2 e2
s2 e2 s1 e1
s1 s2e1 e2
s2 s1e2 e1
*/