diff --git a/.eslintignore b/.eslintignore index 7ca119ecc7..44c7b9df2e 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,2 +1,2 @@ node_modules -prisma/zod +apps/web/prisma/zod diff --git a/apps/web/components/AddToHomescreen.tsx b/apps/web/components/AddToHomescreen.tsx index edfeef4175..fa0f8e60ef 100644 --- a/apps/web/components/AddToHomescreen.tsx +++ b/apps/web/components/AddToHomescreen.tsx @@ -18,7 +18,7 @@ export default function AddToHomescreen() {
- + { setSelectedOption(option); if (!option) { diff --git a/apps/web/components/EmptyScreen.tsx b/apps/web/components/EmptyScreen.tsx index a1ea0e3eb7..4118800cbe 100644 --- a/apps/web/components/EmptyScreen.tsx +++ b/apps/web/components/EmptyScreen.tsx @@ -13,7 +13,7 @@ export default function EmptyScreen({ }) { return ( <> -
+
diff --git a/apps/web/components/Shell.tsx b/apps/web/components/Shell.tsx index c579f9726d..4b4ea0bf7f 100644 --- a/apps/web/components/Shell.tsx +++ b/apps/web/components/Shell.tsx @@ -302,7 +302,7 @@ export default function Shell(props: {
{props.HeadingLeftIcon &&
{props.HeadingLeftIcon}
}
-

+

{props.heading}

{props.subtitle}

diff --git a/apps/web/components/booking/AvailableTimes.tsx b/apps/web/components/booking/AvailableTimes.tsx index 55442924b2..3391f259bd 100644 --- a/apps/web/components/booking/AvailableTimes.tsx +++ b/apps/web/components/booking/AvailableTimes.tsx @@ -95,7 +95,7 @@ const AvailableTimes: FC = ({ diff --git a/apps/web/components/booking/BookingListItem.tsx b/apps/web/components/booking/BookingListItem.tsx index edcf73f779..fc4ce8689f 100644 --- a/apps/web/components/booking/BookingListItem.tsx +++ b/apps/web/components/booking/BookingListItem.tsx @@ -151,7 +151,7 @@ function BookingListItem(booking: BookingItem) { )}
{booking.description && ( -
+
"{booking.description}"
)} diff --git a/apps/web/components/booking/DatePicker.tsx b/apps/web/components/booking/DatePicker.tsx index 884892678d..734afa2668 100644 --- a/apps/web/components/booking/DatePicker.tsx +++ b/apps/web/components/booking/DatePicker.tsx @@ -210,7 +210,7 @@ function DatePicker({ disabled={day.disabled} className={classNames( "absolute top-0 left-0 right-0 bottom-0 mx-auto w-full rounded-sm text-center", - "hover:border hover:border-brand dark:hover:border-white", + "hover:border-brand hover:border dark:hover:border-white", day.disabled ? "cursor-default font-light text-gray-400 hover:border-0" : "font-medium", date && date.isSame(browsingDate.date(day.date), "day") ? "bg-brand text-brandcontrast" diff --git a/apps/web/components/booking/TimeOptions.tsx b/apps/web/components/booking/TimeOptions.tsx index 72d7be60b1..ee30239bae 100644 --- a/apps/web/components/booking/TimeOptions.tsx +++ b/apps/web/components/booking/TimeOptions.tsx @@ -35,7 +35,7 @@ const TimeOptions: FC = (props) => { }; return selectedTimeZone !== "" ? ( -
+
{t("time_options")}
@@ -69,7 +69,7 @@ const TimeOptions: FC = (props) => { id="timeZone" value={selectedTimeZone} onChange={(tz: ITimezoneOption) => setSelectedTimeZone(tz.value)} - className="mt-1 mb-2 block w-full rounded-md border-gray-300 shadow-sm focus:border-brand focus:ring-black sm:text-sm" + className="focus:border-brand mt-1 mb-2 block w-full rounded-md border-gray-300 shadow-sm focus:ring-black sm:text-sm" />
) : null; diff --git a/apps/web/components/booking/pages/AvailabilityPage.tsx b/apps/web/components/booking/pages/AvailabilityPage.tsx index de70765e74..0691917d68 100644 --- a/apps/web/components/booking/pages/AvailabilityPage.tsx +++ b/apps/web/components/booking/pages/AvailabilityPage.tsx @@ -184,7 +184,7 @@ const AvailabilityPage = ({ profile, eventType, workingHours }: Props) => { truncateAfter={3} />

{profile.name}

-

+

{eventType.title}

@@ -250,7 +250,7 @@ const AvailabilityPage = ({ profile, eventType, workingHours }: Props) => { function TimezoneDropdown() { return ( - + {timeZone()} {isTimeOptionsOpen ? ( diff --git a/apps/web/components/booking/pages/BookingPage.tsx b/apps/web/components/booking/pages/BookingPage.tsx index 493e073289..041e4c461a 100644 --- a/apps/web/components/booking/pages/BookingPage.tsx +++ b/apps/web/components/booking/pages/BookingPage.tsx @@ -308,7 +308,7 @@ const BookingPage = (props: BookingPageProps) => { })) )} /> -

+

{props.profile.name}

@@ -367,7 +367,7 @@ const BookingPage = (props: BookingPageProps) => { name="name" id="name" required - className="block w-full rounded-sm border-gray-300 shadow-sm focus:border-brand focus:ring-black dark:border-gray-900 dark:bg-black dark:text-white sm:text-sm" + className="focus:border-brand block w-full rounded-sm border-gray-300 shadow-sm focus:ring-black dark:border-gray-900 dark:bg-black dark:text-white sm:text-sm" placeholder="John Doe" />

@@ -382,7 +382,7 @@ const BookingPage = (props: BookingPageProps) => {
@@ -440,7 +440,7 @@ const BookingPage = (props: BookingPageProps) => { })} id={"custom_" + input.id} rows={3} - className="block w-full rounded-sm border-gray-300 shadow-sm focus:border-brand focus:ring-black dark:border-gray-900 dark:bg-black dark:text-white sm:text-sm" + className="focus:border-brand block w-full rounded-sm border-gray-300 shadow-sm focus:ring-black dark:border-gray-900 dark:bg-black dark:text-white sm:text-sm" placeholder={input.placeholder} /> )} @@ -451,7 +451,7 @@ const BookingPage = (props: BookingPageProps) => { required: input.required, })} id={"custom_" + input.id} - className="block w-full rounded-sm border-gray-300 shadow-sm focus:border-brand focus:ring-black dark:border-gray-900 dark:bg-black dark:text-white sm:text-sm" + className="focus:border-brand block w-full rounded-sm border-gray-300 shadow-sm focus:ring-black dark:border-gray-900 dark:bg-black dark:text-white sm:text-sm" placeholder={input.placeholder} /> )} @@ -462,7 +462,7 @@ const BookingPage = (props: BookingPageProps) => { required: input.required, })} id={"custom_" + input.id} - className="block w-full rounded-sm border-gray-300 shadow-sm focus:border-brand focus:ring-black dark:border-gray-900 dark:bg-black dark:text-white sm:text-sm" + className="focus:border-brand block w-full rounded-sm border-gray-300 shadow-sm focus:ring-black dark:border-gray-900 dark:bg-black dark:text-white sm:text-sm" placeholder="" /> )} @@ -544,7 +544,7 @@ const BookingPage = (props: BookingPageProps) => { {...bookingForm.register("notes")} id="notes" rows={3} - className="block w-full rounded-sm border-gray-300 shadow-sm focus:border-brand focus:ring-black dark:border-gray-900 dark:bg-black dark:text-white sm:text-sm" + className="focus:border-brand block w-full rounded-sm border-gray-300 shadow-sm focus:ring-black dark:border-gray-900 dark:bg-black dark:text-white sm:text-sm" placeholder={t("share_additional_notes")} />
diff --git a/apps/web/components/form/fields.tsx b/apps/web/components/form/fields.tsx index 1ef7ee4543..2992ba5a33 100644 --- a/apps/web/components/form/fields.tsx +++ b/apps/web/components/form/fields.tsx @@ -136,7 +136,7 @@ export const TextArea = forwardRef(function ref={ref} {...props} className={classNames( - "font-mono block w-full rounded-sm border-gray-300 shadow-sm focus:border-neutral-900 focus:ring-neutral-900 sm:text-sm", + "block w-full rounded-sm border-gray-300 font-mono shadow-sm focus:border-neutral-900 focus:ring-neutral-900 sm:text-sm", props.className )} /> diff --git a/apps/web/components/integrations/CalendarListContainer.tsx b/apps/web/components/integrations/CalendarListContainer.tsx index 12f45a3610..e880ef7d94 100644 --- a/apps/web/components/integrations/CalendarListContainer.tsx +++ b/apps/web/components/integrations/CalendarListContainer.tsx @@ -217,7 +217,7 @@ export function CalendarListContainer(props: { heading?: false }) { } subtitle={t("configure_how_your_event_types_interact")} actions={ -
+
= (props) => { defaultValue={selectedInputOption} options={inputOptions} isSearchable={false} - className="mt-1 mb-2 block w-full min-w-0 flex-1 rounded-none rounded-r-md border-gray-300 focus:border-primary-500 focus:ring-primary-500 sm:text-sm" + className="focus:border-primary-500 focus:ring-primary-500 mt-1 mb-2 block w-full min-w-0 flex-1 rounded-none rounded-r-md border-gray-300 sm:text-sm" onChange={(option) => option && field.onChange(option.value)} value={selectedInputOption} onBlur={field.onBlur} @@ -73,7 +73,7 @@ const CustomInputTypeForm: FC = (props) => { type="text" id="label" required - className="block w-full rounded-sm border-gray-300 shadow-sm focus:border-primary-500 focus:ring-primary-500 sm:text-sm" + className="focus:border-primary-500 focus:ring-primary-500 block w-full rounded-sm border-gray-300 shadow-sm sm:text-sm" defaultValue={selectedCustomInput?.label} {...register("label", { required: true })} /> @@ -89,7 +89,7 @@ const CustomInputTypeForm: FC = (props) => { @@ -100,7 +100,7 @@ const CustomInputTypeForm: FC = (props) => { diff --git a/apps/web/components/security/ChangePasswordSection.tsx b/apps/web/components/security/ChangePasswordSection.tsx index 545ff534a0..9186554955 100644 --- a/apps/web/components/security/ChangePasswordSection.tsx +++ b/apps/web/components/security/ChangePasswordSection.tsx @@ -74,7 +74,7 @@ const ChangePasswordSection = () => { name="current_password" id="current_password" required - className="block w-full rounded-sm border-gray-300 shadow-sm focus:border-brand focus:ring-black sm:text-sm" + className="focus:border-brand block w-full rounded-sm border-gray-300 shadow-sm focus:ring-black sm:text-sm" placeholder={t("your_old_password")} />
@@ -91,7 +91,7 @@ const ChangePasswordSection = () => { value={newPassword} required onInput={(e) => setNewPassword(e.currentTarget.value)} - className="block w-full rounded-sm border-gray-300 shadow-sm focus:border-brand focus:ring-black sm:text-sm" + className="focus:border-brand block w-full rounded-sm border-gray-300 shadow-sm focus:ring-black sm:text-sm" placeholder={t("super_secure_new_password")} />
diff --git a/apps/web/components/security/EnableTwoFactorModal.tsx b/apps/web/components/security/EnableTwoFactorModal.tsx index 635ab38bdd..58ee34cdff 100644 --- a/apps/web/components/security/EnableTwoFactorModal.tsx +++ b/apps/web/components/security/EnableTwoFactorModal.tsx @@ -152,7 +152,7 @@ const EnableTwoFactorModal = ({ onEnable, onCancel }: EnableTwoFactorModalProps)
-

{secret}

+

{secret}

diff --git a/apps/web/components/security/TwoFactorModalHeader.tsx b/apps/web/components/security/TwoFactorModalHeader.tsx index 6408f204d6..c106f50849 100644 --- a/apps/web/components/security/TwoFactorModalHeader.tsx +++ b/apps/web/components/security/TwoFactorModalHeader.tsx @@ -4,7 +4,7 @@ import React from "react"; const TwoFactorModalHeader = ({ title, description }: { title: string; description: string }) => { return (
-
+
diff --git a/apps/web/components/team/MemberChangeRoleModal.tsx b/apps/web/components/team/MemberChangeRoleModal.tsx index 24e4862e51..3eeb535e55 100644 --- a/apps/web/components/team/MemberChangeRoleModal.tsx +++ b/apps/web/components/team/MemberChangeRoleModal.tsx @@ -58,7 +58,7 @@ export default function MemberChangeRoleModal(props: { value={role} onChange={(e) => setRole(e.target.value as MembershipRole)} id="role" - className="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-brand focus:ring-black sm:text-sm"> + className="focus:border-brand mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:ring-black sm:text-sm"> {/* - needs dialog to confirm change of ownership */} diff --git a/apps/web/components/team/MemberInvitationModal.tsx b/apps/web/components/team/MemberInvitationModal.tsx index c4b78fed09..6006daa785 100644 --- a/apps/web/components/team/MemberInvitationModal.tsx +++ b/apps/web/components/team/MemberInvitationModal.tsx @@ -64,8 +64,8 @@ export default function MemberInvitationModal(props: { team: TeamWithMembers | n
-
- +
+
diff --git a/apps/web/components/team/TeamListItem.tsx b/apps/web/components/team/TeamListItem.tsx index 0356a3bb6a..a705abbf37 100644 --- a/apps/web/components/team/TeamListItem.tsx +++ b/apps/web/components/team/TeamListItem.tsx @@ -60,7 +60,7 @@ export default function TeamListItem(props: Props) { size={9} imageSrc={getPlaceholderAvatar(team?.logo, team?.name as string)} alt="Team Logo" - className="h-9 min-h-9 w-9 min-w-9 rounded-full" + className="min-h-9 min-w-9 h-9 w-9 rounded-full" />
{team.name} diff --git a/apps/web/components/ui/AuthContainer.tsx b/apps/web/components/ui/AuthContainer.tsx index 8f73a14b5f..1958619016 100644 --- a/apps/web/components/ui/AuthContainer.tsx +++ b/apps/web/components/ui/AuthContainer.tsx @@ -21,7 +21,7 @@ export default function AuthContainer(props: React.PropsWithChildren) { Cal.com Logo )} {props.heading && ( -

{props.heading}

+

{props.heading}

)}
{props.loading && ( diff --git a/apps/web/components/ui/Avatar.tsx b/apps/web/components/ui/Avatar.tsx index ed5b3cad1f..4232d5c807 100644 --- a/apps/web/components/ui/Avatar.tsx +++ b/apps/web/components/ui/Avatar.tsx @@ -36,7 +36,7 @@ export default function Avatar(props: AvatarProps) { return title ? ( {avatar} - + {title} diff --git a/apps/web/components/ui/ModalContainer.tsx b/apps/web/components/ui/ModalContainer.tsx index c7aeb5db5c..86e9277148 100644 --- a/apps/web/components/ui/ModalContainer.tsx +++ b/apps/web/components/ui/ModalContainer.tsx @@ -23,7 +23,7 @@ export default function ModalContainer(props: Props) {
setTimeZone(tz.value)} - className="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-brand focus:ring-black sm:text-sm" + className="focus:border-brand mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:ring-black sm:text-sm" />
diff --git a/apps/web/components/ui/SettingInputContainer.tsx b/apps/web/components/ui/SettingInputContainer.tsx index 492382d42e..e2fb8df85d 100644 --- a/apps/web/components/ui/SettingInputContainer.tsx +++ b/apps/web/components/ui/SettingInputContainer.tsx @@ -12,7 +12,7 @@ export default function SettingInputContainer({ return (
-
+
-
+
@@ -20,7 +20,7 @@ const CheckboxField = forwardRef(({ label, description, {...rest} ref={ref} type="checkbox" - className="h-4 w-4 rounded border-gray-300 text-primary-600 focus:ring-primary-500" + className="text-primary-600 focus:ring-primary-500 h-4 w-4 rounded border-gray-300" />
diff --git a/apps/web/components/ui/form/DatePicker.tsx b/apps/web/components/ui/form/DatePicker.tsx index d4134a2f9f..1f7e8f761b 100644 --- a/apps/web/components/ui/form/DatePicker.tsx +++ b/apps/web/components/ui/form/DatePicker.tsx @@ -16,7 +16,7 @@ export const DatePicker = ({ date, onDatesChange, className }: Props) => { return ( { return ( } rangeDivider={} diff --git a/apps/web/components/ui/form/MinutesField.tsx b/apps/web/components/ui/form/MinutesField.tsx index 9ffc1e17c9..5a69121188 100644 --- a/apps/web/components/ui/form/MinutesField.tsx +++ b/apps/web/components/ui/form/MinutesField.tsx @@ -9,7 +9,7 @@ const MinutesField = forwardRef(({ label, ...rest }, re return (
{!!label && ( -
+
@@ -22,7 +22,7 @@ const MinutesField = forwardRef(({ label, ...rest }, re ref={ref} type="number" className={classNames( - "block w-full rounded-sm border-gray-300 pl-2 pr-12 focus:border-primary-500 focus:ring-primary-500 sm:text-sm", + "focus:border-primary-500 focus:ring-primary-500 block w-full rounded-sm border-gray-300 pl-2 pr-12 sm:text-sm", rest.className )} /> diff --git a/apps/web/components/ui/form/PhoneInput.tsx b/apps/web/components/ui/form/PhoneInput.tsx index ae01d5414c..595dbbb906 100644 --- a/apps/web/components/ui/form/PhoneInput.tsx +++ b/apps/web/components/ui/form/PhoneInput.tsx @@ -9,7 +9,7 @@ export const PhoneInput = (props: Optional) => ( { diff --git a/apps/web/components/ui/form/Select.tsx b/apps/web/components/ui/form/Select.tsx index c5fa0fa174..1e9907bb80 100644 --- a/apps/web/components/ui/form/Select.tsx +++ b/apps/web/components/ui/form/Select.tsx @@ -24,7 +24,7 @@ function Select< ...components, IndicatorSeparator: () => null, }} - className={classNames("text-sm shadow-sm focus:border-primary-500", className)} + className={classNames("focus:border-primary-500 text-sm shadow-sm", className)} {...props} /> ); diff --git a/apps/web/components/ui/form/radio-area/Select.tsx b/apps/web/components/ui/form/radio-area/Select.tsx index d522281b14..371be2bc71 100644 --- a/apps/web/components/ui/form/radio-area/Select.tsx +++ b/apps/web/components/ui/form/radio-area/Select.tsx @@ -34,7 +34,7 @@ export const Select = function RadioAreaSelect(props: RadioAreaSelectProps) { type="button" disabled={disabled} className={classNames( - "border-1 mb-1 block w-full cursor-pointer rounded-sm border border-gray-300 bg-white p-2 text-left shadow-sm focus:ring-primary-500 sm:text-sm", + "border-1 focus:ring-primary-500 mb-1 block w-full cursor-pointer rounded-sm border border-gray-300 bg-white p-2 text-left shadow-sm sm:text-sm", disabled && "cursor-default bg-gray-200 focus:ring-0 " )}> {getLabel(props.value) ?? placeholder} diff --git a/apps/web/components/ui/modal/SetTimesModal.tsx b/apps/web/components/ui/modal/SetTimesModal.tsx index 25e202294d..a31559d17f 100644 --- a/apps/web/components/ui/modal/SetTimesModal.tsx +++ b/apps/web/components/ui/modal/SetTimesModal.tsx @@ -76,7 +76,7 @@ export default function SetTimesModal(props: SetTimesModalProps) { maxLength={2} name="hours" id="startHours" - className="block w-full rounded-md border-gray-300 shadow-sm focus:border-brand focus:ring-black sm:text-sm" + className="focus:border-brand block w-full rounded-md border-gray-300 shadow-sm focus:ring-black sm:text-sm" placeholder="9" defaultValue={startHours} /> @@ -95,7 +95,7 @@ export default function SetTimesModal(props: SetTimesModalProps) { maxLength={2} name="minutes" id="startMinutes" - className="block w-full rounded-md border-gray-300 shadow-sm focus:border-brand focus:ring-black sm:text-sm" + className="focus:border-brand block w-full rounded-md border-gray-300 shadow-sm focus:ring-black sm:text-sm" placeholder="30" defaultValue={startMinutes} /> @@ -115,7 +115,7 @@ export default function SetTimesModal(props: SetTimesModalProps) { maxLength={2} name="hours" id="endHours" - className="block w-full rounded-md border-gray-300 shadow-sm focus:border-brand focus:ring-black sm:text-sm" + className="focus:border-brand block w-full rounded-md border-gray-300 shadow-sm focus:ring-black sm:text-sm" placeholder="17" defaultValue={endHours} /> @@ -134,7 +134,7 @@ export default function SetTimesModal(props: SetTimesModalProps) { step="15" name="minutes" id="endMinutes" - className="block w-full rounded-md border-gray-300 shadow-sm focus:border-brand focus:ring-black sm:text-sm" + className="focus:border-brand block w-full rounded-md border-gray-300 shadow-sm focus:ring-black sm:text-sm" placeholder="30" defaultValue={endMinutes} /> diff --git a/apps/web/ee/components/LicenseBanner.tsx b/apps/web/ee/components/LicenseBanner.tsx index dbd3462db9..67648bcfad 100644 --- a/apps/web/ee/components/LicenseBanner.tsx +++ b/apps/web/ee/components/LicenseBanner.tsx @@ -83,7 +83,7 @@ export default function LicenseBanner() { variable to 'agreeapos;. -

{t("terms_summary")}:

+

{t("terms_summary")}: