eslint react/jsx-curly-brace-presence

This commit is contained in:
zomars 2022-07-12 11:50:04 -06:00
parent dbfc1477aa
commit 7bcc5c4548
32 changed files with 57 additions and 64 deletions

View File

@ -50,7 +50,7 @@ const AdditionalCalendarSelector = ({ isLoading }: AdditionalCalendarSelectorPro
}));
return (
<Select
name={"additionalCalendar"}
name="additionalCalendar"
placeholder={t("connect_additional_calendar")}
options={options}
styles={{

View File

@ -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={{

View File

@ -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>

View File

@ -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();

View File

@ -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}>

View File

@ -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(

View File

@ -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={
<>

View File

@ -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>

View File

@ -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")} />

View File

@ -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 &&

View File

@ -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

View File

@ -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>

View File

@ -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>
</>

View File

@ -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}
/>

View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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;

View File

@ -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" />

View File

@ -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">

View File

@ -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">

View File

@ -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">

View File

@ -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>

View File

@ -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">

View File

@ -111,7 +111,7 @@ export default function ZapierSetup(props: IZapierSetupProps) {
<li>You&apos;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>

View File

@ -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: [
{

View File

@ -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>

View File

@ -70,7 +70,7 @@ const EmailBodyLogo = () => {
</td>
</Row>
</div>
<CommentIE html={`</td></tr></table>`} />
<CommentIE html="</td></tr></table>" />
</td>
</Row>
</div>

View File

@ -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>

View File

@ -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]-->`}
/>

View File

@ -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>

View File

@ -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 && (