42 lines
1.3 KiB
TypeScript
42 lines
1.3 KiB
TypeScript
|
import { TFunction } from "next-i18next";
|
||
|
|
||
|
import { LocationType } from "./location";
|
||
|
|
||
|
/**
|
||
|
* Use this function to translate booking location value to a readable string
|
||
|
* @param linkValue
|
||
|
* @param translationFunction
|
||
|
* @returns
|
||
|
*/
|
||
|
export const linkValueToString = (
|
||
|
linkValue: string | undefined | null,
|
||
|
translationFunction: TFunction
|
||
|
): string => {
|
||
|
const t = translationFunction;
|
||
|
if (!linkValue) {
|
||
|
return translationFunction("no_location");
|
||
|
}
|
||
|
switch (linkValue) {
|
||
|
case LocationType.InPerson:
|
||
|
return t("in_person_meeting");
|
||
|
case LocationType.UserPhone:
|
||
|
return t("user_phone");
|
||
|
case LocationType.GoogleMeet:
|
||
|
return `Google Meet: ${t("meeting_url_in_conformation_email")}`;
|
||
|
case LocationType.Zoom:
|
||
|
return `Zoom: ${t("meeting_url_in_conformation_email")}`;
|
||
|
case LocationType.Daily:
|
||
|
return `Cal Video: ${t("meeting_url_in_conformation_email")}`;
|
||
|
case LocationType.Jitsi:
|
||
|
return `Jitsi: ${t("meeting_url_in_conformation_email")}`;
|
||
|
case LocationType.Huddle01:
|
||
|
return `Huddle01t: ${t("meeting_url_in_conformation_email")}`;
|
||
|
case LocationType.Tandem:
|
||
|
return `Tandem: ${t("meeting_url_in_conformation_email")}`;
|
||
|
case LocationType.Teams:
|
||
|
return `Teams: ${t("meeting_url_in_conformation_email")}`;
|
||
|
default:
|
||
|
return linkValue || "";
|
||
|
}
|
||
|
};
|