eslint react/jsx-curly-brace-presence
This commit is contained in:
parent
dbfc1477aa
commit
7bcc5c4548
|
@ -50,7 +50,7 @@ const AdditionalCalendarSelector = ({ isLoading }: AdditionalCalendarSelectorPro
|
|||
}));
|
||||
return (
|
||||
<Select
|
||||
name={"additionalCalendar"}
|
||||
name="additionalCalendar"
|
||||
placeholder={t("connect_additional_calendar")}
|
||||
options={options}
|
||||
styles={{
|
||||
|
|
|
@ -69,7 +69,7 @@ const DestinationCalendarSelector = ({
|
|||
return (
|
||||
<div className="relative" title={`${t("select_destination_calendar")}: ${selectedOption?.label || ""}`}>
|
||||
<Select
|
||||
name={"primarySelectedCalendar"}
|
||||
name="primarySelectedCalendar"
|
||||
placeholder={!hidePlaceholder ? `${t("select_destination_calendar")}:` : undefined}
|
||||
options={options}
|
||||
styles={{
|
||||
|
|
|
@ -1159,7 +1159,7 @@ export const EmbedButton = ({
|
|||
className={className}
|
||||
{...props}
|
||||
data-test-eventtype-id={eventTypeId}
|
||||
data-testid={"event-type-embed"}
|
||||
data-testid="event-type-embed"
|
||||
onClick={() => openEmbedModal()}>
|
||||
<CodeIcon
|
||||
className={classNames("h-4 w-4 ltr:mr-2 rtl:ml-2", dark ? "" : "text-neutral-500")}></CodeIcon>
|
||||
|
|
|
@ -34,7 +34,7 @@ export default function SAMLLogin(props: Props) {
|
|||
<div className="mt-5">
|
||||
<Button
|
||||
color="secondary"
|
||||
data-testid={"saml"}
|
||||
data-testid="saml"
|
||||
className="flex w-full justify-center"
|
||||
onClick={async (event) => {
|
||||
event.preventDefault();
|
||||
|
|
|
@ -102,7 +102,7 @@ const AvailableTimes: FC<AvailableTimesProps> = ({
|
|||
brand === "#fff" || brand === "#ffffff" ? "border-brandcontrast" : "border-brand"
|
||||
)}>
|
||||
{dayjs(slot.time).tz(timeZone()).format(timeFormat)}
|
||||
{!!seatsPerTimeSlot && <p className={`text-sm`}>{t("booking_full")}</p>}
|
||||
{!!seatsPerTimeSlot && <p className="text-sm">{t("booking_full")}</p>}
|
||||
</div>
|
||||
) : (
|
||||
<Link href={bookingUrl} prefetch={false}>
|
||||
|
|
|
@ -245,7 +245,7 @@ export const EditLocationDialog = (props: ISetLocationDialog) => {
|
|||
id="wherebylink"
|
||||
placeholder="https://www.whereby.com/cal"
|
||||
required
|
||||
className={"block w-full rounded-sm border-gray-300 text-sm"}
|
||||
className="block w-full rounded-sm border-gray-300 text-sm"
|
||||
defaultValue={
|
||||
defaultValues
|
||||
? defaultValues.find(
|
||||
|
@ -292,7 +292,7 @@ export const EditLocationDialog = (props: ISetLocationDialog) => {
|
|||
id="aroundlink"
|
||||
placeholder="https://www.around.co/rick"
|
||||
required
|
||||
className={"block w-full rounded-sm border-gray-300 text-sm"}
|
||||
className="block w-full rounded-sm border-gray-300 text-sm"
|
||||
defaultValue={
|
||||
defaultValues
|
||||
? defaultValues.find(
|
||||
|
@ -339,7 +339,7 @@ export const EditLocationDialog = (props: ISetLocationDialog) => {
|
|||
id="aroundlink"
|
||||
placeholder="https://www.riverside.fm/studio/rick"
|
||||
required
|
||||
className={"block w-full rounded-sm border-gray-300 text-sm"}
|
||||
className="block w-full rounded-sm border-gray-300 text-sm"
|
||||
defaultValue={
|
||||
defaultValues
|
||||
? defaultValues.find(
|
||||
|
|
|
@ -92,7 +92,7 @@ export default function TeamSettings(props: Props) {
|
|||
id="team-url"
|
||||
addOnLeading={
|
||||
<span className="inline-flex items-center rounded-l-sm border border-r-0 border-gray-300 bg-gray-50 px-3 text-sm text-gray-500">
|
||||
{process.env.NEXT_PUBLIC_WEBSITE_URL}/{"team/"}
|
||||
{process.env.NEXT_PUBLIC_WEBSITE_URL}/team/
|
||||
</span>
|
||||
}
|
||||
ref={teamUrlRef}
|
||||
|
@ -140,7 +140,7 @@ export default function TeamSettings(props: Props) {
|
|||
<div>
|
||||
<SettingInputContainer
|
||||
Icon={PhotographIcon}
|
||||
label={"Logo"}
|
||||
label="Logo"
|
||||
htmlFor="avatar"
|
||||
Input={
|
||||
<>
|
||||
|
|
|
@ -120,7 +120,7 @@ export default function TeamSettingsRightSidebar(props: { team: TeamWithMembers;
|
|||
{props.team?.id && props.role !== MembershipRole.MEMBER && (
|
||||
<Link href={`/settings/teams/${props.team.id}/availability`}>
|
||||
<div className="mt-5 hidden space-y-1 sm:block">
|
||||
<LinkIconButton Icon={ClockIcon}>{"View Availability"}</LinkIconButton>
|
||||
<LinkIconButton Icon={ClockIcon}>View Availability</LinkIconButton>
|
||||
<p className="mt-2 text-sm text-gray-500">See your team members availability at a glance.</p>
|
||||
</div>
|
||||
</Link>
|
||||
|
|
|
@ -50,7 +50,7 @@ export function UpgradeToFlexibleProModal(props: Props) {
|
|||
setErrorMessage(null);
|
||||
}}>
|
||||
<DialogTrigger asChild>
|
||||
<a className="cursor-pointer underline">{"Upgrade Now"}</a>
|
||||
<a className="cursor-pointer underline">Upgrade Now</a>
|
||||
</DialogTrigger>
|
||||
<DialogContent>
|
||||
<DialogHeader title={t("Purchase missing seats")} />
|
||||
|
|
|
@ -181,7 +181,7 @@ const PremiumTextfield = (props: ICustomUsernameProps) => {
|
|||
return (
|
||||
<>
|
||||
<div style={{ display: "flex", justifyItems: "center" }}>
|
||||
<Label htmlFor={"username"}>{t("username")}</Label>
|
||||
<Label htmlFor="username">{t("username")}</Label>
|
||||
</div>
|
||||
<div className="mt-1 flex rounded-md shadow-sm">
|
||||
<span
|
||||
|
@ -193,10 +193,10 @@ const PremiumTextfield = (props: ICustomUsernameProps) => {
|
|||
<div style={{ position: "relative", width: "100%" }}>
|
||||
<Input
|
||||
ref={usernameRef}
|
||||
name={"username"}
|
||||
autoComplete={"none"}
|
||||
autoCapitalize={"none"}
|
||||
autoCorrect={"none"}
|
||||
name="username"
|
||||
autoComplete="none"
|
||||
autoCapitalize="none"
|
||||
autoCorrect="none"
|
||||
className={classNames(
|
||||
"mt-0 rounded-l-none",
|
||||
markAsError
|
||||
|
@ -262,7 +262,7 @@ const PremiumTextfield = (props: ICustomUsernameProps) => {
|
|||
<PencilAltIcon className="m-auto h-6 w-6"></PencilAltIcon>
|
||||
</div>
|
||||
<div className="mb-4 w-full px-4 pt-1">
|
||||
<DialogHeader title={"Confirm username change"} />
|
||||
<DialogHeader title="Confirm username change" />
|
||||
{usernameChangeCondition && usernameChangeCondition !== UsernameChangeStatusEnum.NORMAL && (
|
||||
<p className="-mt-4 mb-4 text-sm text-gray-800">
|
||||
{usernameChangeCondition === UsernameChangeStatusEnum.UPGRADE &&
|
||||
|
|
|
@ -107,7 +107,7 @@ const UsernameTextfield = (props: ICustomUsernameProps) => {
|
|||
return (
|
||||
<>
|
||||
<div>
|
||||
<Label htmlFor={"username"}>{t("username")}</Label>
|
||||
<Label htmlFor="username">{t("username")}</Label>
|
||||
</div>
|
||||
<div className="mt-1 flex rounded-md shadow-sm">
|
||||
<span
|
||||
|
@ -119,10 +119,10 @@ const UsernameTextfield = (props: ICustomUsernameProps) => {
|
|||
<div className="relative w-full">
|
||||
<Input
|
||||
ref={usernameRef}
|
||||
name={"username"}
|
||||
autoComplete={"none"}
|
||||
autoCapitalize={"none"}
|
||||
autoCorrect={"none"}
|
||||
name="username"
|
||||
autoComplete="none"
|
||||
autoCapitalize="none"
|
||||
autoCorrect="none"
|
||||
className={classNames(
|
||||
"mt-0 rounded-l-none",
|
||||
markAsError
|
||||
|
|
|
@ -24,7 +24,7 @@ export default function WebhookTestDisclosure() {
|
|||
|
||||
return (
|
||||
<Collapsible open={open} onOpenChange={() => setOpen(!open)}>
|
||||
<CollapsibleTrigger type="button" className={"flex w-full cursor-pointer"}>
|
||||
<CollapsibleTrigger type="button" className="flex w-full cursor-pointer">
|
||||
<ChevronRightIcon className={`${open ? "rotate-90 transform" : ""} h-5 w-5 text-neutral-500`} />
|
||||
<span className="text-sm font-medium text-gray-700">{t("webhook_test")}</span>
|
||||
</CollapsibleTrigger>
|
||||
|
|
|
@ -104,7 +104,7 @@ export default function SAMLConfiguration({
|
|||
</Badge>
|
||||
{samlConfig ? (
|
||||
<>
|
||||
<Badge className="ml-2 text-xs" variant={"success"}>
|
||||
<Badge className="ml-2 text-xs" variant="success">
|
||||
{samlConfig ? samlConfig : ""}
|
||||
</Badge>
|
||||
</>
|
||||
|
|
|
@ -42,7 +42,7 @@ const components = {
|
|||
loading="eager"
|
||||
layout="fixed"
|
||||
objectFit="contain"
|
||||
objectPosition={"center center"}
|
||||
objectPosition="center center"
|
||||
width={573}
|
||||
height={382}
|
||||
/>
|
||||
|
@ -52,7 +52,7 @@ const components = {
|
|||
alt=""
|
||||
layout="responsive"
|
||||
objectFit="contain"
|
||||
objectPosition={"center center"}
|
||||
objectPosition="center center"
|
||||
width={573}
|
||||
height={382}
|
||||
/>
|
||||
|
|
|
@ -175,7 +175,7 @@ export default function Login({
|
|||
<Button
|
||||
color="secondary"
|
||||
className="flex w-full justify-center"
|
||||
data-testid={"google"}
|
||||
data-testid="google"
|
||||
onClick={async (e) => {
|
||||
e.preventDefault();
|
||||
// track Google logins. Without personal data/payload
|
||||
|
|
|
@ -1222,15 +1222,13 @@ const EventTypePage = (props: inferSSRProps<typeof getServerSideProps>) => {
|
|||
</div>
|
||||
<div className="w-full">
|
||||
<div className="relative mt-1 rounded-sm">
|
||||
{
|
||||
<input
|
||||
type="text"
|
||||
className="block w-full rounded-sm border-gray-300 text-sm "
|
||||
placeholder={t("Example: 0x71c7656ec7ab88b098defb751b7401b5f6d8976f")}
|
||||
defaultValue={(eventType.metadata.smartContractAddress || "") as string}
|
||||
{...formMethods.register("smartContractAddress")}
|
||||
/>
|
||||
}
|
||||
<input
|
||||
type="text"
|
||||
className="block w-full rounded-sm border-gray-300 text-sm "
|
||||
placeholder={t("Example: 0x71c7656ec7ab88b098defb751b7401b5f6d8976f")}
|
||||
defaultValue={(eventType.metadata.smartContractAddress || "") as string}
|
||||
{...formMethods.register("smartContractAddress")}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -44,7 +44,7 @@ export default function Billing() {
|
|||
title={t("plan_description", { plan: data.plan })}
|
||||
description={t("plan_upgrade_invitation")}
|
||||
className="mb-4">
|
||||
<form method="POST" action={`/api/upgrade`}>
|
||||
<form method="POST" action="/api/upgrade">
|
||||
<Button type="submit">
|
||||
{t("upgrade_now")} <ExternalLinkIcon className="ml-1 h-4 w-4" />
|
||||
</Button>
|
||||
|
@ -53,7 +53,7 @@ export default function Billing() {
|
|||
)}
|
||||
|
||||
<Card title={t("view_and_manage_billing_details")} description={t("view_and_edit_billing_details")}>
|
||||
<form method="POST" action={`/api/integrations/stripepayment/portal`}>
|
||||
<form method="POST" action="/api/integrations/stripepayment/portal">
|
||||
<Button type="submit" color="secondary">
|
||||
{t("go_to_billing_portal")} <ExternalLinkIcon className="ml-1 h-4 w-4" />
|
||||
</Button>
|
||||
|
|
|
@ -51,9 +51,7 @@ function HideBrandingInput(props: { hideBrandingRef: RefObject<HTMLInputElement>
|
|||
type="checkbox"
|
||||
ref={props.hideBrandingRef}
|
||||
defaultChecked={isBrandingHidden(user)}
|
||||
className={
|
||||
"h-4 w-4 rounded-sm border-gray-300 text-neutral-900 focus:ring-neutral-800 disabled:opacity-50"
|
||||
}
|
||||
className="h-4 w-4 rounded-sm border-gray-300 text-neutral-900 focus:ring-neutral-800 disabled:opacity-50"
|
||||
onClick={(e) => {
|
||||
if (!e.currentTarget.checked || user.plan !== "FREE") {
|
||||
return;
|
||||
|
|
|
@ -302,7 +302,7 @@ export default function Success(props: SuccessProps) {
|
|||
)}>
|
||||
{giphyImage && !needsConfirmation && (
|
||||
// eslint-disable-next-line @next/next/no-img-element
|
||||
<img src={giphyImage} alt={"Gif from Giphy"} />
|
||||
<img src={giphyImage} alt="Gif from Giphy" />
|
||||
)}
|
||||
{!giphyImage && !needsConfirmation && !isCancelled && (
|
||||
<CheckIcon className="h-8 w-8 text-green-600" />
|
||||
|
|
|
@ -26,7 +26,7 @@ export default function MeetingUnavailable(props: inferSSRProps<typeof getServer
|
|||
if (!emptyBooking) {
|
||||
return (
|
||||
<div>
|
||||
<HeadSeo title={`Meeting Unavaialble`} description={`Meeting Unavailable`} />
|
||||
<HeadSeo title="Meeting Unavaialble" description="Meeting Unavailable" />
|
||||
<main className="mx-auto my-24 max-w-3xl">
|
||||
<div className="fixed inset-0 z-50 overflow-y-auto">
|
||||
<div className="flex min-h-screen items-end justify-center px-4 pt-4 pb-20 text-center sm:block sm:p-0">
|
||||
|
|
|
@ -27,7 +27,7 @@ export default function MeetingNotStarted(props: inferSSRProps<typeof getServerS
|
|||
if (!emptyBooking) {
|
||||
return (
|
||||
<div>
|
||||
<HeadSeo title={`Meeting Unavaialble`} description={`Meeting Unavailable`} />
|
||||
<HeadSeo title="Meeting Unavaialble" description="Meeting Unavailable" />
|
||||
<main className="mx-auto my-24 max-w-3xl">
|
||||
<div className="fixed inset-0 z-50 overflow-y-auto">
|
||||
<div className="flex min-h-screen items-end justify-center px-4 pt-4 pb-20 text-center sm:block sm:p-0">
|
||||
|
|
|
@ -19,7 +19,7 @@ export default function SelectGifInput(props: ISelectGifInput) {
|
|||
<div className="flex flex-col items-start space-x-2 space-y-2">
|
||||
{selectedGif && (
|
||||
<div className="min-h-[200px]">
|
||||
<img alt={"Selected Gif Image"} src={selectedGif} />
|
||||
<img alt="Selected Gif Image" src={selectedGif} />
|
||||
</div>
|
||||
)}
|
||||
<div className="flex">
|
||||
|
|
|
@ -129,7 +129,7 @@ const AppConfiguration = (props: IAppConfigurationProps) => {
|
|||
{t("vital_app_trigger", { ns: "vital" })}
|
||||
</label>
|
||||
</div>
|
||||
<div className={"mx-2 mt-0 inline-flex w-24 items-baseline"}>
|
||||
<div className="mx-2 mt-0 inline-flex w-24 items-baseline">
|
||||
<input
|
||||
id="value"
|
||||
type="text"
|
||||
|
@ -140,9 +140,7 @@ const AppConfiguration = (props: IAppConfigurationProps) => {
|
|||
setSleepValue(Number(e.currentTarget.value));
|
||||
setTouchedForm(true);
|
||||
}}
|
||||
className={
|
||||
"pr-12shadow-sm mt-1 block w-full rounded-sm border border-gray-300 py-2 pl-6 focus:border-neutral-500 focus:outline-none focus:ring-neutral-500 sm:text-sm"
|
||||
}
|
||||
className="pr-12shadow-sm mt-1 block w-full rounded-sm border border-gray-300 py-2 pl-6 focus:border-neutral-500 focus:outline-none focus:ring-neutral-500 sm:text-sm"
|
||||
/>
|
||||
<p className="ml-2">
|
||||
<strong>{t("vital_app_hours", { ns: "vital" })}</strong>
|
||||
|
|
|
@ -87,7 +87,7 @@ export const ConfirmDialog = (props: IConfirmDialogWipe) => {
|
|||
<ClockIcon className="m-auto h-6 w-6"></ClockIcon>
|
||||
</div>
|
||||
<div className="pt-1">
|
||||
<DialogHeader title={"Wipe My Calendar"} />
|
||||
<DialogHeader title="Wipe My Calendar" />
|
||||
<p className="mt-2 text-sm text-gray-500">
|
||||
This will cancel all upcoming meetings from: <br />{" "}
|
||||
<strong className="text-black">
|
||||
|
|
|
@ -111,7 +111,7 @@ export default function ZapierSetup(props: IZapierSetupProps) {
|
|||
<li>You're set!</li>
|
||||
</Trans>
|
||||
</ol>
|
||||
<Link href={"/apps/installed"} passHref={true}>
|
||||
<Link href="/apps/installed" passHref={true}>
|
||||
<Button color="secondary">{t("done")}</Button>
|
||||
</Link>
|
||||
</div>
|
||||
|
@ -121,7 +121,7 @@ export default function ZapierSetup(props: IZapierSetupProps) {
|
|||
<div className="mt-5 ml-5">
|
||||
<div>{t("install_zapier_app")}</div>
|
||||
<div className="mt-3">
|
||||
<Link href={"/apps/zapier"} passHref={true}>
|
||||
<Link href="/apps/zapier" passHref={true}>
|
||||
<Button>{t("go_to_app_store")}</Button>
|
||||
</Link>
|
||||
</div>
|
||||
|
|
|
@ -16,6 +16,7 @@ module.exports = {
|
|||
"@next/next/no-img-element": "off",
|
||||
"@next/next/no-html-link-for-pages": "off",
|
||||
"jsx-a11y/role-supports-aria-props": "off", // @see https://github.com/vercel/next.js/issues/27989#issuecomment-897638654
|
||||
"react/jsx-curly-brace-presence": ["error", { props: "never", children: "never" }],
|
||||
},
|
||||
overrides: [
|
||||
{
|
||||
|
|
|
@ -10,7 +10,7 @@ import Row from "./Row";
|
|||
|
||||
const Html = (props: { children: React.ReactNode }) => (
|
||||
<>
|
||||
<RawHtml html={`<!doctype html>`} />
|
||||
<RawHtml html="<!doctype html>" />
|
||||
<html>{props.children}</html>
|
||||
</>
|
||||
);
|
||||
|
@ -103,7 +103,7 @@ export const BaseEmailHtml = (props: {
|
|||
</td>
|
||||
</Row>
|
||||
</div>
|
||||
<RawHtml html={`<!--[if mso | IE]></td></tr></table><![endif]-->`} />
|
||||
<RawHtml html="<!--[if mso | IE]></td></tr></table><![endif]-->" />
|
||||
</td>
|
||||
</Row>
|
||||
</div>
|
||||
|
@ -175,12 +175,12 @@ export const BaseEmailHtml = (props: {
|
|||
</BaseTable>
|
||||
</div>
|
||||
)}
|
||||
<RawHtml html={`<!--[if mso | IE]></td></tr></table><![endif]-->`} />
|
||||
<RawHtml html="<!--[if mso | IE]></td></tr></table><![endif]-->" />
|
||||
</td>
|
||||
</Row>
|
||||
</div>
|
||||
<EmailBodyLogo />
|
||||
<RawHtml html={`<!--[if mso | IE]></td></tr></table><![endif]-->`} />
|
||||
<RawHtml html="<!--[if mso | IE]></td></tr></table><![endif]-->" />
|
||||
</div>
|
||||
</body>
|
||||
</Html>
|
||||
|
|
|
@ -70,7 +70,7 @@ const EmailBodyLogo = () => {
|
|||
</td>
|
||||
</Row>
|
||||
</div>
|
||||
<CommentIE html={`</td></tr></table>`} />
|
||||
<CommentIE html="</td></tr></table>" />
|
||||
</td>
|
||||
</Row>
|
||||
</div>
|
||||
|
|
|
@ -60,7 +60,7 @@ const EmailCommonDivider = ({
|
|||
{children}
|
||||
</Row>
|
||||
</div>
|
||||
<RawHtml html={`<!--[if mso | IE]></td></tr></table><![endif]-->`} />
|
||||
<RawHtml html="<!--[if mso | IE]></td></tr></table><![endif]-->" />
|
||||
</td>
|
||||
</Row>
|
||||
</div>
|
||||
|
|
|
@ -45,9 +45,7 @@ const EmailHead = ({ title = "" }) => {
|
|||
}
|
||||
`}
|
||||
</style>
|
||||
<RawHtml
|
||||
html={`<!--[if mso]><noscript><xml><o:OfficeDocumentSettings><o:AllowPNG/><o:PixelsPerInch>96</o:PixelsPerInch></o:OfficeDocumentSettings></xml></noscript><![endif]-->`}
|
||||
/>
|
||||
<RawHtml html="<!--[if mso]><noscript><xml><o:OfficeDocumentSettings><o:AllowPNG/><o:PixelsPerInch>96</o:PixelsPerInch></o:OfficeDocumentSettings></xml></noscript><![endif]-->" />
|
||||
<RawHtml
|
||||
html={`<!--[if lte mso 11]><style type="text/css">.mj-outlook-group-fix { width:100% !important; }</style><![endif]-->`}
|
||||
/>
|
||||
|
|
|
@ -29,7 +29,7 @@ export const DropdownMenuContent = forwardRef<HTMLDivElement, DropdownMenuConten
|
|||
<DropdownMenuPrimitive.Content
|
||||
portalled={props.portalled}
|
||||
{...props}
|
||||
className={`w-50 relative z-10 mt-1 -ml-0 origin-top-right rounded-sm bg-white text-sm shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none`}
|
||||
className="w-50 relative z-10 mt-1 -ml-0 origin-top-right rounded-sm bg-white text-sm shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none"
|
||||
ref={forwardedRef}>
|
||||
{children}
|
||||
</DropdownMenuPrimitive.Content>
|
||||
|
|
|
@ -16,7 +16,7 @@ const Switch = (
|
|||
<PrimitiveSwitch.Root className="h-[20px] w-[36px] rounded-sm bg-gray-400 p-0.5" {...primitiveProps}>
|
||||
<PrimitiveSwitch.Thumb
|
||||
id={id}
|
||||
className={"block h-[16px] w-[16px] translate-x-0 bg-white transition-transform"}
|
||||
className="block h-[16px] w-[16px] translate-x-0 bg-white transition-transform"
|
||||
/>
|
||||
</PrimitiveSwitch.Root>
|
||||
{label && (
|
||||
|
|
Loading…
Reference in New Issue
Block a user