Skip to content

Commit 8b20b18

Browse files
committed
add card util function
1 parent 094e39f commit 8b20b18

1 file changed

Lines changed: 18 additions & 1 deletion

File tree

src/libs/CardUtils.ts

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type {FeedKeysWithAssignedCards} from '@selectors/Card';
2-
import {fromUnixTime, isBefore} from 'date-fns';
2+
import {format, fromUnixTime, isBefore} from 'date-fns';
33
import groupBy from 'lodash/groupBy';
44
import type {OnyxCollection, OnyxEntry} from 'react-native-onyx';
55
import type {TupleToUnion, ValueOf} from 'type-fest';
@@ -840,6 +840,22 @@ function getDefaultCardName(cardholder?: string) {
840840
return `${cardholder}'s card`;
841841
}
842842

843+
/**
844+
* Gets the start date for a card assignment.
845+
* When not editing, always returns the current date.
846+
* When editing, returns the existing start date or current date as fallback.
847+
*
848+
* @param isEditing - Whether the card assignment is being edited
849+
* @param existingStartDate - The existing start date from previous assignment
850+
* @returns Formatted start date string in yyyy-MM-dd format
851+
*/
852+
function getCardAssignmentStartDate(isEditing: boolean | undefined, existingStartDate?: string): string {
853+
if (!isEditing) {
854+
return format(new Date(), CONST.DATE.FNS_FORMAT_STRING);
855+
}
856+
return existingStartDate ?? format(new Date(), CONST.DATE.FNS_FORMAT_STRING);
857+
}
858+
843859
function checkIfNewFeedConnected(prevFeedsData: CompanyFeeds, currentFeedsData: CompanyFeeds, plaidBank?: string) {
844860
const prevFeeds = Object.keys(prevFeedsData);
845861
const currentFeeds = Object.keys(currentFeedsData);
@@ -1196,6 +1212,7 @@ export {
11961212
hasOnlyOneCardToAssign,
11971213
checkIfNewFeedConnected,
11981214
getDefaultCardName,
1215+
getCardAssignmentStartDate,
11991216
getDomainOrWorkspaceAccountID,
12001217
mergeCardListWithWorkspaceFeeds,
12011218
isCard,

0 commit comments

Comments
 (0)