= (props) => {
size="sm"
truncateAfter={3}
/>
-
+
{eventType.team?.parent?.name} {profile.name}
diff --git a/apps/web/components/booking/BookingDescriptionPayment.tsx b/apps/web/components/booking/BookingDescriptionPayment.tsx
index 2f9ef06652..b4e7f171ab 100644
--- a/apps/web/components/booking/BookingDescriptionPayment.tsx
+++ b/apps/web/components/booking/BookingDescriptionPayment.tsx
@@ -19,7 +19,7 @@ const BookingDescriptionPayment = (props: {
return (
-
+
{paymentAppData.paymentOption === "HOLD" ? (
<>{props.t("no_show_fee_amount", params)}>
) : (
diff --git a/apps/web/components/booking/BookingListItem.tsx b/apps/web/components/booking/BookingListItem.tsx
index d724be8fb5..d0c2f35541 100644
--- a/apps/web/components/booking/BookingListItem.tsx
+++ b/apps/web/components/booking/BookingListItem.tsx
@@ -374,7 +374,7 @@ function BookingListItem(booking: BookingItemProps) {
{/* Time and Badges for mobile */}
-
+
{startTime}
@@ -423,7 +423,7 @@ function BookingListItem(booking: BookingItemProps) {
{paymentAppData.enabled && !booking.paid && booking.payment.length && (
-
+
{t("pending_payment")}
)}
diff --git a/apps/web/components/booking/CancelBooking.tsx b/apps/web/components/booking/CancelBooking.tsx
index 0c95055985..89819a2d4f 100644
--- a/apps/web/components/booking/CancelBooking.tsx
+++ b/apps/web/components/booking/CancelBooking.tsx
@@ -64,7 +64,7 @@ export default function CancelBooking(props: Props) {
placeholder={t("cancellation_reason_placeholder")}
value={cancellationReason}
onChange={(e) => setCancellationReason(e.target.value)}
- className="mt-2 mb-4 w-full "
+ className="mb-4 mt-2 w-full "
rows={3}
/>
diff --git a/apps/web/components/booking/SkeletonLoader.tsx b/apps/web/components/booking/SkeletonLoader.tsx
index 518798006d..7693469b99 100644
--- a/apps/web/components/booking/SkeletonLoader.tsx
+++ b/apps/web/components/booking/SkeletonLoader.tsx
@@ -25,7 +25,7 @@ function SkeletonItem() {
-
+
diff --git a/apps/web/components/booking/pages/AvailabilityPage.tsx b/apps/web/components/booking/pages/AvailabilityPage.tsx
index 007c74717d..24c6d438c8 100644
--- a/apps/web/components/booking/pages/AvailabilityPage.tsx
+++ b/apps/web/components/booking/pages/AvailabilityPage.tsx
@@ -191,9 +191,9 @@ const AvailabilityPage = ({ profile, eventType, ...restProps }: Props) => {
)}
{!rescheduleUid && eventType.recurringEvent && (
-
+
-
+
{getRecurringFreq({ t, recurringEvent: eventType.recurringEvent })}
@@ -218,7 +218,7 @@ const AvailabilityPage = ({ profile, eventType, ...restProps }: Props) => {
)}
{paymentAppData.price > 0 && (
-
+
{paymentAppData.paymentOption === "HOLD" ? (
<>
{t("no_show_fee_amount", {
diff --git a/apps/web/components/booking/pages/BookingPage.tsx b/apps/web/components/booking/pages/BookingPage.tsx
index 4d61c38b7a..a490f06a2b 100644
--- a/apps/web/components/booking/pages/BookingPage.tsx
+++ b/apps/web/components/booking/pages/BookingPage.tsx
@@ -534,7 +534,7 @@ const BookingPage = ({
)}>
{showEventTypeDetails && (
-
+
{!rescheduleUid && eventType.recurringEvent?.freq && recurringEventCount && (
@@ -577,11 +577,11 @@ const BookingPage = ({
{booking?.startTime && rescheduleUid && (
-
+
{t("former_time")}
-
+
{isClientTimezoneAvailable &&
typeof booking.startTime === "string" &&
parseDateTimeWithTimeZone(booking.startTime, i18n.language, timezone, {
diff --git a/apps/web/components/dialog/EditLocationDialog.tsx b/apps/web/components/dialog/EditLocationDialog.tsx
index b8c8d219df..c8c3c5913f 100644
--- a/apps/web/components/dialog/EditLocationDialog.tsx
+++ b/apps/web/components/dialog/EditLocationDialog.tsx
@@ -259,7 +259,7 @@ export const EditLocationDialog = (props: ISetLocationDialog) => {
{booking && (
<>
-
{t("current_location")}:
+
{t("current_location")}:
{getHumanReadableLocationValue(booking.location, t)}
diff --git a/apps/web/components/dialog/RescheduleDialog.tsx b/apps/web/components/dialog/RescheduleDialog.tsx
index 39d27f5af9..6109bb88be 100644
--- a/apps/web/components/dialog/RescheduleDialog.tsx
+++ b/apps/web/components/dialog/RescheduleDialog.tsx
@@ -49,7 +49,7 @@ export const RescheduleDialog = (props: IRescheduleDialog) => {
{t("reschedule_modal_description")}
-
+
{t("reason_for_reschedule_request")}
(Optional)
diff --git a/apps/web/components/error/error-page.tsx b/apps/web/components/error/error-page.tsx
index e3102f230b..112202ffa5 100644
--- a/apps/web/components/error/error-page.tsx
+++ b/apps/web/components/error/error-page.tsx
@@ -35,7 +35,7 @@ const ErrorDebugPanel: React.FC<{ error: Props["error"]; children?: never }> = (
{debugMap.map(([key, value]) => {
if (value !== undefined) {
return (
-
+
{key}
{value}
diff --git a/apps/web/components/eventtype/CustomEventTypeModal.tsx b/apps/web/components/eventtype/CustomEventTypeModal.tsx
index 1413364dfb..7cda6b7556 100644
--- a/apps/web/components/eventtype/CustomEventTypeModal.tsx
+++ b/apps/web/components/eventtype/CustomEventTypeModal.tsx
@@ -84,7 +84,7 @@ const CustomEventTypeModalForm: FC
= (props) => {
backgroundImage: "url(/calendar-preview.svg)",
}}>
-
+
diff --git a/apps/web/components/eventtype/EventAdvancedTab.tsx b/apps/web/components/eventtype/EventAdvancedTab.tsx
index 0bce4271c5..a9f74d6c0c 100644
--- a/apps/web/components/eventtype/EventAdvancedTab.tsx
+++ b/apps/web/components/eventtype/EventAdvancedTab.tsx
@@ -157,7 +157,7 @@ export const EventAdvancedTab = ({ eventType, team }: Pick
setShowEventNameTip((old) => !old)}>
@@ -220,7 +220,7 @@ export const EventAdvancedTab = ({ eventType, team }: Pick
{/* Textfield has some margin by default we remove that so we can keep consistent alignment */}
-
+
{
navigator.clipboard.writeText(placeholderHashedLink);
diff --git a/apps/web/components/eventtype/EventLimitsTab.tsx b/apps/web/components/eventtype/EventLimitsTab.tsx
index ec067d2a6c..f3dfe22bf8 100644
--- a/apps/web/components/eventtype/EventLimitsTab.tsx
+++ b/apps/web/components/eventtype/EventLimitsTab.tsx
@@ -171,7 +171,7 @@ export const EventLimitsTab = ({ eventType }: Pick
-
+
{t("before_event")}
@@ -245,7 +245,7 @@ export const EventLimitsTab = ({ eventType }: Pick
-
+
{t("minimum_booking_notice")}
@@ -416,7 +416,7 @@ export const EventLimitsTab = ({ eventType }: Pick
)}
{period.type === "RANGE" && (
-
+
)}
- {period.suffix ?
{period.suffix} : null}
+ {period.suffix ?
{period.suffix} : null}
);
})}
diff --git a/apps/web/components/eventtype/EventSetupTab.tsx b/apps/web/components/eventtype/EventSetupTab.tsx
index f88f6028b3..d06adcb2dc 100644
--- a/apps/web/components/eventtype/EventSetupTab.tsx
+++ b/apps/web/components/eventtype/EventSetupTab.tsx
@@ -284,7 +284,7 @@ export const EventSetupTab = (
return (
+ className="border-default text-default mb-2 h-9 rounded-md border px-2 py-1.5 hover:cursor-pointer">
-
{eventLabel}
+
{eventLabel}
-
+
The “Add to calendar” for this event type needs to be a Google Calendar for Meet to work.
diff --git a/apps/web/components/eventtype/EventTypeSingleLayout.tsx b/apps/web/components/eventtype/EventTypeSingleLayout.tsx
index 42630f730c..e7721cbecc 100644
--- a/apps/web/components/eventtype/EventTypeSingleLayout.tsx
+++ b/apps/web/components/eventtype/EventTypeSingleLayout.tsx
@@ -369,7 +369,7 @@ function EventTypeSingleLayout({
-
+
diff --git a/apps/web/components/security/DisableTwoFactorModal.tsx b/apps/web/components/security/DisableTwoFactorModal.tsx
index 7fe54a73af..7cb220a5fb 100644
--- a/apps/web/components/security/DisableTwoFactorModal.tsx
+++ b/apps/web/components/security/DisableTwoFactorModal.tsx
@@ -82,7 +82,7 @@ const DisableTwoFactorAuthModal = ({ onDisable, onCancel }: DisableTwoFactorAuth
-
+
{t("disable")}
diff --git a/apps/web/components/security/DisableUserImpersonation.tsx b/apps/web/components/security/DisableUserImpersonation.tsx
index 62c4ae5ea0..164cbc30c3 100644
--- a/apps/web/components/security/DisableUserImpersonation.tsx
+++ b/apps/web/components/security/DisableUserImpersonation.tsx
@@ -19,7 +19,7 @@ const DisableUserImpersonation = ({ disableImpersonation }: { disableImpersonati
return (
<>
-
+
diff --git a/apps/web/components/security/EnableTwoFactorModal.tsx b/apps/web/components/security/EnableTwoFactorModal.tsx
index a6d9e7a5bf..9442b723c3 100644
--- a/apps/web/components/security/EnableTwoFactorModal.tsx
+++ b/apps/web/components/security/EnableTwoFactorModal.tsx
@@ -178,19 +178,19 @@ const EnableTwoFactorModal = ({ onEnable, onCancel }: EnableTwoFactorModalProps)
{t("continue")}
- setStep(SetupStep.EnterTotpCode)}>
+ setStep(SetupStep.EnterTotpCode)}>
{t("continue")}
-
+
{t("enable")}
diff --git a/apps/web/components/security/TwoFactorAuthSection.tsx b/apps/web/components/security/TwoFactorAuthSection.tsx
index f4bb6bba5c..ff9bb4bbee 100644
--- a/apps/web/components/security/TwoFactorAuthSection.tsx
+++ b/apps/web/components/security/TwoFactorAuthSection.tsx
@@ -14,7 +14,7 @@ const TwoFactorAuthSection = ({ twoFactorEnabled }: { twoFactorEnabled: boolean
return (
<>
-
+
{t("2fa")}
diff --git a/apps/web/components/security/TwoFactorModalHeader.tsx b/apps/web/components/security/TwoFactorModalHeader.tsx
index f0b4ed73d9..68c6682515 100644
--- a/apps/web/components/security/TwoFactorModalHeader.tsx
+++ b/apps/web/components/security/TwoFactorModalHeader.tsx
@@ -6,7 +6,7 @@ const TwoFactorModalHeader = ({ title, description }: { title: string; descripti
-
+
{title}
diff --git a/apps/web/components/settings/DisableTwoFactorModal.tsx b/apps/web/components/settings/DisableTwoFactorModal.tsx
index 987d4d6e81..71443b0001 100644
--- a/apps/web/components/settings/DisableTwoFactorModal.tsx
+++ b/apps/web/components/settings/DisableTwoFactorModal.tsx
@@ -90,7 +90,7 @@ const DisableTwoFactorAuthModal = ({
-
+
{t("disable")}
diff --git a/apps/web/components/settings/EnableTwoFactorModal.tsx b/apps/web/components/settings/EnableTwoFactorModal.tsx
index c333e46d43..36a5db71b3 100644
--- a/apps/web/components/settings/EnableTwoFactorModal.tsx
+++ b/apps/web/components/settings/EnableTwoFactorModal.tsx
@@ -177,7 +177,7 @@ const EnableTwoFactorModal = ({ onEnable, onCancel, open, onOpenChange }: Enable
{t("continue")}
@@ -187,13 +187,13 @@ const EnableTwoFactorModal = ({ onEnable, onCancel, open, onOpenChange }: Enable
setStep(SetupStep.EnterTotpCode)}>
{t("continue")}
-
+
{t("enable")}
diff --git a/apps/web/components/setup/AdminUser.tsx b/apps/web/components/setup/AdminUser.tsx
index c13434b157..9d50b1f87a 100644
--- a/apps/web/components/setup/AdminUser.tsx
+++ b/apps/web/components/setup/AdminUser.tsx
@@ -111,7 +111,7 @@ export const AdminUser = (props: { onSubmit: () => void; onError: () => void; on
{t("username")}
{longWebsiteUrl && (
-
+
{process.env.NEXT_PUBLIC_WEBSITE_URL}
)}
diff --git a/apps/web/components/setup/StepDone.tsx b/apps/web/components/setup/StepDone.tsx
index b101a17bef..2bd6a82b97 100644
--- a/apps/web/components/setup/StepDone.tsx
+++ b/apps/web/components/setup/StepDone.tsx
@@ -27,7 +27,7 @@ const StepDone = (props: {
-
{t("all_done")}
+ {t("all_done")}
diff --git a/apps/web/components/team/screens/Team.tsx b/apps/web/components/team/screens/Team.tsx
index bbf31e1b01..77fb044f9b 100644
--- a/apps/web/components/team/screens/Team.tsx
+++ b/apps/web/components/team/screens/Team.tsx
@@ -30,9 +30,9 @@ const Member = ({ member, teamName }: { member: MemberType; teamName: string | n
alt={member.name || ""}
imageSrc={WEBAPP_URL + "/" + member.username + "/avatar.png"}
/>
-
+
{member.name}
-
+
{!isBioEmpty ? (
<>
{value}
{!isEditing && isReady && (
-
+
)}
{
setIsEditing(true);
diff --git a/apps/web/components/ui/InfoBadge.tsx b/apps/web/components/ui/InfoBadge.tsx
index fd7fb07f18..3fa1dc5b03 100644
--- a/apps/web/components/ui/InfoBadge.tsx
+++ b/apps/web/components/ui/InfoBadge.tsx
@@ -6,7 +6,7 @@ export default function InfoBadge({ content }: { content: string }) {
<>
-
+
>
diff --git a/apps/web/components/ui/ModalContainer.tsx b/apps/web/components/ui/ModalContainer.tsx
index 91436493c5..09fe96db6d 100644
--- a/apps/web/components/ui/ModalContainer.tsx
+++ b/apps/web/components/ui/ModalContainer.tsx
@@ -14,7 +14,7 @@ export default function ModalContainer(
}>
) {
return (
-
+
{
}}
data-testid="username-input"
/>
-
+
{
return usernameIsAvailable && currentUsername !== inputUsernameValue ? (
-
+
setOpenDialogSaveUsername(true)}
diff --git a/apps/web/lib/core/i18n/i18n.utils.ts b/apps/web/lib/core/i18n/i18n.utils.ts
index 22beb2b490..be6ff90a25 100644
--- a/apps/web/lib/core/i18n/i18n.utils.ts
+++ b/apps/web/lib/core/i18n/i18n.utils.ts
@@ -5,7 +5,8 @@ import type { GetServerSidePropsContext } from "next";
import { getServerSession } from "@calcom/features/auth/lib/getServerSession";
import type { Maybe } from "@calcom/trpc/server";
-import { i18n } from "../../../next-i18next.config";
+// eslint-disable-next-line @typescript-eslint/no-var-requires
+const { i18n } = require("@calcom/config/next-i18next.config");
export function getLocaleFromHeaders(req: IncomingMessage): string {
let preferredLocale: string | null | undefined;
diff --git a/apps/web/package.json b/apps/web/package.json
index 5475be77af..8abd3f4df5 100644
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -48,7 +48,7 @@
"@radix-ui/react-avatar": "^1.0.0",
"@radix-ui/react-collapsible": "^1.0.0",
"@radix-ui/react-dialog": "^1.0.0",
- "@radix-ui/react-dropdown-menu": "^1.0.0",
+ "@radix-ui/react-dropdown-menu": "^2.0.5",
"@radix-ui/react-id": "^1.0.0",
"@radix-ui/react-popover": "^1.0.2",
"@radix-ui/react-radio-group": "^1.0.0",
@@ -90,10 +90,10 @@
"mime-types": "^2.1.35",
"next": "^13.4.6",
"next-auth": "^4.20.1",
- "next-axiom": "^0.16.0",
+ "next-axiom": "^0.17.0",
"next-collect": "^0.2.1",
- "next-i18next": "^11.3.0",
- "next-seo": "^4.26.0",
+ "next-i18next": "^13.2.2",
+ "next-seo": "^6.0.0",
"next-themes": "^0.2.0",
"nodemailer": "^6.7.8",
"otplib": "^12.0.1",
@@ -109,7 +109,7 @@
"react-hook-form": "^7.43.3",
"react-hot-toast": "^2.3.0",
"react-intl": "^5.25.1",
- "react-live-chat-loader": "^2.7.3",
+ "react-live-chat-loader": "^2.8.1",
"react-multi-email": "^0.5.3",
"react-phone-input-2": "^2.15.1",
"react-phone-number-input": "^3.2.7",
diff --git a/apps/web/pages/404.tsx b/apps/web/pages/404.tsx
index 5d461f1691..3a915fdb7b 100644
--- a/apps/web/pages/404.tsx
+++ b/apps/web/pages/404.tsx
@@ -59,7 +59,7 @@ export default function Custom404() {
}}
/>
-
+
{t("error_404")}
@@ -91,7 +91,7 @@ export default function Custom404() {
}}
/>
-
+
{isSignup && process.env.NEXT_PUBLIC_WEBAPP_URL !== "https://app.cal.com" ? (
diff --git a/apps/web/pages/500.tsx b/apps/web/pages/500.tsx
index 2b10ff9612..cd1af130e9 100644
--- a/apps/web/pages/500.tsx
+++ b/apps/web/pages/500.tsx
@@ -21,7 +21,7 @@ export default function Error500() {
500
It's not you, it's us.
-
+
Something went wrong on our end. Get in touch with our support team, and we’ll get it fixed right
away for you.
diff --git a/apps/web/pages/[user].tsx b/apps/web/pages/[user].tsx
index 8b42bb0d38..282c21b2b1 100644
--- a/apps/web/pages/[user].tsx
+++ b/apps/web/pages/[user].tsx
@@ -134,7 +134,7 @@ export function UserPage(props: UserPageProps) {
className={classNames(
shouldAlignCentrally ? "mx-auto" : "",
isEmbed ? "border-booker border-booker-width bg-default rounded-md border" : "",
- "max-w-3xl py-24 px-4"
+ "max-w-3xl px-4 py-24"
)}>
{isSingleUser && ( // When we deal with a single user, not dynamic group
diff --git a/apps/web/pages/auth/error.tsx b/apps/web/pages/auth/error.tsx
index 281969aec9..cfa30f288d 100644
--- a/apps/web/pages/auth/error.tsx
+++ b/apps/web/pages/auth/error.tsx
@@ -1,6 +1,7 @@
import type { GetStaticPropsContext } from "next";
import Link from "next/link";
import { useRouter } from "next/router";
+import type { ReactElement } from "react";
import z from "zod";
import { useLocale } from "@calcom/lib/hooks/useLocale";
@@ -21,7 +22,7 @@ export default function Error() {
const router = useRouter();
const { error } = querySchema.parse(router.query);
const isTokenVerificationError = error?.toLowerCase() === "verification";
- let errorMsg =
;
+ let errorMsg: string | ReactElement =
;
if (router.isReady) {
errorMsg = isTokenVerificationError ? t("token_invalid_expired") : t("error_during_login");
}
diff --git a/apps/web/pages/availability/[schedule].tsx b/apps/web/pages/availability/[schedule].tsx
index 68cdcc9feb..91b030273b 100644
--- a/apps/web/pages/availability/[schedule].tsx
+++ b/apps/web/pages/availability/[schedule].tsx
@@ -254,7 +254,7 @@ export default function Availability() {
-
+
)}
{userIsOwner && !isEmbed && (
-
+
@@ -321,7 +321,7 @@ export default function Success(props: SuccessProps) {
-
+
@@ -642,7 +642,7 @@ export default function Success(props: SuccessProps) {
className="text-default border-subtle mx-2 h-10 w-10 rounded-sm border px-3 py-2"
target="_blank">
@@ -659,7 +659,7 @@ export default function Success(props: SuccessProps) {
fill="currentColor"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 1000 1000"
- className="mr-1 -mt-1.5 inline-block h-4 w-4">
+ className="-mt-1.5 mr-1 inline-block h-4 w-4">
{t("other")}
diff --git a/apps/web/pages/event-types/index.tsx b/apps/web/pages/event-types/index.tsx
index f20ee65e83..2453b7248a 100644
--- a/apps/web/pages/event-types/index.tsx
+++ b/apps/web/pages/event-types/index.tsx
@@ -383,7 +383,7 @@ export const EventTypeList = ({ group, groupIndex, readOnly, types }: EventTypeL
{!(firstItem && firstItem.id === type.id) && (
moveEventType(index, -1)}>
@@ -391,7 +391,7 @@ export const EventTypeList = ({ group, groupIndex, readOnly, types }: EventTypeL
{!(lastItem && lastItem.id === type.id) && (
moveEventType(index, 1)}>
@@ -401,7 +401,7 @@ export const EventTypeList = ({ group, groupIndex, readOnly, types }: EventTypeL
{type.team && !isManagedEventType && (
{!isManagedEventType && (
-
+
{membershipCount && teamId && (
-
+
-
+
{membershipCount}
@@ -747,7 +747,7 @@ const EventTypeListHeading = ({
{!profile?.slug && !!teamId && (
publishTeamMutation.mutate({ teamId })}>
-
+
{t("upgrade")}
diff --git a/apps/web/pages/insights/index.tsx b/apps/web/pages/insights/index.tsx
index a2f9f4c1fe..0d4a7b8016 100644
--- a/apps/web/pages/insights/index.tsx
+++ b/apps/web/pages/insights/index.tsx
@@ -77,7 +77,7 @@ export default function InsightsPage() {
<>>
) : (
-
+
diff --git a/apps/web/pages/maintenance.tsx b/apps/web/pages/maintenance.tsx
index a86e7e42cd..9d787ab453 100644
--- a/apps/web/pages/maintenance.tsx
+++ b/apps/web/pages/maintenance.tsx
@@ -19,7 +19,7 @@ export default function MaintenancePage() {
{t("under_maintenance")}
-
+
{t("under_maintenance_description", { appName: APP_NAME })}
{t("contact_support")}
diff --git a/apps/web/pages/settings/billing/index.tsx b/apps/web/pages/settings/billing/index.tsx
index 8cb08fee79..97fea524c1 100644
--- a/apps/web/pages/settings/billing/index.tsx
+++ b/apps/web/pages/settings/billing/index.tsx
@@ -25,7 +25,7 @@ const CtaRow = ({ title, description, className, children }: CtaRowProps) => {
{title}
{description}
-
{children}
+
{children}
>
diff --git a/apps/web/pages/settings/developer/api-keys.tsx b/apps/web/pages/settings/developer/api-keys.tsx
index 3cadde85c5..f3093fa5e8 100644
--- a/apps/web/pages/settings/developer/api-keys.tsx
+++ b/apps/web/pages/settings/developer/api-keys.tsx
@@ -57,7 +57,7 @@ const ApiKeysView = () => {
{isLoading ? null : data?.length ? (
<>
-
+
{data.map((apiKey, index) => (
-
+
diff --git a/apps/web/pages/settings/my-account/calendars.tsx b/apps/web/pages/settings/my-account/calendars.tsx
index 063db71aa0..c63125a35b 100644
--- a/apps/web/pages/settings/my-account/calendars.tsx
+++ b/apps/web/pages/settings/my-account/calendars.tsx
@@ -34,7 +34,7 @@ import PageWrapper from "@components/PageWrapper";
const SkeletonLoader = () => {
return (
-
+
diff --git a/apps/web/pages/settings/my-account/conferencing.tsx b/apps/web/pages/settings/my-account/conferencing.tsx
index ca305a3230..4a46339c93 100644
--- a/apps/web/pages/settings/my-account/conferencing.tsx
+++ b/apps/web/pages/settings/my-account/conferencing.tsx
@@ -33,7 +33,7 @@ const SkeletonLoader = ({ title, description }: { title: string; description: st
return (
-
+
diff --git a/apps/web/pages/settings/my-account/general.tsx b/apps/web/pages/settings/my-account/general.tsx
index 487da5ff5e..a386314e48 100644
--- a/apps/web/pages/settings/my-account/general.tsx
+++ b/apps/web/pages/settings/my-account/general.tsx
@@ -29,7 +29,7 @@ const SkeletonLoader = ({ title, description }: { title: string; description: st
return (
-
+
diff --git a/apps/web/pages/settings/my-account/profile.tsx b/apps/web/pages/settings/my-account/profile.tsx
index 5943d74d2f..c44b8d2279 100644
--- a/apps/web/pages/settings/my-account/profile.tsx
+++ b/apps/web/pages/settings/my-account/profile.tsx
@@ -48,7 +48,7 @@ const SkeletonLoader = ({ title, description }: { title: string; description: st
return (
-
+
diff --git a/apps/web/pages/settings/security/two-factor-auth.tsx b/apps/web/pages/settings/security/two-factor-auth.tsx
index 7d50363eb8..08265930b6 100644
--- a/apps/web/pages/settings/security/two-factor-auth.tsx
+++ b/apps/web/pages/settings/security/two-factor-auth.tsx
@@ -12,7 +12,7 @@ import EnableTwoFactorModal from "@components/settings/EnableTwoFactorModal";
const SkeletonLoader = () => {
return (
-
+
diff --git a/apps/web/pages/team/[slug].tsx b/apps/web/pages/team/[slug].tsx
index b5e19cb09d..a168a56c43 100644
--- a/apps/web/pages/team/[slug].tsx
+++ b/apps/web/pages/team/[slug].tsx
@@ -171,7 +171,7 @@ function TeamPage({ team, isUnpublished, markdownStrippedBio, isValidOrgDomain }
profile: { name: `${team.name}`, image: getPlaceholderAvatar(team.logo, team.name) },
}}
/>
-
+
diff --git a/apps/web/pages/video/meeting-ended/[uid].tsx b/apps/web/pages/video/meeting-ended/[uid].tsx
index e89d8ec6a4..82e78f7895 100644
--- a/apps/web/pages/video/meeting-ended/[uid].tsx
+++ b/apps/web/pages/video/meeting-ended/[uid].tsx
@@ -19,13 +19,13 @@ export default function MeetingUnavailable(props: inferSSRProps
-
+
@@ -38,12 +38,12 @@ export default function MeetingUnavailable(props: inferSSRProps
-
+
{props.booking.title}
-
+
{dayjs(props.booking.startTime).format(detectBrowserTimeFormat + ", dddd DD MMMM YYYY")}
diff --git a/apps/web/pages/video/meeting-not-started/[uid].tsx b/apps/web/pages/video/meeting-not-started/[uid].tsx
index 21f793a9e8..ac8d777a69 100644
--- a/apps/web/pages/video/meeting-not-started/[uid].tsx
+++ b/apps/web/pages/video/meeting-not-started/[uid].tsx
@@ -23,7 +23,7 @@ export default function MeetingNotStarted(props: inferSSRProps
{props.booking.title}
-
+
{dayjs(props.booking.startTime).format(detectBrowserTimeFormat + ", dddd DD MMMM YYYY")}
>
diff --git a/apps/web/server/lib/ssg.ts b/apps/web/server/lib/ssg.ts
index 75f031efef..06d46c0f16 100644
--- a/apps/web/server/lib/ssg.ts
+++ b/apps/web/server/lib/ssg.ts
@@ -1,5 +1,4 @@
import type { GetStaticPropsContext } from "next";
-import { i18n } from "next-i18next.config";
import { serverSideTranslations } from "next-i18next/serverSideTranslations";
import superjson from "superjson";
@@ -7,6 +6,9 @@ import prisma from "@calcom/prisma";
import { createProxySSGHelpers } from "@calcom/trpc/react/ssg";
import { appRouter } from "@calcom/trpc/server/routers/_app";
+// eslint-disable-next-line @typescript-eslint/no-var-requires
+const { i18n } = require("@calcom/config/next-i18next.config");
+
/**
* Initialize static site rendering tRPC helpers.
* Provides a method to prefetch tRPC-queries in a `getStaticProps`-function.
diff --git a/package.json b/package.json
index 5a33322a2f..aba79f9caf 100644
--- a/package.json
+++ b/package.json
@@ -100,7 +100,7 @@
"@apidevtools/json-schema-ref-parser": "9.0.9",
"@types/node": "16.9.1",
"@types/react": "18.0.26",
- "@types/react-dom": "18.0.9"
+ "@types/react-dom": "^18.0.9"
},
"lint-staged": {
"(apps|packages)/**/*.{js,ts,jsx,tsx}": [
diff --git a/packages/app-store/applecalendar/pages/setup/index.tsx b/packages/app-store/applecalendar/pages/setup/index.tsx
index 5306d4de52..3678a982a6 100644
--- a/packages/app-store/applecalendar/pages/setup/index.tsx
+++ b/packages/app-store/applecalendar/pages/setup/index.tsx
@@ -22,7 +22,7 @@ export default function AppleCalendarSetup() {
return (
-
+
{/* eslint-disable @next/next/no-img-element */}
-
+
{/* eslint-disable @next/next/no-img-element */}
-
+
{/* eslint-disable @next/next/no-img-element */}
!dependency.installed) ? "bg-info" : "bg-subtle"
)}>
{dependencyData &&
@@ -121,7 +121,7 @@ export const AppDependencyComponent = ({
-
+
@@ -144,7 +144,7 @@ export const AppDependencyComponent = ({
diff --git a/packages/app-store/eightxeight/DESCRIPTION.md b/packages/app-store/eightxeight/DESCRIPTION.md
index 4831ab5fd2..6a6bc20178 100644
--- a/packages/app-store/eightxeight/DESCRIPTION.md
+++ b/packages/app-store/eightxeight/DESCRIPTION.md
@@ -5,8 +5,9 @@ items:
---
{DESCRIPTION}
+
- High definition video conferencing on any device for up to 500 participants
- Rich content sharing and collaboration
- Enterprise grade reliability and availability for a business of five or 50,000
- 100% secured and encrypted
-- Copy your room link and start scheduling calls in 8x8
\ No newline at end of file
+- Copy your room link and start scheduling calls in 8x8
diff --git a/packages/app-store/exchangecalendar/pages/setup/index.tsx b/packages/app-store/exchangecalendar/pages/setup/index.tsx
index 32fd9ab9e7..f6c890cd44 100644
--- a/packages/app-store/exchangecalendar/pages/setup/index.tsx
+++ b/packages/app-store/exchangecalendar/pages/setup/index.tsx
@@ -60,7 +60,7 @@ export default function ExchangeSetup() {
<>
-
+
{/* eslint-disable @next/next/no-img-element */}
{
{isLoading ? (
-
+
{
) : (
-
+
)}
diff --git a/packages/app-store/googlecalendar/components/ExistingGoogleCal.tsx b/packages/app-store/googlecalendar/components/ExistingGoogleCal.tsx
index e5df408800..70f33f8942 100644
--- a/packages/app-store/googlecalendar/components/ExistingGoogleCal.tsx
+++ b/packages/app-store/googlecalendar/components/ExistingGoogleCal.tsx
@@ -8,11 +8,11 @@ const ExistingGoogleCal = ({ gCalInstalled, appName }: { gCalInstalled?: boolean
const { t } = useLocale();
return gCalInstalled ? (
-
+
-
+
{t("google_calendar_is_connected")}
@@ -26,11 +26,11 @@ const ExistingGoogleCal = ({ gCalInstalled, appName }: { gCalInstalled?: boolean
) : (
-
+
{t("this_app_requires_google_calendar", { appName })}
diff --git a/packages/app-store/jitsivideo/DESCRIPTION.md b/packages/app-store/jitsivideo/DESCRIPTION.md
index 596f97de6f..ee6231b3bb 100644
--- a/packages/app-store/jitsivideo/DESCRIPTION.md
+++ b/packages/app-store/jitsivideo/DESCRIPTION.md
@@ -3,4 +3,4 @@ items:
- jitsi1.jpg
---
-Jitsi is a free open-source video conferencing software for web and mobile. Make a call, launch on your own servers, integrate into your app, and more.
\ No newline at end of file
+Jitsi is a free open-source video conferencing software for web and mobile. Make a call, launch on your own servers, integrate into your app, and more.
diff --git a/packages/app-store/mirotalk/DESCRIPTION.md b/packages/app-store/mirotalk/DESCRIPTION.md
index 40c651cd18..cc5bdecc91 100644
--- a/packages/app-store/mirotalk/DESCRIPTION.md
+++ b/packages/app-store/mirotalk/DESCRIPTION.md
@@ -5,5 +5,6 @@ items:
---
{DESCRIPTION}
+
- Copy your room link and start scheduling calls in Mirotalk.
-- Both SFU and P2P are supported.
\ No newline at end of file
+- Both SFU and P2P are supported.
diff --git a/packages/app-store/package.json b/packages/app-store/package.json
index 994ccc8a12..c4185db134 100644
--- a/packages/app-store/package.json
+++ b/packages/app-store/package.json
@@ -24,7 +24,8 @@
"@calcom/ui": "*",
"@calcom/zoomvideo": "*",
"lodash": "^4.17.21",
- "qs-stringify": "^1.2.1"
+ "qs-stringify": "^1.2.1",
+ "react-i18next": "^12.2.0"
},
"devDependencies": {
"@calcom/types": "*"
diff --git a/packages/app-store/routing-forms/components/SingleForm.tsx b/packages/app-store/routing-forms/components/SingleForm.tsx
index bdcba4a232..f591575971 100644
--- a/packages/app-store/routing-forms/components/SingleForm.tsx
+++ b/packages/app-store/routing-forms/components/SingleForm.tsx
@@ -296,7 +296,7 @@ function SingleForm({ form, appUrl, Page }: SingleFormComponentProps) {
{form.name}
{form.team && (
-
+
{form.team.name}
)}
diff --git a/packages/app-store/routing-forms/pages/reporting/[...appPages].tsx b/packages/app-store/routing-forms/pages/reporting/[...appPages].tsx
index 5fbdbf3bca..b92ab481d6 100644
--- a/packages/app-store/routing-forms/pages/reporting/[...appPages].tsx
+++ b/packages/app-store/routing-forms/pages/reporting/[...appPages].tsx
@@ -71,7 +71,7 @@ const Result = ({ formId, jsonLogicQuery }: { formId: string; jsonLogicQuery: Js
{headers.current?.map((header, index) => (
@@ -97,7 +97,7 @@ const Result = ({ formId, jsonLogicQuery }: { formId: string; jsonLogicQuery: Js
return (
-
+
-
+
diff --git a/packages/app-store/templates/general-app-settings/components/AppSettingsInterface.tsx b/packages/app-store/templates/general-app-settings/components/AppSettingsInterface.tsx
index 666f6eaeb7..b92ebb55a3 100644
--- a/packages/app-store/templates/general-app-settings/components/AppSettingsInterface.tsx
+++ b/packages/app-store/templates/general-app-settings/components/AppSettingsInterface.tsx
@@ -8,7 +8,7 @@ export default function AppSettings() {
const [input, setInput] = useState("");
return (
-
+
How to route a Typeform with Cal.com Routing
-
+
Make sure that you have{" "}
diff --git a/packages/app-store/wipemycalother/components/confirmDialog.tsx b/packages/app-store/wipemycalother/components/confirmDialog.tsx
index 390268e2b3..b2dfb41ec0 100644
--- a/packages/app-store/wipemycalother/components/confirmDialog.tsx
+++ b/packages/app-store/wipemycalother/components/confirmDialog.tsx
@@ -92,7 +92,7 @@ export const ConfirmDialog = (props: IConfirmDialogWipe) => {
{initialDate.format(dateFormat)} - {endDate.format(dateFormat)}
- Are you sure? This can't be undone
+ Are you sure? This can't be undone
diff --git a/packages/app-store/zapier/pages/setup/index.tsx b/packages/app-store/zapier/pages/setup/index.tsx
index 34797e1c33..c332e435af 100644
--- a/packages/app-store/zapier/pages/setup/index.tsx
+++ b/packages/app-store/zapier/pages/setup/index.tsx
@@ -57,7 +57,7 @@ export default function ZapierSetup(props: IZapierSetupProps) {
{!newApiKey ? (
<>
{t("generate_api_key")}:
-
createApiKey()} className="mt-4 mb-4">
+ createApiKey()} className="mb-4 mt-4">
{t("generate_api_key")}
>
@@ -81,11 +81,11 @@ export default function ZapierSetup(props: IZapierSetupProps) {
-
{t("copy_safe_api_key")}
+
{t("copy_safe_api_key")}
>
)}
-
+
{isCalDev && (
{t("go_to")}
@@ -109,7 +109,7 @@ export default function ZapierSetup(props: IZapierSetupProps) {
) : (
-
+
{t("install_zapier_app")}
diff --git a/packages/app-store/zoho-bigin/README.md b/packages/app-store/zoho-bigin/README.md
index 11ddc9f3a2..72d80be8e6 100644
--- a/packages/app-store/zoho-bigin/README.md
+++ b/packages/app-store/zoho-bigin/README.md
@@ -1,9 +1,9 @@
### Obtaining Zoho Bigin Client ID and Secret
1. Open [Zoho API Console](https://api-console.zoho.com/) and sign into your account, or create a new one.
-2. Click "ADD CLIENT" button top right and select "Server-based Applications".
+2. Click "ADD CLIENT" button top right and select "Server-based Applications".
3. Set the Redirect URL for OAuth `
/api/integrations/zoho-bigin/callback` replacing Cal.com URL with the URI at which your application runs.
4. Go to tab "Client Secret" tab.
5. Now copy the Client ID and Client Secret to your .env.appStore file into the `ZOHO_BIGIN_CLIENT_ID` and `ZOHO_BIGIN_CLIENT_SECRET` fields.
-6. In the "Settings" section check the "Multi-DC" option if you wish to use the same OAuth credentials for all data centers.
+6. In the "Settings" section check the "Multi-DC" option if you wish to use the same OAuth credentials for all data centers.
7. You're good to go. Now you can easily add Zoho Bigin from the Cal.com app store.
diff --git a/packages/atoms/package.json b/packages/atoms/package.json
index c67e31af19..11de78770e 100644
--- a/packages/atoms/package.json
+++ b/packages/atoms/package.json
@@ -11,11 +11,11 @@
},
"devDependencies": {
"@rollup/plugin-node-resolve": "^15.0.1",
- "@types/react": "^18.0.25",
+ "@types/react": "18.0.26",
"@types/react-dom": "^18.0.9",
"@vitejs/plugin-react": "^2.2.0",
"rollup-plugin-node-builtins": "^2.1.2",
- "typescript": "^4.9.3",
+ "typescript": "^4.9.4",
"vite": "^4.1.2"
},
"main": "./index"
diff --git a/packages/config/package.json b/packages/config/package.json
index e7561183df..d5e92004df 100644
--- a/packages/config/package.json
+++ b/packages/config/package.json
@@ -31,7 +31,7 @@
"prettier": "^2.8.6",
"prettier-plugin-tailwindcss": "^0.2.5",
"tailwind-scrollbar": "^2.0.1",
- "tailwindcss": "^3.2.1",
+ "tailwindcss": "^3.3.1",
"typescript": "^4.9.4"
}
}
diff --git a/packages/emails/package.json b/packages/emails/package.json
index 3ab4363bd4..8327255745 100644
--- a/packages/emails/package.json
+++ b/packages/emails/package.json
@@ -9,7 +9,7 @@
"dependencies": {
"@calcom/dayjs": "*",
"@calcom/lib": "*",
- "next-i18next": "^11.3.0",
+ "next-i18next": "^13.2.2",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"rrule": "^2.7.1"
diff --git a/packages/embeds/README.md b/packages/embeds/README.md
index b02831d743..5af25a4846 100644
--- a/packages/embeds/README.md
+++ b/packages/embeds/README.md
@@ -8,9 +8,10 @@ This folder contains all the various flavours of embeds.
Please see the respective folder READMEs for details on them.
## Publishing to NPM. It will soon be automated using changesets github action
+
To publish the packages. Following steps should be followed. All commands are to be run at the root.
1. `yarn changeset` -> Creates changelog files and adds summary to changelog. Select embed packages only here.
2. `yarn changeset version` -> Bumps the versions as required
3. Get the PR reviewed and merged
-4. `yarn publish-embed` -> Releases all packages. We can't use `yarn changeset publish` because it doesn't support workspace: prefix removal yet. See https://github.com/changesets/changesets/issues/432#issuecomment-1016365428
\ No newline at end of file
+4. `yarn publish-embed` -> Releases all packages. We can't use `yarn changeset publish` because it doesn't support workspace: prefix removal yet. See https://github.com/changesets/changesets/issues/432#issuecomment-1016365428
diff --git a/packages/embeds/embed-core/package.json b/packages/embeds/embed-core/package.json
index 895b3b327f..41ea214e5b 100644
--- a/packages/embeds/embed-core/package.json
+++ b/packages/embeds/embed-core/package.json
@@ -48,7 +48,7 @@
"autoprefixer": "^10.4.12",
"npm-run-all": "^4.1.5",
"postcss": "^8.4.18",
- "tailwindcss": "^3.2.1",
+ "tailwindcss": "^3.3.1",
"typescript": "^4.9.4",
"vite": "^4.1.2"
}
diff --git a/packages/embeds/embed-react/package.json b/packages/embeds/embed-react/package.json
index d1516cba50..60099cdc02 100644
--- a/packages/embeds/embed-react/package.json
+++ b/packages/embeds/embed-react/package.json
@@ -45,8 +45,8 @@
"devDependencies": {
"@playwright/test": "^1.31.2",
"@types/react": "18.0.26",
- "@types/react-dom": "18.0.9",
- "@vitejs/plugin-react": "1.3.2",
+ "@types/react-dom": "^18.0.9",
+ "@vitejs/plugin-react": "^2.2.0",
"eslint": "^8.34.0",
"npm-run-all": "^4.1.5",
"typescript": "^4.9.4",
diff --git a/packages/embeds/embed-react/test/packaged/README.md b/packages/embeds/embed-react/test/packaged/README.md
index 89a929b4e0..86089ec986 100644
--- a/packages/embeds/embed-react/test/packaged/README.md
+++ b/packages/embeds/embed-react/test/packaged/README.md
@@ -1,5 +1,6 @@
# Packaged
The tests in this file are run on the packaged code that is published to npm. The packaged code is different from the source code in atleast the following ways
+
- Not all files go to packaged code.If package.json -> files field is specified then only the files that are specified there would be published. So, one might accidentally miss an important file that's available otherwise.
-- The packaged code doesn't have .ts files. Those files are actually converted to .js files and .d.ts files are generated separately for TypeScript support. It allows the package to work in both TypeScript and non TypeScript environments.
\ No newline at end of file
+- The packaged code doesn't have .ts files. Those files are actually converted to .js files and .d.ts files are generated separately for TypeScript support. It allows the package to work in both TypeScript and non TypeScript environments.
diff --git a/packages/features/apps/AdminAppsList.tsx b/packages/features/apps/AdminAppsList.tsx
index 210b1d9ce0..3289605a5a 100644
--- a/packages/features/apps/AdminAppsList.tsx
+++ b/packages/features/apps/AdminAppsList.tsx
@@ -333,7 +333,7 @@ export default AdminAppsList;
const SkeletonLoader = () => {
return (
-
+
diff --git a/packages/features/bookings/Booker/Booker.tsx b/packages/features/bookings/Booker/Booker.tsx
index 5a9af6f9b0..6f226d4e77 100644
--- a/packages/features/bookings/Booker/Booker.tsx
+++ b/packages/features/bookings/Booker/Booker.tsx
@@ -138,7 +138,7 @@ const BookerComponent = ({
@@ -222,7 +222,7 @@ const BookerComponent = ({
{!hideBranding ? : null}
diff --git a/packages/features/bookings/Booker/components/BookEventForm/BookEventForm.tsx b/packages/features/bookings/Booker/components/BookEventForm/BookEventForm.tsx
index 70a89d6bb8..8946d24485 100644
--- a/packages/features/bookings/Booker/components/BookEventForm/BookEventForm.tsx
+++ b/packages/features/bookings/Booker/components/BookEventForm/BookEventForm.tsx
@@ -1,11 +1,11 @@
import { zodResolver } from "@hookform/resolvers/zod";
import type { UseMutationResult } from "@tanstack/react-query";
import { useMutation } from "@tanstack/react-query";
+import type { TFunction } from "next-i18next";
import { useRouter } from "next/router";
import { useMemo, useRef } from "react";
import type { FieldError } from "react-hook-form";
import { useForm } from "react-hook-form";
-import type { TFunction } from "react-i18next";
import { z } from "zod";
import type { EventLocationType } from "@calcom/app-store/locations";
diff --git a/packages/features/bookings/Booker/components/EventMeta.tsx b/packages/features/bookings/Booker/components/EventMeta.tsx
index bb41d541d4..21ed7d5c4a 100644
--- a/packages/features/bookings/Booker/components/EventMeta.tsx
+++ b/packages/features/bookings/Booker/components/EventMeta.tsx
@@ -85,7 +85,7 @@ export const EventMeta = () => {
{bookerState === "booking" ? (
<>{timezone}>
) : (
-
+
+
{selectedDate.format("MMM D")}-{selectedDate.add(extraDays, "days").format("D")},{" "}
@@ -77,7 +77,7 @@ export function Header({
-
+
{/*
diff --git a/packages/features/bookings/components/event-meta/Locations.tsx b/packages/features/bookings/components/event-meta/Locations.tsx
index 2c5db9177b..2e6259c899 100644
--- a/packages/features/bookings/components/event-meta/Locations.tsx
+++ b/packages/features/bookings/components/event-meta/Locations.tsx
@@ -19,7 +19,7 @@ export const EventLocations = ({ event }: { event: PublicEvent }) => {
{locations.length > 1 && (
+ className="before:bg-subtle relative before:pointer-events-none before:absolute before:inset-0 before:bottom-[-5px] before:left-[-30px] before:top-[-5px] before:w-[calc(100%_+_35px)] before:rounded-md before:py-3 before:opacity-0 before:transition-opacity hover:before:opacity-100">
diff --git a/packages/features/bookings/components/event-meta/Occurences.tsx b/packages/features/bookings/components/event-meta/Occurences.tsx
index 2dbf758e8b..594529c74d 100644
--- a/packages/features/bookings/components/event-meta/Occurences.tsx
+++ b/packages/features/bookings/components/event-meta/Occurences.tsx
@@ -59,7 +59,7 @@ export const EventOccurences = ({ event }: { event: PublicEvent }) => {
{getRecurringFreq({ t, recurringEvent: event.recurringEvent })}
{
diff --git a/packages/features/calendars/DatePicker.tsx b/packages/features/calendars/DatePicker.tsx
index 2eb267b51a..5d201f0209 100644
--- a/packages/features/calendars/DatePicker.tsx
+++ b/packages/features/calendars/DatePicker.tsx
@@ -51,7 +51,7 @@ export const Day = ({
type="button"
style={disabled ? { ...disabledDateButtonEmbedStyles } : { ...enabledDateButtonEmbedStyles }}
className={classNames(
- "disabled:text-bookinglighter absolute top-0 left-0 right-0 bottom-0 mx-auto w-full rounded-md border-2 border-transparent text-center text-sm font-medium disabled:cursor-default disabled:border-transparent disabled:font-light ",
+ "disabled:text-bookinglighter absolute bottom-0 left-0 right-0 top-0 mx-auto w-full rounded-md border-2 border-transparent text-center text-sm font-medium disabled:cursor-default disabled:border-transparent disabled:font-light ",
active
? "bg-brand-default text-brand"
: !disabled
@@ -64,7 +64,7 @@ export const Day = ({
{...props}>
{date.date()}
{date.isToday() && (
-
+
{t("today")}
)}
@@ -82,7 +82,7 @@ const NoAvailabilityOverlay = ({
const { t } = useLocale();
return (
-
+
{t("no_availability_in_month", { month: month })}
{t("view_next_month")}
@@ -146,7 +146,7 @@ const Days = ({
) : props.isLoading ? (
@@ -235,7 +235,7 @@ const DatePicker = ({
-
+
{weekdayNames(locale, weekStart, "short").map((weekDay) => (
{weekDay}
diff --git a/packages/features/calendars/DestinationCalendarSelector.tsx b/packages/features/calendars/DestinationCalendarSelector.tsx
index e4f0eeb27d..adb392affb 100644
--- a/packages/features/calendars/DestinationCalendarSelector.tsx
+++ b/packages/features/calendars/DestinationCalendarSelector.tsx
@@ -151,7 +151,7 @@ const DestinationCalendarSelector = ({
}}
isSearchable={false}
className={classNames(
- "border-default mt-1 mb-2 block w-full min-w-0 flex-1 rounded-none rounded-r-sm text-sm"
+ "border-default mb-2 mt-1 block w-full min-w-0 flex-1 rounded-none rounded-r-sm text-sm"
)}
onChange={(newValue) => {
setSelectedOption(newValue);
diff --git a/packages/features/calendars/weeklyview/components/Calendar.tsx b/packages/features/calendars/weeklyview/components/Calendar.tsx
index ebf007f568..a3a8a84c21 100644
--- a/packages/features/calendars/weeklyview/components/Calendar.tsx
+++ b/packages/features/calendars/weeklyview/components/Calendar.tsx
@@ -64,7 +64,7 @@ export function Calendar(props: CalendarComponentProps) {
+ className="flex flex-1 flex-col items-center pb-3 pt-2">
{day.format("dd")}{" "}
15 && "items-start pt-3",
hoverEventDuration && hoverEventDuration < 15 && "items-center"
)}
diff --git a/packages/features/calendars/weeklyview/components/event/Event.tsx b/packages/features/calendars/weeklyview/components/event/Event.tsx
index 0205a57293..2b562798db 100644
--- a/packages/features/calendars/weeklyview/components/event/Event.tsx
+++ b/packages/features/calendars/weeklyview/components/event/Event.tsx
@@ -26,7 +26,7 @@ export function Event({
onEventClick?.(event)} // Note this is not the button event. It is the calendar event.
className={classNames(
- "group flex h-full w-full flex-col overflow-y-auto rounded-[4px] py-1 px-[6px] text-xs font-semibold leading-5 ",
+ "group flex h-full w-full flex-col overflow-y-auto rounded-[4px] px-[6px] py-1 text-xs font-semibold leading-5 ",
event.status === "ACCEPTED" &&
!selected &&
"bg-subtle hover:bg-emphasis text-emphasis border-[1px] border-gray-900",
diff --git a/packages/features/calendars/weeklyview/components/horizontalLines/index.tsx b/packages/features/calendars/weeklyview/components/horizontalLines/index.tsx
index a1865c5079..50f3e6e6cb 100644
--- a/packages/features/calendars/weeklyview/components/horizontalLines/index.tsx
+++ b/packages/features/calendars/weeklyview/components/horizontalLines/index.tsx
@@ -25,14 +25,14 @@ export const HorizontalLines = ({
{hours.map((hour) => (
-
+
{/* We need to force the minute to zero, because otherwise in ex GMT+5.5, it would show :30 minute times (but at the positino of :00) */}
{hour.minute(0).format(timeFormat)}
))}
-
diff --git a/packages/features/ee/api-keys/components/ApiKeyDialogForm.tsx b/packages/features/ee/api-keys/components/ApiKeyDialogForm.tsx
index d89949cddf..9ffc40242e 100644
--- a/packages/features/ee/api-keys/components/ApiKeyDialogForm.tsx
+++ b/packages/features/ee/api-keys/components/ApiKeyDialogForm.tsx
@@ -107,11 +107,11 @@ export default function ApiKeyDialogForm({
}
}}
className="space-y-4">
-
+
{defaultValues ? t("edit_api_key") : t("create_api_key")}
-
{t("api_key_modal_subtitle")}
+
{t("api_key_modal_subtitle")}
(
{label}>}>
-
+
diff --git a/packages/features/ee/organizations/pages/settings/appearance.tsx b/packages/features/ee/organizations/pages/settings/appearance.tsx
index da5d46a302..3b9137d623 100644
--- a/packages/features/ee/organizations/pages/settings/appearance.tsx
+++ b/packages/features/ee/organizations/pages/settings/appearance.tsx
@@ -24,7 +24,7 @@ const SkeletonLoader = ({ title, description }: { title: string; description: st
return (
-
+
diff --git a/packages/features/ee/organizations/pages/settings/general.tsx b/packages/features/ee/organizations/pages/settings/general.tsx
index 31462cf9df..7a876561bd 100644
--- a/packages/features/ee/organizations/pages/settings/general.tsx
+++ b/packages/features/ee/organizations/pages/settings/general.tsx
@@ -24,7 +24,7 @@ const SkeletonLoader = ({ title, description }: { title: string; description: st
return (
-
+
diff --git a/packages/features/ee/payments/components/Payment.tsx b/packages/features/ee/payments/components/Payment.tsx
index 52147577f6..1c98bfaaf6 100644
--- a/packages/features/ee/payments/components/Payment.tsx
+++ b/packages/features/ee/payments/components/Payment.tsx
@@ -100,7 +100,7 @@ const PaymentForm = (props: Props) => {
setState({ status: "idle" })} />
{paymentOption === "HOLD" && (
-
+
= (props) => {
-
+
= (props) => {
{paymentAppData.paymentOption === "HOLD" ? t("complete_your_booking") : t("payment")}
-
+
{t("what")}
{eventName}
{t("when")}
diff --git a/packages/features/ee/sso/components/OIDCConnection.tsx b/packages/features/ee/sso/components/OIDCConnection.tsx
index e33feb4736..fecd38f2ec 100644
--- a/packages/features/ee/sso/components/OIDCConnection.tsx
+++ b/packages/features/ee/sso/components/OIDCConnection.tsx
@@ -32,7 +32,7 @@ export default function OIDCConnection({
{!connection && (
-
+
setOpenModal(true)}>
{t("configure")}
@@ -92,7 +92,7 @@ const CreateConnectionDialog = ({
{t("sso_oidc_configuration_title")}
-
{t("sso_oidc_configuration_description")}
+
{t("sso_oidc_configuration_description")}
{!connection && (
-
+
setOpenModal(true)}>
Configure
@@ -86,7 +86,7 @@ const CreateConnectionDialog = ({
{t("sso_saml_configuration_title")}
-
{t("sso_saml_configuration_description")}
+
{t("sso_saml_configuration_description")}
{t("save")}
diff --git a/packages/features/ee/teams/components/MemberChangeRoleModal.tsx b/packages/features/ee/teams/components/MemberChangeRoleModal.tsx
index 951cae6602..69f29d782e 100644
--- a/packages/features/ee/teams/components/MemberChangeRoleModal.tsx
+++ b/packages/features/ee/teams/components/MemberChangeRoleModal.tsx
@@ -101,7 +101,7 @@ export default function MemberChangeRoleModal(props: {
)}
-
+
{t("save")}
diff --git a/packages/features/ee/teams/components/MemberInvitationModal.tsx b/packages/features/ee/teams/components/MemberInvitationModal.tsx
index 85985bc64a..21db9acde4 100644
--- a/packages/features/ee/teams/components/MemberInvitationModal.tsx
+++ b/packages/features/ee/teams/components/MemberInvitationModal.tsx
@@ -161,7 +161,7 @@ export default function MemberInvitationModal(props: MemberInvitationModalProps)
-
+
diff --git a/packages/features/ee/teams/components/TeamAvailabilityModal.tsx b/packages/features/ee/teams/components/TeamAvailabilityModal.tsx
index a4522a6ba1..0d9bb4b2a8 100644
--- a/packages/features/ee/teams/components/TeamAvailabilityModal.tsx
+++ b/packages/features/ee/teams/components/TeamAvailabilityModal.tsx
@@ -49,7 +49,7 @@ export default function TeamAvailabilityModal(props: Props) {
-
{t("availability")}
+
{t("availability")}
{t("accept")}
diff --git a/packages/features/ee/teams/pages/team-appearance-view.tsx b/packages/features/ee/teams/pages/team-appearance-view.tsx
index 8a5651d8f9..3bf3a0eda8 100644
--- a/packages/features/ee/teams/pages/team-appearance-view.tsx
+++ b/packages/features/ee/teams/pages/team-appearance-view.tsx
@@ -24,7 +24,7 @@ const SkeletonLoader = ({ title, description }: { title: string; description: st
return (
-
+
diff --git a/packages/features/ee/teams/pages/team-billing-view.tsx b/packages/features/ee/teams/pages/team-billing-view.tsx
index 598cd3eb2a..104e022e8d 100644
--- a/packages/features/ee/teams/pages/team-billing-view.tsx
+++ b/packages/features/ee/teams/pages/team-billing-view.tsx
@@ -20,7 +20,7 @@ const BillingView = () => {
{t("view_and_manage_billing_details")}
{t("view_and_edit_billing_details")}
-
+
{t("billing_portal")}
diff --git a/packages/features/ee/teams/pages/team-profile-view.tsx b/packages/features/ee/teams/pages/team-profile-view.tsx
index 438ef4512a..f9d52af683 100644
--- a/packages/features/ee/teams/pages/team-profile-view.tsx
+++ b/packages/features/ee/teams/pages/team-profile-view.tsx
@@ -250,7 +250,7 @@ const ProfileView = () => {
(team.metadata as Prisma.JsonObject)?.requestedSlug && (
{
publishMutation.mutate({ teamId: team.id });
diff --git a/packages/features/ee/users/pages/users-listing-view.tsx b/packages/features/ee/users/pages/users-listing-view.tsx
index 15dcb32021..5ddbc9d8e9 100644
--- a/packages/features/ee/users/pages/users-listing-view.tsx
+++ b/packages/features/ee/users/pages/users-listing-view.tsx
@@ -12,7 +12,7 @@ const DeploymentUsersListPage = () => {
title="Users"
description="A list of all the users in your account including their name, title, email and role."
CTA={
-
+
{/* TODO: Add import users functionality */}
{/*
Import users */}
Add user
diff --git a/packages/features/ee/workflows/components/AddActionDialog.tsx b/packages/features/ee/workflows/components/AddActionDialog.tsx
index a721abf46c..a981209a4a 100644
--- a/packages/features/ee/workflows/components/AddActionDialog.tsx
+++ b/packages/features/ee/workflows/components/AddActionDialog.tsx
@@ -168,7 +168,7 @@ export const AddActionDialog = (props: IAddActionDialog) => {
{isPhoneNumberNeeded && (
@@ -82,7 +82,7 @@ export default function EmptyScreen(props: {
{t("workflows")}
-
+
{t("no_workflows_description")}
diff --git a/packages/features/ee/workflows/components/SkeletonLoaderEdit.tsx b/packages/features/ee/workflows/components/SkeletonLoaderEdit.tsx
index edb4308be9..8442588db4 100644
--- a/packages/features/ee/workflows/components/SkeletonLoaderEdit.tsx
+++ b/packages/features/ee/workflows/components/SkeletonLoaderEdit.tsx
@@ -3,14 +3,14 @@ import { SkeletonContainer, SkeletonText } from "@calcom/ui";
function SkeletonLoader() {
return (
-
+
-
+
-
+
diff --git a/packages/features/ee/workflows/components/SkeletonLoaderEventWorkflowsTab.tsx b/packages/features/ee/workflows/components/SkeletonLoaderEventWorkflowsTab.tsx
index f7ef676b90..36c3321fb5 100644
--- a/packages/features/ee/workflows/components/SkeletonLoaderEventWorkflowsTab.tsx
+++ b/packages/features/ee/workflows/components/SkeletonLoaderEventWorkflowsTab.tsx
@@ -18,7 +18,7 @@ function SkeletonItem() {
-
+
diff --git a/packages/features/ee/workflows/components/SkeletonLoaderList.tsx b/packages/features/ee/workflows/components/SkeletonLoaderList.tsx
index 43ad47c66f..10fc326445 100644
--- a/packages/features/ee/workflows/components/SkeletonLoaderList.tsx
+++ b/packages/features/ee/workflows/components/SkeletonLoaderList.tsx
@@ -21,9 +21,9 @@ function SkeletonItem() {
diff --git a/packages/features/ee/workflows/components/WorkflowStepContainer.tsx b/packages/features/ee/workflows/components/WorkflowStepContainer.tsx
index 7068432dd2..28849d8d81 100644
--- a/packages/features/ee/workflows/components/WorkflowStepContainer.tsx
+++ b/packages/features/ee/workflows/components/WorkflowStepContainer.tsx
@@ -476,7 +476,7 @@ export default function WorkflowStepContainer(props: WorkflowStepProps) {
@@ -532,7 +532,7 @@ export default function WorkflowStepContainer(props: WorkflowStepProps) {
/>
{
verifyPhoneNumberMutation.mutate({
@@ -562,7 +562,7 @@ export default function WorkflowStepContainer(props: WorkflowStepProps) {
{t("sender_id")}
-
+
{t("how_booking_questions_as_variables")}
{t("format")}
-
+
{t("uppercase_for_letters")}
{t("replace_whitespaces_underscores")}
{t("ignore_special_characters_booking_questions")}
diff --git a/packages/features/ee/workflows/pages/workflow.tsx b/packages/features/ee/workflows/pages/workflow.tsx
index 6e148ed848..fb5868e431 100644
--- a/packages/features/ee/workflows/pages/workflow.tsx
+++ b/packages/features/ee/workflows/pages/workflow.tsx
@@ -270,12 +270,12 @@ function WorkflowPage() {
{workflow && workflow.name ? workflow.name : "untitled"}
{workflow && workflow.team && (
-
+
{workflow.team.slug}
)}
{readOnly && (
-
+
{t("readonly")}
)}
diff --git a/packages/features/eventtypes/components/BulkEditDefaultConferencingModal.tsx b/packages/features/eventtypes/components/BulkEditDefaultConferencingModal.tsx
index 99fd5a0543..3de43e692e 100644
--- a/packages/features/eventtypes/components/BulkEditDefaultConferencingModal.tsx
+++ b/packages/features/eventtypes/components/BulkEditDefaultConferencingModal.tsx
@@ -46,7 +46,7 @@ export function BulkEditDefaultConferencingModal(props: { open: boolean; setOpen
}}>
{data.eventTypes.length > 0 && (
-