Files
calendar/packages/lib/recurringStrings.ts
Sachin YadavandGitHub b9c350cc45 fix: Recurring events set to "yearly" don't recur (#24361)
* #fix: Recurring events set to “yearly” don’t recur

* fix: handle yearly recurring events with explicit null check

* fix: use explicit null check for recurring event frequency
2025-11-03 16:20:15 +00:00

46 lines
1.1 KiB
TypeScript

import type { TFunction } from "i18next";
import { Frequency } from "@calcom/prisma/zod-utils";
import type { RecurringEvent } from "@calcom/types/Calendar";
export const getRecurringFreq = ({
t,
recurringEvent,
}: {
t: TFunction;
recurringEvent: RecurringEvent;
}): string => {
if (recurringEvent.interval && recurringEvent.freq >= 0) {
return t("every_for_freq", {
freq: `${recurringEvent.interval > 1 ? recurringEvent.interval : ""} ${t(
Frequency[recurringEvent.freq].toString().toLowerCase(),
{
count: recurringEvent.interval,
}
)}`,
});
}
return "";
};
export const getEveryFreqFor = ({
t,
recurringEvent,
recurringCount,
recurringFreq,
}: {
t: TFunction;
recurringEvent: RecurringEvent;
recurringCount?: number;
recurringFreq?: string;
}): string => {
if (recurringEvent.freq != null) {
return `${recurringFreq || getRecurringFreq({ t, recurringEvent })} ${
recurringCount || recurringEvent.count
} ${t("occurrence", {
count: recurringCount || recurringEvent.count,
})}`;
}
return "";
};