22 lines
631 B
TypeScript
22 lines
631 B
TypeScript
const DEFAULT_MEETING_BUTTON_SHORTCODES = [
|
|
"{{meetingButton}}",
|
|
"{{jitsiButton}}",
|
|
"[meeting_button]",
|
|
"[jitsi_button]"
|
|
];
|
|
|
|
export function normalizeMeetingButtonTemplate(
|
|
template: string,
|
|
shortcodes: string[] = DEFAULT_MEETING_BUTTON_SHORTCODES
|
|
) {
|
|
if (!template) return template;
|
|
|
|
const hasShortcode = shortcodes.some((token) => template.includes(token));
|
|
if (hasShortcode) return template;
|
|
|
|
return template
|
|
.replace(/Jitsi-Link:\s*\{\{meetingUrl\}\}/gi, "{{meetingButton}}")
|
|
.replace(/Jitsi:\s*\{\{meetingUrl\}\}/gi, "{{meetingButton}}")
|
|
.replace(/\{\{meetingUrl\}\}/g, "{{meetingButton}}");
|
|
}
|