cal.pub0.org/packages/emails
Leo Giovanetti 514fca7a53
Recurring event improvements (#2750)
* Loading state and rejected bookings gone

* Listing fixes

* Tweaking upcoming vs recurring bookings tabs

* Tweaking new emails to avoid recurringEvent param

* Tweaks to support recurring events in common flows

* Missed one renderEmail

* Removing uneeded references

* Reverting manual plural fixes

* Refactoring recurring event strings

* Correcting merge issues

* Relying on newly introduced obj

* Fixing mobile

* Final tweaks

* Latest fixes

Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-06-10 17:38:06 -03:00
..
src Recurring event improvements (#2750) 2022-06-10 17:38:06 -03:00
templates Recurring event improvements (#2750) 2022-06-10 17:38:06 -03:00
README.md Refactor emails to use JSX as templating engine (#2915) 2022-06-06 17:49:56 +00:00
email-manager.ts Recurring event fixes (#3030) 2022-06-09 18:32:34 -06:00
index.ts Refactor emails to use JSX as templating engine (#2915) 2022-06-06 17:49:56 +00:00
package.json Refactor emails to use JSX as templating engine (#2915) 2022-06-06 17:49:56 +00:00
tailwind.config.js Refactor emails to use JSX as templating engine (#2915) 2022-06-06 17:49:56 +00:00

README.md

JSX email templates

  • components Holds reusable patterns
  • templates A template equals a type of email sent

Usage

import { renderEmail } from "@calcom/emails";

renderEmail("TeamInviteEmail", */{
  language: t,
  from: "teampro@example.com",
  to: "pro@example.com",
  teamName: "Team Pro",
  joinLink: "https://cal.com",
});

The first argument is the template name as defined inside templates/index.ts. The second argument are the template props.

Development

You can use an API endpoint to preview the email HTML, there's already one on /apps/web/pages/api/email.ts feel free to change the template to the one you're currently working on.