This commit is contained in:
chamikaJ
2025-04-17 18:28:54 +05:30
parent f583291d8a
commit 8825b0410a
2837 changed files with 241385 additions and 127578 deletions

View File

@@ -0,0 +1,34 @@
export const sortByBooleanField = <T extends Record<string, any>>(
data: T[],
field: keyof T,
prioritizeTrue: boolean = true
) => {
return [...data].sort((a, b) => {
const aValue = !!a[field];
const bValue = !!b[field];
if (aValue === bValue) return 0;
if (prioritizeTrue) {
return aValue ? -1 : 1;
} else {
return !aValue ? -1 : 1;
}
});
};
export const sortBySelection = (data: Array<{ selected?: boolean }>) =>
sortByBooleanField(data, 'selected');
export const sortByPending = (data: Array<{ pending_invitation?: boolean }>) =>
sortByBooleanField(data, 'pending_invitation', false);
export const sortTeamMembers = (data: Array<{ selected?: boolean; pending_invitation?: boolean; is_pending?: boolean }>) => {
return sortByBooleanField(
sortByBooleanField(
sortByBooleanField(data, 'is_pending', false),
'pending_invitation',
false
),
'selected'
);
};