* Icon and IconName * Button and ButtonGroup * UserAvatar * AvatarGroup * Avatar * WizardLayout * Dialogs * EmptyScreen * showToast and TextField * Editor * Skeleton * Skeleton * TopBanner and showToast * Button again * more * perf: Remove app-store reference from @calcom/ui * more * Fixing types * Icon * Fixed casing * dropdown * more * Select * more * Badge * List * more * Divider * more * fix * fix type check * refactor * fix * fix * fix * fix * fix * fix * fix * fix type check * fix * fix * fix * fix * more * more * more * more * add index file to components/command * fix * fix * fix * fix imports * fix * fix * fix * fix * fix * fix * fix * fix build errors * fix build errors * fix --------- Co-authored-by: Keith Williams <keithwillcode@gmail.com>
42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
import { APP_NAME } from "@calcom/lib/constants";
|
|
import { useLocale } from "@calcom/lib/hooks/useLocale";
|
|
import { trpc } from "@calcom/trpc";
|
|
import { TopBanner } from "@calcom/ui/components/top-banner";
|
|
import { showToast } from "@calcom/ui/components/toast";
|
|
|
|
import { useFlagMap } from "../../flags/context/provider";
|
|
|
|
export type VerifyEmailBannerProps = {
|
|
data: boolean;
|
|
};
|
|
|
|
function VerifyEmailBanner({ data }: VerifyEmailBannerProps) {
|
|
const flags = useFlagMap();
|
|
const { t } = useLocale();
|
|
const mutation = trpc.viewer.auth.resendVerifyEmail.useMutation();
|
|
|
|
if (!data || !flags["email-verification"]) return null;
|
|
|
|
return (
|
|
<>
|
|
<TopBanner
|
|
icon="mail"
|
|
text={t("verify_email_banner_body", { appName: APP_NAME })}
|
|
variant="warning"
|
|
actions={
|
|
<a
|
|
className="underline hover:cursor-pointer"
|
|
onClick={() => {
|
|
mutation.mutate();
|
|
showToast(t("email_sent"), "success");
|
|
}}>
|
|
{t("resend_email")}
|
|
</a>
|
|
}
|
|
/>
|
|
</>
|
|
);
|
|
}
|
|
|
|
export default VerifyEmailBanner;
|