* adjustments for each language json file:
- changed every Cal or Cal.com with a variable to make it possible to change that with a custom brand
- fix and renamed ATTENDEE with attendeeName
* added two new variables for appName and support mail address. so everybody can change it via env
* changed static Cal or Cal.com with new defined constants
* Using useLocal to modify static text to make it multilingual, and passing the correct variables for brand and mail
* adding new readable variables for brand, website domain and mail address
* fixed search routes
* made static text multilingual and fixed german translations
* Revert "fixed search routes"
moved changes in another pr
This reverts commit e6ba11a1ec
.
* revert non whitelabel changes and moved it into another pr
* revert attendeeName fix
* reverted translation fixes and moved them in another pr
* changed back to "Cal.com Logo"
* changed back to "https://console.cal.com"
* added new env variable for company name and replaced some domainName variables in language files
* changed default for COMPANY_NAME to Cal.com, Inc.
* changed Cal.com to APP_NAME for mail templates
* Dropped website domain in favor of app name
* Update .env.example
* Apply suggestions from code review
* Code review feedback
* Delete App.tsx
* Update packages/ui/Kbar.tsx
* added meta.CTA back it was mistakenly removed
* updated add members test
Co-authored-by: maxi <maximilian.oehrlein@clicksports.de>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: zomars <zomars@me.com>
53 lines
1.6 KiB
TypeScript
53 lines
1.6 KiB
TypeScript
import { TFunction } from "next-i18next";
|
|
|
|
import { APP_NAME } from "@calcom/lib/constants";
|
|
|
|
import { renderEmail } from "../";
|
|
import BaseEmail from "./_base-email";
|
|
|
|
export type PasswordReset = {
|
|
language: TFunction;
|
|
user: {
|
|
name?: string | null;
|
|
email: string;
|
|
};
|
|
resetLink: string;
|
|
};
|
|
|
|
export const PASSWORD_RESET_EXPIRY_HOURS = 6;
|
|
|
|
export default class ForgotPasswordEmail extends BaseEmail {
|
|
passwordEvent: PasswordReset;
|
|
|
|
constructor(passwordEvent: PasswordReset) {
|
|
super();
|
|
this.name = "SEND_PASSWORD_RESET_EMAIL";
|
|
this.passwordEvent = passwordEvent;
|
|
}
|
|
|
|
protected getNodeMailerPayload(): Record<string, unknown> {
|
|
return {
|
|
to: `${this.passwordEvent.user.name} <${this.passwordEvent.user.email}>`,
|
|
from: `${APP_NAME} <${this.getMailerOptions().from}>`,
|
|
subject: this.passwordEvent.language("reset_password_subject", {
|
|
appName: APP_NAME,
|
|
}),
|
|
html: renderEmail("ForgotPasswordEmail", this.passwordEvent),
|
|
text: this.getTextBody(),
|
|
};
|
|
}
|
|
|
|
protected getTextBody(): string {
|
|
return `
|
|
${this.passwordEvent.language("reset_password_subject", { appName: APP_NAME })}
|
|
${this.passwordEvent.language("hi_user_name", { name: this.passwordEvent.user.name })},
|
|
${this.passwordEvent.language("someone_requested_password_reset")}
|
|
${this.passwordEvent.language("change_password")}: ${this.passwordEvent.resetLink}
|
|
${this.passwordEvent.language("password_reset_instructions")}
|
|
${this.passwordEvent.language("have_any_questions")} ${this.passwordEvent.language(
|
|
"contact_our_support_team"
|
|
)}
|
|
`.replace(/(<([^>]+)>)/gi, "");
|
|
}
|
|
}
|